├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── composer.json ├── package-lock.json ├── package.json ├── postcss.config.js ├── resources ├── css │ └── index.css ├── dist │ └── filament-focal-point-picker.css ├── lang │ ├── ar.json │ └── de.json └── views │ ├── .gitkeep │ └── forms │ └── components │ └── fields │ └── focal-point-picker.blade.php ├── src ├── FilamentFocalPointPickerServiceProvider.php └── Forms │ └── Components │ └── Fields │ └── FocalPointPicker.php └── tailwind.config.js /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to `filament-focal-point-picker` will be documented in this file. 4 | 5 | ## 0.1.0-beta.1 - 2022-03-21 6 | 7 | - initial release 8 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) johncarter 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 13 | all 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 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # An image focal point picker for Filament Admin. 3 | 4 | A custom field for [Filament Admin](https://github.com/laravel-filament/filament). The field allows you to save a position on an image to act as its focal point, or focus. This can be used with the CSS `object-position` property to crop images on different aspect ratios. 5 | 6 | The field returns a `string` with 2 percentages: distance from left, distance from top. e.g. `"17% 54%"`. 7 | 8 | ![](https://videoapi-muybridge.vimeocdn.com/animated-thumbnails/image/f888acf2-87a2-4ac5-95c4-eab9a80175ce.gif?ClientID=vimeo-core-prod&Date=1647882425&Signature=cce12ab8b760d269a1b3a3e1d88a60ff43b8bc6c) 9 | 10 | See this video for a demo: https://vimeo.com/690530672 11 | 12 | ## Installation 13 | 14 | You can install the package via composer: 15 | 16 | ```bash 17 | composer require johncarter/filament-focal-point-picker 18 | ``` 19 | 20 | Optionally, you can publish the views using 21 | 22 | ```bash 23 | php artisan vendor:publish --tag="filament-focal-point-picker-views" 24 | ``` 25 | 26 | ## Usage 27 | 28 | ```php 29 | FileUpload::make('my_image_field')->maxFiles(1), 30 | FocalPointPicker::make('focal_point') 31 | ->default('10% 25%') // default: "50% 50%" 32 | ->imageField('my_image_field') 33 | // Or, return an image url from a closure on the image() method 34 | // ->image(function() { 35 | // return 'https://www.example.com/images/image1.jpg' 36 | // }) 37 | ``` 38 | 39 | Then in your blade template: 40 | ```twig 41 |
42 | 43 |
44 | ``` 45 | 46 | ## Changelog 47 | 48 | Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently. 49 | 50 | ## Contributing 51 | 52 | Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details. 53 | 54 | ## Security Vulnerabilities 55 | 56 | Please review [our security policy](../../security/policy) on how to report security vulnerabilities. 57 | 58 | ## Credits 59 | 60 | - [John Carter](https://github.com/johncarter) 61 | - [All Contributors](../../contributors) 62 | 63 | ## License 64 | 65 | The MIT License (MIT). Please see [License File](LICENSE.md) for more information. 66 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "johncarter/filament-focal-point-picker", 3 | "description": "An image focal point picker for Filament Admin.", 4 | "keywords": [ 5 | "johncarter", 6 | "laravel", 7 | "filament-focal-point-picker" 8 | ], 9 | "homepage": "https://github.com/johncarter/filament-focal-point-picker", 10 | "license": "MIT", 11 | "authors": [ 12 | { 13 | "name": "John Carter", 14 | "email": "john@johncarter.co.uk", 15 | "role": "Developer" 16 | } 17 | ], 18 | "require": { 19 | "php": "^8.2", 20 | "filament/filament": "^3.0", 21 | "spatie/laravel-package-tools": "^1.9.2", 22 | "illuminate/contracts": "^8.0|^9.0|^10.0|^11.0|^12.0" 23 | }, 24 | "require-dev": { 25 | "nunomaduro/collision": "^8.0", 26 | "phpunit/phpunit": "^10.0", 27 | "spatie/laravel-ray": "^1.26" 28 | }, 29 | "autoload": { 30 | "psr-4": { 31 | "Johncarter\\FilamentFocalPointPicker\\": "src" 32 | } 33 | }, 34 | "scripts": [], 35 | "config": { 36 | "sort-packages": true 37 | }, 38 | "extra": { 39 | "laravel": { 40 | "providers": [ 41 | "Johncarter\\FilamentFocalPointPicker\\FilamentFocalPointPickerServiceProvider" 42 | ] 43 | } 44 | }, 45 | "minimum-stability": "dev", 46 | "prefer-stable": true 47 | } 48 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "filament-focal-point-picker", 3 | "lockfileVersion": 2, 4 | "requires": true, 5 | "packages": { 6 | "": { 7 | "devDependencies": { 8 | "@awcodes/filament-plugin-purge": "^1.1.1", 9 | "@tailwindcss/forms": "^0.5.4", 10 | "@tailwindcss/typography": "^0.5.9", 11 | "autoprefixer": "^10.4.14", 12 | "postcss": "^8.4.26", 13 | "postcss-import": "^15.1.0", 14 | "prettier": "^2.7.1", 15 | "prettier-plugin-tailwindcss": "^0.1.13", 16 | "tailwindcss": "^3.3.3" 17 | } 18 | }, 19 | "node_modules/@alloc/quick-lru": { 20 | "version": "5.2.0", 21 | "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", 22 | "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 23 | "dev": true, 24 | "engines": { 25 | "node": ">=10" 26 | }, 27 | "funding": { 28 | "url": "https://github.com/sponsors/sindresorhus" 29 | } 30 | }, 31 | "node_modules/@awcodes/filament-plugin-purge": { 32 | "version": "1.1.2", 33 | "resolved": "https://registry.npmjs.org/@awcodes/filament-plugin-purge/-/filament-plugin-purge-1.1.2.tgz", 34 | "integrity": "sha512-eFFGA3IPSya8ldUQWUMHk5HxidU/XnL3fEGIdX6Lza/bz4U7hgOdGT64CxLKbhEF1eFJbM7hFsxAfrfZm85x5g==", 35 | "dev": true, 36 | "dependencies": { 37 | "axios": "^1.4.0", 38 | "chalk": "^5.0.1", 39 | "css-tree": "^2.2.1", 40 | "ora": "^6.1.2" 41 | }, 42 | "bin": { 43 | "filament-purge": "filament-purge.js" 44 | } 45 | }, 46 | "node_modules/@isaacs/cliui": { 47 | "version": "8.0.2", 48 | "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", 49 | "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", 50 | "dev": true, 51 | "dependencies": { 52 | "string-width": "^5.1.2", 53 | "string-width-cjs": "npm:string-width@^4.2.0", 54 | "strip-ansi": "^7.0.1", 55 | "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", 56 | "wrap-ansi": "^8.1.0", 57 | "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" 58 | }, 59 | "engines": { 60 | "node": ">=12" 61 | } 62 | }, 63 | "node_modules/@jridgewell/gen-mapping": { 64 | "version": "0.3.5", 65 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", 66 | "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", 67 | "dev": true, 68 | "dependencies": { 69 | "@jridgewell/set-array": "^1.2.1", 70 | "@jridgewell/sourcemap-codec": "^1.4.10", 71 | "@jridgewell/trace-mapping": "^0.3.24" 72 | }, 73 | "engines": { 74 | "node": ">=6.0.0" 75 | } 76 | }, 77 | "node_modules/@jridgewell/resolve-uri": { 78 | "version": "3.1.2", 79 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 80 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 81 | "dev": true, 82 | "engines": { 83 | "node": ">=6.0.0" 84 | } 85 | }, 86 | "node_modules/@jridgewell/set-array": { 87 | "version": "1.2.1", 88 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 89 | "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 90 | "dev": true, 91 | "engines": { 92 | "node": ">=6.0.0" 93 | } 94 | }, 95 | "node_modules/@jridgewell/sourcemap-codec": { 96 | "version": "1.4.15", 97 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 98 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", 99 | "dev": true 100 | }, 101 | "node_modules/@jridgewell/trace-mapping": { 102 | "version": "0.3.25", 103 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 104 | "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 105 | "dev": true, 106 | "dependencies": { 107 | "@jridgewell/resolve-uri": "^3.1.0", 108 | "@jridgewell/sourcemap-codec": "^1.4.14" 109 | } 110 | }, 111 | "node_modules/@nodelib/fs.scandir": { 112 | "version": "2.1.5", 113 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 114 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 115 | "dev": true, 116 | "dependencies": { 117 | "@nodelib/fs.stat": "2.0.5", 118 | "run-parallel": "^1.1.9" 119 | }, 120 | "engines": { 121 | "node": ">= 8" 122 | } 123 | }, 124 | "node_modules/@nodelib/fs.stat": { 125 | "version": "2.0.5", 126 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 127 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 128 | "dev": true, 129 | "engines": { 130 | "node": ">= 8" 131 | } 132 | }, 133 | "node_modules/@nodelib/fs.walk": { 134 | "version": "1.2.8", 135 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 136 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 137 | "dev": true, 138 | "dependencies": { 139 | "@nodelib/fs.scandir": "2.1.5", 140 | "fastq": "^1.6.0" 141 | }, 142 | "engines": { 143 | "node": ">= 8" 144 | } 145 | }, 146 | "node_modules/@pkgjs/parseargs": { 147 | "version": "0.11.0", 148 | "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", 149 | "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", 150 | "dev": true, 151 | "optional": true, 152 | "engines": { 153 | "node": ">=14" 154 | } 155 | }, 156 | "node_modules/@tailwindcss/forms": { 157 | "version": "0.5.7", 158 | "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.7.tgz", 159 | "integrity": "sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==", 160 | "dev": true, 161 | "dependencies": { 162 | "mini-svg-data-uri": "^1.2.3" 163 | }, 164 | "peerDependencies": { 165 | "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" 166 | } 167 | }, 168 | "node_modules/@tailwindcss/typography": { 169 | "version": "0.5.12", 170 | "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.12.tgz", 171 | "integrity": "sha512-CNwpBpconcP7ppxmuq3qvaCxiRWnbhANpY/ruH4L5qs2GCiVDJXde/pjj2HWPV1+Q4G9+V/etrwUYopdcjAlyg==", 172 | "dev": true, 173 | "dependencies": { 174 | "lodash.castarray": "^4.4.0", 175 | "lodash.isplainobject": "^4.0.6", 176 | "lodash.merge": "^4.6.2", 177 | "postcss-selector-parser": "6.0.10" 178 | }, 179 | "peerDependencies": { 180 | "tailwindcss": ">=3.0.0 || insiders" 181 | } 182 | }, 183 | "node_modules/ansi-regex": { 184 | "version": "6.0.1", 185 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", 186 | "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", 187 | "dev": true, 188 | "engines": { 189 | "node": ">=12" 190 | }, 191 | "funding": { 192 | "url": "https://github.com/chalk/ansi-regex?sponsor=1" 193 | } 194 | }, 195 | "node_modules/ansi-styles": { 196 | "version": "6.2.1", 197 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 198 | "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 199 | "dev": true, 200 | "engines": { 201 | "node": ">=12" 202 | }, 203 | "funding": { 204 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 205 | } 206 | }, 207 | "node_modules/any-promise": { 208 | "version": "1.3.0", 209 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 210 | "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", 211 | "dev": true 212 | }, 213 | "node_modules/anymatch": { 214 | "version": "3.1.3", 215 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 216 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 217 | "dev": true, 218 | "dependencies": { 219 | "normalize-path": "^3.0.0", 220 | "picomatch": "^2.0.4" 221 | }, 222 | "engines": { 223 | "node": ">= 8" 224 | } 225 | }, 226 | "node_modules/arg": { 227 | "version": "5.0.2", 228 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 229 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", 230 | "dev": true 231 | }, 232 | "node_modules/asynckit": { 233 | "version": "0.4.0", 234 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 235 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", 236 | "dev": true 237 | }, 238 | "node_modules/autoprefixer": { 239 | "version": "10.4.19", 240 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", 241 | "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", 242 | "dev": true, 243 | "funding": [ 244 | { 245 | "type": "opencollective", 246 | "url": "https://opencollective.com/postcss/" 247 | }, 248 | { 249 | "type": "tidelift", 250 | "url": "https://tidelift.com/funding/github/npm/autoprefixer" 251 | }, 252 | { 253 | "type": "github", 254 | "url": "https://github.com/sponsors/ai" 255 | } 256 | ], 257 | "dependencies": { 258 | "browserslist": "^4.23.0", 259 | "caniuse-lite": "^1.0.30001599", 260 | "fraction.js": "^4.3.7", 261 | "normalize-range": "^0.1.2", 262 | "picocolors": "^1.0.0", 263 | "postcss-value-parser": "^4.2.0" 264 | }, 265 | "bin": { 266 | "autoprefixer": "bin/autoprefixer" 267 | }, 268 | "engines": { 269 | "node": "^10 || ^12 || >=14" 270 | }, 271 | "peerDependencies": { 272 | "postcss": "^8.1.0" 273 | } 274 | }, 275 | "node_modules/axios": { 276 | "version": "1.6.8", 277 | "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", 278 | "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", 279 | "dev": true, 280 | "dependencies": { 281 | "follow-redirects": "^1.15.6", 282 | "form-data": "^4.0.0", 283 | "proxy-from-env": "^1.1.0" 284 | } 285 | }, 286 | "node_modules/balanced-match": { 287 | "version": "1.0.2", 288 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 289 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 290 | "dev": true 291 | }, 292 | "node_modules/base64-js": { 293 | "version": "1.5.1", 294 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 295 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 296 | "dev": true, 297 | "funding": [ 298 | { 299 | "type": "github", 300 | "url": "https://github.com/sponsors/feross" 301 | }, 302 | { 303 | "type": "patreon", 304 | "url": "https://www.patreon.com/feross" 305 | }, 306 | { 307 | "type": "consulting", 308 | "url": "https://feross.org/support" 309 | } 310 | ] 311 | }, 312 | "node_modules/binary-extensions": { 313 | "version": "2.3.0", 314 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", 315 | "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", 316 | "dev": true, 317 | "engines": { 318 | "node": ">=8" 319 | }, 320 | "funding": { 321 | "url": "https://github.com/sponsors/sindresorhus" 322 | } 323 | }, 324 | "node_modules/bl": { 325 | "version": "5.1.0", 326 | "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", 327 | "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", 328 | "dev": true, 329 | "dependencies": { 330 | "buffer": "^6.0.3", 331 | "inherits": "^2.0.4", 332 | "readable-stream": "^3.4.0" 333 | } 334 | }, 335 | "node_modules/brace-expansion": { 336 | "version": "2.0.1", 337 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 338 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 339 | "dev": true, 340 | "dependencies": { 341 | "balanced-match": "^1.0.0" 342 | } 343 | }, 344 | "node_modules/braces": { 345 | "version": "3.0.2", 346 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 347 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 348 | "dev": true, 349 | "dependencies": { 350 | "fill-range": "^7.0.1" 351 | }, 352 | "engines": { 353 | "node": ">=8" 354 | } 355 | }, 356 | "node_modules/browserslist": { 357 | "version": "4.23.0", 358 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", 359 | "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", 360 | "dev": true, 361 | "funding": [ 362 | { 363 | "type": "opencollective", 364 | "url": "https://opencollective.com/browserslist" 365 | }, 366 | { 367 | "type": "tidelift", 368 | "url": "https://tidelift.com/funding/github/npm/browserslist" 369 | }, 370 | { 371 | "type": "github", 372 | "url": "https://github.com/sponsors/ai" 373 | } 374 | ], 375 | "dependencies": { 376 | "caniuse-lite": "^1.0.30001587", 377 | "electron-to-chromium": "^1.4.668", 378 | "node-releases": "^2.0.14", 379 | "update-browserslist-db": "^1.0.13" 380 | }, 381 | "bin": { 382 | "browserslist": "cli.js" 383 | }, 384 | "engines": { 385 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 386 | } 387 | }, 388 | "node_modules/buffer": { 389 | "version": "6.0.3", 390 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", 391 | "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", 392 | "dev": true, 393 | "funding": [ 394 | { 395 | "type": "github", 396 | "url": "https://github.com/sponsors/feross" 397 | }, 398 | { 399 | "type": "patreon", 400 | "url": "https://www.patreon.com/feross" 401 | }, 402 | { 403 | "type": "consulting", 404 | "url": "https://feross.org/support" 405 | } 406 | ], 407 | "dependencies": { 408 | "base64-js": "^1.3.1", 409 | "ieee754": "^1.2.1" 410 | } 411 | }, 412 | "node_modules/camelcase-css": { 413 | "version": "2.0.1", 414 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 415 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 416 | "dev": true, 417 | "engines": { 418 | "node": ">= 6" 419 | } 420 | }, 421 | "node_modules/caniuse-lite": { 422 | "version": "1.0.30001605", 423 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001605.tgz", 424 | "integrity": "sha512-nXwGlFWo34uliI9z3n6Qc0wZaf7zaZWA1CPZ169La5mV3I/gem7bst0vr5XQH5TJXZIMfDeZyOrZnSlVzKxxHQ==", 425 | "dev": true, 426 | "funding": [ 427 | { 428 | "type": "opencollective", 429 | "url": "https://opencollective.com/browserslist" 430 | }, 431 | { 432 | "type": "tidelift", 433 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 434 | }, 435 | { 436 | "type": "github", 437 | "url": "https://github.com/sponsors/ai" 438 | } 439 | ] 440 | }, 441 | "node_modules/chalk": { 442 | "version": "5.3.0", 443 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", 444 | "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", 445 | "dev": true, 446 | "engines": { 447 | "node": "^12.17.0 || ^14.13 || >=16.0.0" 448 | }, 449 | "funding": { 450 | "url": "https://github.com/chalk/chalk?sponsor=1" 451 | } 452 | }, 453 | "node_modules/chokidar": { 454 | "version": "3.6.0", 455 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", 456 | "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", 457 | "dev": true, 458 | "dependencies": { 459 | "anymatch": "~3.1.2", 460 | "braces": "~3.0.2", 461 | "glob-parent": "~5.1.2", 462 | "is-binary-path": "~2.1.0", 463 | "is-glob": "~4.0.1", 464 | "normalize-path": "~3.0.0", 465 | "readdirp": "~3.6.0" 466 | }, 467 | "engines": { 468 | "node": ">= 8.10.0" 469 | }, 470 | "funding": { 471 | "url": "https://paulmillr.com/funding/" 472 | }, 473 | "optionalDependencies": { 474 | "fsevents": "~2.3.2" 475 | } 476 | }, 477 | "node_modules/chokidar/node_modules/glob-parent": { 478 | "version": "5.1.2", 479 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 480 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 481 | "dev": true, 482 | "dependencies": { 483 | "is-glob": "^4.0.1" 484 | }, 485 | "engines": { 486 | "node": ">= 6" 487 | } 488 | }, 489 | "node_modules/cli-cursor": { 490 | "version": "4.0.0", 491 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", 492 | "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", 493 | "dev": true, 494 | "dependencies": { 495 | "restore-cursor": "^4.0.0" 496 | }, 497 | "engines": { 498 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 499 | }, 500 | "funding": { 501 | "url": "https://github.com/sponsors/sindresorhus" 502 | } 503 | }, 504 | "node_modules/cli-spinners": { 505 | "version": "2.9.2", 506 | "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", 507 | "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", 508 | "dev": true, 509 | "engines": { 510 | "node": ">=6" 511 | }, 512 | "funding": { 513 | "url": "https://github.com/sponsors/sindresorhus" 514 | } 515 | }, 516 | "node_modules/clone": { 517 | "version": "1.0.4", 518 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", 519 | "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", 520 | "dev": true, 521 | "engines": { 522 | "node": ">=0.8" 523 | } 524 | }, 525 | "node_modules/color-convert": { 526 | "version": "2.0.1", 527 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 528 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 529 | "dev": true, 530 | "dependencies": { 531 | "color-name": "~1.1.4" 532 | }, 533 | "engines": { 534 | "node": ">=7.0.0" 535 | } 536 | }, 537 | "node_modules/color-name": { 538 | "version": "1.1.4", 539 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 540 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 541 | "dev": true 542 | }, 543 | "node_modules/combined-stream": { 544 | "version": "1.0.8", 545 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 546 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 547 | "dev": true, 548 | "dependencies": { 549 | "delayed-stream": "~1.0.0" 550 | }, 551 | "engines": { 552 | "node": ">= 0.8" 553 | } 554 | }, 555 | "node_modules/commander": { 556 | "version": "4.1.1", 557 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 558 | "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 559 | "dev": true, 560 | "engines": { 561 | "node": ">= 6" 562 | } 563 | }, 564 | "node_modules/cross-spawn": { 565 | "version": "7.0.3", 566 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 567 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 568 | "dev": true, 569 | "dependencies": { 570 | "path-key": "^3.1.0", 571 | "shebang-command": "^2.0.0", 572 | "which": "^2.0.1" 573 | }, 574 | "engines": { 575 | "node": ">= 8" 576 | } 577 | }, 578 | "node_modules/css-tree": { 579 | "version": "2.3.1", 580 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", 581 | "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", 582 | "dev": true, 583 | "dependencies": { 584 | "mdn-data": "2.0.30", 585 | "source-map-js": "^1.0.1" 586 | }, 587 | "engines": { 588 | "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" 589 | } 590 | }, 591 | "node_modules/cssesc": { 592 | "version": "3.0.0", 593 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 594 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 595 | "dev": true, 596 | "bin": { 597 | "cssesc": "bin/cssesc" 598 | }, 599 | "engines": { 600 | "node": ">=4" 601 | } 602 | }, 603 | "node_modules/defaults": { 604 | "version": "1.0.4", 605 | "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", 606 | "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", 607 | "dev": true, 608 | "dependencies": { 609 | "clone": "^1.0.2" 610 | }, 611 | "funding": { 612 | "url": "https://github.com/sponsors/sindresorhus" 613 | } 614 | }, 615 | "node_modules/delayed-stream": { 616 | "version": "1.0.0", 617 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 618 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", 619 | "dev": true, 620 | "engines": { 621 | "node": ">=0.4.0" 622 | } 623 | }, 624 | "node_modules/didyoumean": { 625 | "version": "1.2.2", 626 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 627 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", 628 | "dev": true 629 | }, 630 | "node_modules/dlv": { 631 | "version": "1.1.3", 632 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 633 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", 634 | "dev": true 635 | }, 636 | "node_modules/eastasianwidth": { 637 | "version": "0.2.0", 638 | "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 639 | "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", 640 | "dev": true 641 | }, 642 | "node_modules/electron-to-chromium": { 643 | "version": "1.4.726", 644 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.726.tgz", 645 | "integrity": "sha512-xtjfBXn53RORwkbyKvDfTajtnTp0OJoPOIBzXvkNbb7+YYvCHJflba3L7Txyx/6Fov3ov2bGPr/n5MTixmPhdQ==", 646 | "dev": true 647 | }, 648 | "node_modules/emoji-regex": { 649 | "version": "9.2.2", 650 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 651 | "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 652 | "dev": true 653 | }, 654 | "node_modules/escalade": { 655 | "version": "3.1.2", 656 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", 657 | "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", 658 | "dev": true, 659 | "engines": { 660 | "node": ">=6" 661 | } 662 | }, 663 | "node_modules/fast-glob": { 664 | "version": "3.3.2", 665 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", 666 | "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", 667 | "dev": true, 668 | "dependencies": { 669 | "@nodelib/fs.stat": "^2.0.2", 670 | "@nodelib/fs.walk": "^1.2.3", 671 | "glob-parent": "^5.1.2", 672 | "merge2": "^1.3.0", 673 | "micromatch": "^4.0.4" 674 | }, 675 | "engines": { 676 | "node": ">=8.6.0" 677 | } 678 | }, 679 | "node_modules/fast-glob/node_modules/glob-parent": { 680 | "version": "5.1.2", 681 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 682 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 683 | "dev": true, 684 | "dependencies": { 685 | "is-glob": "^4.0.1" 686 | }, 687 | "engines": { 688 | "node": ">= 6" 689 | } 690 | }, 691 | "node_modules/fastq": { 692 | "version": "1.17.1", 693 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", 694 | "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", 695 | "dev": true, 696 | "dependencies": { 697 | "reusify": "^1.0.4" 698 | } 699 | }, 700 | "node_modules/fill-range": { 701 | "version": "7.0.1", 702 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 703 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 704 | "dev": true, 705 | "dependencies": { 706 | "to-regex-range": "^5.0.1" 707 | }, 708 | "engines": { 709 | "node": ">=8" 710 | } 711 | }, 712 | "node_modules/follow-redirects": { 713 | "version": "1.15.6", 714 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", 715 | "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", 716 | "dev": true, 717 | "funding": [ 718 | { 719 | "type": "individual", 720 | "url": "https://github.com/sponsors/RubenVerborgh" 721 | } 722 | ], 723 | "engines": { 724 | "node": ">=4.0" 725 | }, 726 | "peerDependenciesMeta": { 727 | "debug": { 728 | "optional": true 729 | } 730 | } 731 | }, 732 | "node_modules/foreground-child": { 733 | "version": "3.1.1", 734 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", 735 | "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", 736 | "dev": true, 737 | "dependencies": { 738 | "cross-spawn": "^7.0.0", 739 | "signal-exit": "^4.0.1" 740 | }, 741 | "engines": { 742 | "node": ">=14" 743 | }, 744 | "funding": { 745 | "url": "https://github.com/sponsors/isaacs" 746 | } 747 | }, 748 | "node_modules/foreground-child/node_modules/signal-exit": { 749 | "version": "4.1.0", 750 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 751 | "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 752 | "dev": true, 753 | "engines": { 754 | "node": ">=14" 755 | }, 756 | "funding": { 757 | "url": "https://github.com/sponsors/isaacs" 758 | } 759 | }, 760 | "node_modules/form-data": { 761 | "version": "4.0.0", 762 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 763 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 764 | "dev": true, 765 | "dependencies": { 766 | "asynckit": "^0.4.0", 767 | "combined-stream": "^1.0.8", 768 | "mime-types": "^2.1.12" 769 | }, 770 | "engines": { 771 | "node": ">= 6" 772 | } 773 | }, 774 | "node_modules/fraction.js": { 775 | "version": "4.3.7", 776 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", 777 | "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", 778 | "dev": true, 779 | "engines": { 780 | "node": "*" 781 | }, 782 | "funding": { 783 | "type": "patreon", 784 | "url": "https://github.com/sponsors/rawify" 785 | } 786 | }, 787 | "node_modules/fsevents": { 788 | "version": "2.3.3", 789 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 790 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 791 | "dev": true, 792 | "hasInstallScript": true, 793 | "optional": true, 794 | "os": [ 795 | "darwin" 796 | ], 797 | "engines": { 798 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 799 | } 800 | }, 801 | "node_modules/function-bind": { 802 | "version": "1.1.2", 803 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 804 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 805 | "dev": true, 806 | "funding": { 807 | "url": "https://github.com/sponsors/ljharb" 808 | } 809 | }, 810 | "node_modules/glob": { 811 | "version": "10.3.12", 812 | "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", 813 | "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", 814 | "dev": true, 815 | "dependencies": { 816 | "foreground-child": "^3.1.0", 817 | "jackspeak": "^2.3.6", 818 | "minimatch": "^9.0.1", 819 | "minipass": "^7.0.4", 820 | "path-scurry": "^1.10.2" 821 | }, 822 | "bin": { 823 | "glob": "dist/esm/bin.mjs" 824 | }, 825 | "engines": { 826 | "node": ">=16 || 14 >=14.17" 827 | }, 828 | "funding": { 829 | "url": "https://github.com/sponsors/isaacs" 830 | } 831 | }, 832 | "node_modules/glob-parent": { 833 | "version": "6.0.2", 834 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 835 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 836 | "dev": true, 837 | "dependencies": { 838 | "is-glob": "^4.0.3" 839 | }, 840 | "engines": { 841 | "node": ">=10.13.0" 842 | } 843 | }, 844 | "node_modules/hasown": { 845 | "version": "2.0.2", 846 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 847 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 848 | "dev": true, 849 | "dependencies": { 850 | "function-bind": "^1.1.2" 851 | }, 852 | "engines": { 853 | "node": ">= 0.4" 854 | } 855 | }, 856 | "node_modules/ieee754": { 857 | "version": "1.2.1", 858 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 859 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 860 | "dev": true, 861 | "funding": [ 862 | { 863 | "type": "github", 864 | "url": "https://github.com/sponsors/feross" 865 | }, 866 | { 867 | "type": "patreon", 868 | "url": "https://www.patreon.com/feross" 869 | }, 870 | { 871 | "type": "consulting", 872 | "url": "https://feross.org/support" 873 | } 874 | ] 875 | }, 876 | "node_modules/inherits": { 877 | "version": "2.0.4", 878 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 879 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 880 | "dev": true 881 | }, 882 | "node_modules/is-binary-path": { 883 | "version": "2.1.0", 884 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 885 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 886 | "dev": true, 887 | "dependencies": { 888 | "binary-extensions": "^2.0.0" 889 | }, 890 | "engines": { 891 | "node": ">=8" 892 | } 893 | }, 894 | "node_modules/is-core-module": { 895 | "version": "2.13.1", 896 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", 897 | "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", 898 | "dev": true, 899 | "dependencies": { 900 | "hasown": "^2.0.0" 901 | }, 902 | "funding": { 903 | "url": "https://github.com/sponsors/ljharb" 904 | } 905 | }, 906 | "node_modules/is-extglob": { 907 | "version": "2.1.1", 908 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 909 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 910 | "dev": true, 911 | "engines": { 912 | "node": ">=0.10.0" 913 | } 914 | }, 915 | "node_modules/is-fullwidth-code-point": { 916 | "version": "3.0.0", 917 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 918 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 919 | "dev": true, 920 | "engines": { 921 | "node": ">=8" 922 | } 923 | }, 924 | "node_modules/is-glob": { 925 | "version": "4.0.3", 926 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 927 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 928 | "dev": true, 929 | "dependencies": { 930 | "is-extglob": "^2.1.1" 931 | }, 932 | "engines": { 933 | "node": ">=0.10.0" 934 | } 935 | }, 936 | "node_modules/is-interactive": { 937 | "version": "2.0.0", 938 | "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", 939 | "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", 940 | "dev": true, 941 | "engines": { 942 | "node": ">=12" 943 | }, 944 | "funding": { 945 | "url": "https://github.com/sponsors/sindresorhus" 946 | } 947 | }, 948 | "node_modules/is-number": { 949 | "version": "7.0.0", 950 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 951 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 952 | "dev": true, 953 | "engines": { 954 | "node": ">=0.12.0" 955 | } 956 | }, 957 | "node_modules/is-unicode-supported": { 958 | "version": "1.3.0", 959 | "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", 960 | "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", 961 | "dev": true, 962 | "engines": { 963 | "node": ">=12" 964 | }, 965 | "funding": { 966 | "url": "https://github.com/sponsors/sindresorhus" 967 | } 968 | }, 969 | "node_modules/isexe": { 970 | "version": "2.0.0", 971 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 972 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 973 | "dev": true 974 | }, 975 | "node_modules/jackspeak": { 976 | "version": "2.3.6", 977 | "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", 978 | "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", 979 | "dev": true, 980 | "dependencies": { 981 | "@isaacs/cliui": "^8.0.2" 982 | }, 983 | "engines": { 984 | "node": ">=14" 985 | }, 986 | "funding": { 987 | "url": "https://github.com/sponsors/isaacs" 988 | }, 989 | "optionalDependencies": { 990 | "@pkgjs/parseargs": "^0.11.0" 991 | } 992 | }, 993 | "node_modules/jiti": { 994 | "version": "1.21.0", 995 | "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", 996 | "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", 997 | "dev": true, 998 | "bin": { 999 | "jiti": "bin/jiti.js" 1000 | } 1001 | }, 1002 | "node_modules/lilconfig": { 1003 | "version": "2.1.0", 1004 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", 1005 | "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", 1006 | "dev": true, 1007 | "engines": { 1008 | "node": ">=10" 1009 | } 1010 | }, 1011 | "node_modules/lines-and-columns": { 1012 | "version": "1.2.4", 1013 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 1014 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 1015 | "dev": true 1016 | }, 1017 | "node_modules/lodash.castarray": { 1018 | "version": "4.4.0", 1019 | "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", 1020 | "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", 1021 | "dev": true 1022 | }, 1023 | "node_modules/lodash.isplainobject": { 1024 | "version": "4.0.6", 1025 | "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", 1026 | "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", 1027 | "dev": true 1028 | }, 1029 | "node_modules/lodash.merge": { 1030 | "version": "4.6.2", 1031 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 1032 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 1033 | "dev": true 1034 | }, 1035 | "node_modules/log-symbols": { 1036 | "version": "5.1.0", 1037 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", 1038 | "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", 1039 | "dev": true, 1040 | "dependencies": { 1041 | "chalk": "^5.0.0", 1042 | "is-unicode-supported": "^1.1.0" 1043 | }, 1044 | "engines": { 1045 | "node": ">=12" 1046 | }, 1047 | "funding": { 1048 | "url": "https://github.com/sponsors/sindresorhus" 1049 | } 1050 | }, 1051 | "node_modules/lru-cache": { 1052 | "version": "10.2.0", 1053 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", 1054 | "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", 1055 | "dev": true, 1056 | "engines": { 1057 | "node": "14 || >=16.14" 1058 | } 1059 | }, 1060 | "node_modules/mdn-data": { 1061 | "version": "2.0.30", 1062 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", 1063 | "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", 1064 | "dev": true 1065 | }, 1066 | "node_modules/merge2": { 1067 | "version": "1.4.1", 1068 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1069 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1070 | "dev": true, 1071 | "engines": { 1072 | "node": ">= 8" 1073 | } 1074 | }, 1075 | "node_modules/micromatch": { 1076 | "version": "4.0.5", 1077 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 1078 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 1079 | "dev": true, 1080 | "dependencies": { 1081 | "braces": "^3.0.2", 1082 | "picomatch": "^2.3.1" 1083 | }, 1084 | "engines": { 1085 | "node": ">=8.6" 1086 | } 1087 | }, 1088 | "node_modules/mime-db": { 1089 | "version": "1.52.0", 1090 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 1091 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 1092 | "dev": true, 1093 | "engines": { 1094 | "node": ">= 0.6" 1095 | } 1096 | }, 1097 | "node_modules/mime-types": { 1098 | "version": "2.1.35", 1099 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 1100 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 1101 | "dev": true, 1102 | "dependencies": { 1103 | "mime-db": "1.52.0" 1104 | }, 1105 | "engines": { 1106 | "node": ">= 0.6" 1107 | } 1108 | }, 1109 | "node_modules/mimic-fn": { 1110 | "version": "2.1.0", 1111 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 1112 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 1113 | "dev": true, 1114 | "engines": { 1115 | "node": ">=6" 1116 | } 1117 | }, 1118 | "node_modules/mini-svg-data-uri": { 1119 | "version": "1.4.4", 1120 | "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", 1121 | "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", 1122 | "dev": true, 1123 | "bin": { 1124 | "mini-svg-data-uri": "cli.js" 1125 | } 1126 | }, 1127 | "node_modules/minimatch": { 1128 | "version": "9.0.4", 1129 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", 1130 | "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", 1131 | "dev": true, 1132 | "dependencies": { 1133 | "brace-expansion": "^2.0.1" 1134 | }, 1135 | "engines": { 1136 | "node": ">=16 || 14 >=14.17" 1137 | }, 1138 | "funding": { 1139 | "url": "https://github.com/sponsors/isaacs" 1140 | } 1141 | }, 1142 | "node_modules/minipass": { 1143 | "version": "7.0.4", 1144 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", 1145 | "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", 1146 | "dev": true, 1147 | "engines": { 1148 | "node": ">=16 || 14 >=14.17" 1149 | } 1150 | }, 1151 | "node_modules/mz": { 1152 | "version": "2.7.0", 1153 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 1154 | "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 1155 | "dev": true, 1156 | "dependencies": { 1157 | "any-promise": "^1.0.0", 1158 | "object-assign": "^4.0.1", 1159 | "thenify-all": "^1.0.0" 1160 | } 1161 | }, 1162 | "node_modules/nanoid": { 1163 | "version": "3.3.7", 1164 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", 1165 | "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", 1166 | "dev": true, 1167 | "funding": [ 1168 | { 1169 | "type": "github", 1170 | "url": "https://github.com/sponsors/ai" 1171 | } 1172 | ], 1173 | "bin": { 1174 | "nanoid": "bin/nanoid.cjs" 1175 | }, 1176 | "engines": { 1177 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1178 | } 1179 | }, 1180 | "node_modules/node-releases": { 1181 | "version": "2.0.14", 1182 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", 1183 | "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", 1184 | "dev": true 1185 | }, 1186 | "node_modules/normalize-path": { 1187 | "version": "3.0.0", 1188 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1189 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1190 | "dev": true, 1191 | "engines": { 1192 | "node": ">=0.10.0" 1193 | } 1194 | }, 1195 | "node_modules/normalize-range": { 1196 | "version": "0.1.2", 1197 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 1198 | "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", 1199 | "dev": true, 1200 | "engines": { 1201 | "node": ">=0.10.0" 1202 | } 1203 | }, 1204 | "node_modules/object-assign": { 1205 | "version": "4.1.1", 1206 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1207 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 1208 | "dev": true, 1209 | "engines": { 1210 | "node": ">=0.10.0" 1211 | } 1212 | }, 1213 | "node_modules/object-hash": { 1214 | "version": "3.0.0", 1215 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", 1216 | "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", 1217 | "dev": true, 1218 | "engines": { 1219 | "node": ">= 6" 1220 | } 1221 | }, 1222 | "node_modules/onetime": { 1223 | "version": "5.1.2", 1224 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", 1225 | "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", 1226 | "dev": true, 1227 | "dependencies": { 1228 | "mimic-fn": "^2.1.0" 1229 | }, 1230 | "engines": { 1231 | "node": ">=6" 1232 | }, 1233 | "funding": { 1234 | "url": "https://github.com/sponsors/sindresorhus" 1235 | } 1236 | }, 1237 | "node_modules/ora": { 1238 | "version": "6.3.1", 1239 | "resolved": "https://registry.npmjs.org/ora/-/ora-6.3.1.tgz", 1240 | "integrity": "sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==", 1241 | "dev": true, 1242 | "dependencies": { 1243 | "chalk": "^5.0.0", 1244 | "cli-cursor": "^4.0.0", 1245 | "cli-spinners": "^2.6.1", 1246 | "is-interactive": "^2.0.0", 1247 | "is-unicode-supported": "^1.1.0", 1248 | "log-symbols": "^5.1.0", 1249 | "stdin-discarder": "^0.1.0", 1250 | "strip-ansi": "^7.0.1", 1251 | "wcwidth": "^1.0.1" 1252 | }, 1253 | "engines": { 1254 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1255 | }, 1256 | "funding": { 1257 | "url": "https://github.com/sponsors/sindresorhus" 1258 | } 1259 | }, 1260 | "node_modules/path-key": { 1261 | "version": "3.1.1", 1262 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1263 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1264 | "dev": true, 1265 | "engines": { 1266 | "node": ">=8" 1267 | } 1268 | }, 1269 | "node_modules/path-parse": { 1270 | "version": "1.0.7", 1271 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1272 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 1273 | "dev": true 1274 | }, 1275 | "node_modules/path-scurry": { 1276 | "version": "1.10.2", 1277 | "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", 1278 | "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", 1279 | "dev": true, 1280 | "dependencies": { 1281 | "lru-cache": "^10.2.0", 1282 | "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" 1283 | }, 1284 | "engines": { 1285 | "node": ">=16 || 14 >=14.17" 1286 | }, 1287 | "funding": { 1288 | "url": "https://github.com/sponsors/isaacs" 1289 | } 1290 | }, 1291 | "node_modules/picocolors": { 1292 | "version": "1.0.0", 1293 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1294 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 1295 | "dev": true 1296 | }, 1297 | "node_modules/picomatch": { 1298 | "version": "2.3.1", 1299 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1300 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1301 | "dev": true, 1302 | "engines": { 1303 | "node": ">=8.6" 1304 | }, 1305 | "funding": { 1306 | "url": "https://github.com/sponsors/jonschlinkert" 1307 | } 1308 | }, 1309 | "node_modules/pify": { 1310 | "version": "2.3.0", 1311 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 1312 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 1313 | "dev": true, 1314 | "engines": { 1315 | "node": ">=0.10.0" 1316 | } 1317 | }, 1318 | "node_modules/pirates": { 1319 | "version": "4.0.6", 1320 | "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", 1321 | "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", 1322 | "dev": true, 1323 | "engines": { 1324 | "node": ">= 6" 1325 | } 1326 | }, 1327 | "node_modules/postcss": { 1328 | "version": "8.4.38", 1329 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", 1330 | "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", 1331 | "dev": true, 1332 | "funding": [ 1333 | { 1334 | "type": "opencollective", 1335 | "url": "https://opencollective.com/postcss/" 1336 | }, 1337 | { 1338 | "type": "tidelift", 1339 | "url": "https://tidelift.com/funding/github/npm/postcss" 1340 | }, 1341 | { 1342 | "type": "github", 1343 | "url": "https://github.com/sponsors/ai" 1344 | } 1345 | ], 1346 | "dependencies": { 1347 | "nanoid": "^3.3.7", 1348 | "picocolors": "^1.0.0", 1349 | "source-map-js": "^1.2.0" 1350 | }, 1351 | "engines": { 1352 | "node": "^10 || ^12 || >=14" 1353 | } 1354 | }, 1355 | "node_modules/postcss-import": { 1356 | "version": "15.1.0", 1357 | "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", 1358 | "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", 1359 | "dev": true, 1360 | "dependencies": { 1361 | "postcss-value-parser": "^4.0.0", 1362 | "read-cache": "^1.0.0", 1363 | "resolve": "^1.1.7" 1364 | }, 1365 | "engines": { 1366 | "node": ">=14.0.0" 1367 | }, 1368 | "peerDependencies": { 1369 | "postcss": "^8.0.0" 1370 | } 1371 | }, 1372 | "node_modules/postcss-js": { 1373 | "version": "4.0.1", 1374 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", 1375 | "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", 1376 | "dev": true, 1377 | "dependencies": { 1378 | "camelcase-css": "^2.0.1" 1379 | }, 1380 | "engines": { 1381 | "node": "^12 || ^14 || >= 16" 1382 | }, 1383 | "funding": { 1384 | "type": "opencollective", 1385 | "url": "https://opencollective.com/postcss/" 1386 | }, 1387 | "peerDependencies": { 1388 | "postcss": "^8.4.21" 1389 | } 1390 | }, 1391 | "node_modules/postcss-load-config": { 1392 | "version": "4.0.2", 1393 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", 1394 | "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", 1395 | "dev": true, 1396 | "funding": [ 1397 | { 1398 | "type": "opencollective", 1399 | "url": "https://opencollective.com/postcss/" 1400 | }, 1401 | { 1402 | "type": "github", 1403 | "url": "https://github.com/sponsors/ai" 1404 | } 1405 | ], 1406 | "dependencies": { 1407 | "lilconfig": "^3.0.0", 1408 | "yaml": "^2.3.4" 1409 | }, 1410 | "engines": { 1411 | "node": ">= 14" 1412 | }, 1413 | "peerDependencies": { 1414 | "postcss": ">=8.0.9", 1415 | "ts-node": ">=9.0.0" 1416 | }, 1417 | "peerDependenciesMeta": { 1418 | "postcss": { 1419 | "optional": true 1420 | }, 1421 | "ts-node": { 1422 | "optional": true 1423 | } 1424 | } 1425 | }, 1426 | "node_modules/postcss-load-config/node_modules/lilconfig": { 1427 | "version": "3.1.1", 1428 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", 1429 | "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", 1430 | "dev": true, 1431 | "engines": { 1432 | "node": ">=14" 1433 | }, 1434 | "funding": { 1435 | "url": "https://github.com/sponsors/antonk52" 1436 | } 1437 | }, 1438 | "node_modules/postcss-nested": { 1439 | "version": "6.0.1", 1440 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", 1441 | "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", 1442 | "dev": true, 1443 | "dependencies": { 1444 | "postcss-selector-parser": "^6.0.11" 1445 | }, 1446 | "engines": { 1447 | "node": ">=12.0" 1448 | }, 1449 | "funding": { 1450 | "type": "opencollective", 1451 | "url": "https://opencollective.com/postcss/" 1452 | }, 1453 | "peerDependencies": { 1454 | "postcss": "^8.2.14" 1455 | } 1456 | }, 1457 | "node_modules/postcss-nested/node_modules/postcss-selector-parser": { 1458 | "version": "6.0.16", 1459 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", 1460 | "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", 1461 | "dev": true, 1462 | "dependencies": { 1463 | "cssesc": "^3.0.0", 1464 | "util-deprecate": "^1.0.2" 1465 | }, 1466 | "engines": { 1467 | "node": ">=4" 1468 | } 1469 | }, 1470 | "node_modules/postcss-selector-parser": { 1471 | "version": "6.0.10", 1472 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", 1473 | "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", 1474 | "dev": true, 1475 | "dependencies": { 1476 | "cssesc": "^3.0.0", 1477 | "util-deprecate": "^1.0.2" 1478 | }, 1479 | "engines": { 1480 | "node": ">=4" 1481 | } 1482 | }, 1483 | "node_modules/postcss-value-parser": { 1484 | "version": "4.2.0", 1485 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 1486 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 1487 | "dev": true 1488 | }, 1489 | "node_modules/prettier": { 1490 | "version": "2.8.8", 1491 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", 1492 | "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", 1493 | "dev": true, 1494 | "bin": { 1495 | "prettier": "bin-prettier.js" 1496 | }, 1497 | "engines": { 1498 | "node": ">=10.13.0" 1499 | }, 1500 | "funding": { 1501 | "url": "https://github.com/prettier/prettier?sponsor=1" 1502 | } 1503 | }, 1504 | "node_modules/prettier-plugin-tailwindcss": { 1505 | "version": "0.1.13", 1506 | "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.1.13.tgz", 1507 | "integrity": "sha512-/EKQURUrxLu66CMUg4+1LwGdxnz8of7IDvrSLqEtDqhLH61SAlNNUSr90UTvZaemujgl3OH/VHg+fyGltrNixw==", 1508 | "dev": true, 1509 | "engines": { 1510 | "node": ">=12.17.0" 1511 | }, 1512 | "peerDependencies": { 1513 | "prettier": ">=2.2.0" 1514 | } 1515 | }, 1516 | "node_modules/proxy-from-env": { 1517 | "version": "1.1.0", 1518 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", 1519 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", 1520 | "dev": true 1521 | }, 1522 | "node_modules/queue-microtask": { 1523 | "version": "1.2.3", 1524 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1525 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1526 | "dev": true, 1527 | "funding": [ 1528 | { 1529 | "type": "github", 1530 | "url": "https://github.com/sponsors/feross" 1531 | }, 1532 | { 1533 | "type": "patreon", 1534 | "url": "https://www.patreon.com/feross" 1535 | }, 1536 | { 1537 | "type": "consulting", 1538 | "url": "https://feross.org/support" 1539 | } 1540 | ] 1541 | }, 1542 | "node_modules/read-cache": { 1543 | "version": "1.0.0", 1544 | "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 1545 | "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 1546 | "dev": true, 1547 | "dependencies": { 1548 | "pify": "^2.3.0" 1549 | } 1550 | }, 1551 | "node_modules/readable-stream": { 1552 | "version": "3.6.2", 1553 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 1554 | "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 1555 | "dev": true, 1556 | "dependencies": { 1557 | "inherits": "^2.0.3", 1558 | "string_decoder": "^1.1.1", 1559 | "util-deprecate": "^1.0.1" 1560 | }, 1561 | "engines": { 1562 | "node": ">= 6" 1563 | } 1564 | }, 1565 | "node_modules/readdirp": { 1566 | "version": "3.6.0", 1567 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1568 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1569 | "dev": true, 1570 | "dependencies": { 1571 | "picomatch": "^2.2.1" 1572 | }, 1573 | "engines": { 1574 | "node": ">=8.10.0" 1575 | } 1576 | }, 1577 | "node_modules/resolve": { 1578 | "version": "1.22.8", 1579 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", 1580 | "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", 1581 | "dev": true, 1582 | "dependencies": { 1583 | "is-core-module": "^2.13.0", 1584 | "path-parse": "^1.0.7", 1585 | "supports-preserve-symlinks-flag": "^1.0.0" 1586 | }, 1587 | "bin": { 1588 | "resolve": "bin/resolve" 1589 | }, 1590 | "funding": { 1591 | "url": "https://github.com/sponsors/ljharb" 1592 | } 1593 | }, 1594 | "node_modules/restore-cursor": { 1595 | "version": "4.0.0", 1596 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", 1597 | "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", 1598 | "dev": true, 1599 | "dependencies": { 1600 | "onetime": "^5.1.0", 1601 | "signal-exit": "^3.0.2" 1602 | }, 1603 | "engines": { 1604 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1605 | }, 1606 | "funding": { 1607 | "url": "https://github.com/sponsors/sindresorhus" 1608 | } 1609 | }, 1610 | "node_modules/reusify": { 1611 | "version": "1.0.4", 1612 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1613 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1614 | "dev": true, 1615 | "engines": { 1616 | "iojs": ">=1.0.0", 1617 | "node": ">=0.10.0" 1618 | } 1619 | }, 1620 | "node_modules/run-parallel": { 1621 | "version": "1.2.0", 1622 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1623 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1624 | "dev": true, 1625 | "funding": [ 1626 | { 1627 | "type": "github", 1628 | "url": "https://github.com/sponsors/feross" 1629 | }, 1630 | { 1631 | "type": "patreon", 1632 | "url": "https://www.patreon.com/feross" 1633 | }, 1634 | { 1635 | "type": "consulting", 1636 | "url": "https://feross.org/support" 1637 | } 1638 | ], 1639 | "dependencies": { 1640 | "queue-microtask": "^1.2.2" 1641 | } 1642 | }, 1643 | "node_modules/safe-buffer": { 1644 | "version": "5.2.1", 1645 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1646 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 1647 | "dev": true, 1648 | "funding": [ 1649 | { 1650 | "type": "github", 1651 | "url": "https://github.com/sponsors/feross" 1652 | }, 1653 | { 1654 | "type": "patreon", 1655 | "url": "https://www.patreon.com/feross" 1656 | }, 1657 | { 1658 | "type": "consulting", 1659 | "url": "https://feross.org/support" 1660 | } 1661 | ] 1662 | }, 1663 | "node_modules/shebang-command": { 1664 | "version": "2.0.0", 1665 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1666 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1667 | "dev": true, 1668 | "dependencies": { 1669 | "shebang-regex": "^3.0.0" 1670 | }, 1671 | "engines": { 1672 | "node": ">=8" 1673 | } 1674 | }, 1675 | "node_modules/shebang-regex": { 1676 | "version": "3.0.0", 1677 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1678 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1679 | "dev": true, 1680 | "engines": { 1681 | "node": ">=8" 1682 | } 1683 | }, 1684 | "node_modules/signal-exit": { 1685 | "version": "3.0.7", 1686 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 1687 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 1688 | "dev": true 1689 | }, 1690 | "node_modules/source-map-js": { 1691 | "version": "1.2.0", 1692 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", 1693 | "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", 1694 | "dev": true, 1695 | "engines": { 1696 | "node": ">=0.10.0" 1697 | } 1698 | }, 1699 | "node_modules/stdin-discarder": { 1700 | "version": "0.1.0", 1701 | "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", 1702 | "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", 1703 | "dev": true, 1704 | "dependencies": { 1705 | "bl": "^5.0.0" 1706 | }, 1707 | "engines": { 1708 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1709 | }, 1710 | "funding": { 1711 | "url": "https://github.com/sponsors/sindresorhus" 1712 | } 1713 | }, 1714 | "node_modules/string_decoder": { 1715 | "version": "1.3.0", 1716 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 1717 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 1718 | "dev": true, 1719 | "dependencies": { 1720 | "safe-buffer": "~5.2.0" 1721 | } 1722 | }, 1723 | "node_modules/string-width": { 1724 | "version": "5.1.2", 1725 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 1726 | "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 1727 | "dev": true, 1728 | "dependencies": { 1729 | "eastasianwidth": "^0.2.0", 1730 | "emoji-regex": "^9.2.2", 1731 | "strip-ansi": "^7.0.1" 1732 | }, 1733 | "engines": { 1734 | "node": ">=12" 1735 | }, 1736 | "funding": { 1737 | "url": "https://github.com/sponsors/sindresorhus" 1738 | } 1739 | }, 1740 | "node_modules/string-width-cjs": { 1741 | "name": "string-width", 1742 | "version": "4.2.3", 1743 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1744 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 1745 | "dev": true, 1746 | "dependencies": { 1747 | "emoji-regex": "^8.0.0", 1748 | "is-fullwidth-code-point": "^3.0.0", 1749 | "strip-ansi": "^6.0.1" 1750 | }, 1751 | "engines": { 1752 | "node": ">=8" 1753 | } 1754 | }, 1755 | "node_modules/string-width-cjs/node_modules/ansi-regex": { 1756 | "version": "5.0.1", 1757 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1758 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1759 | "dev": true, 1760 | "engines": { 1761 | "node": ">=8" 1762 | } 1763 | }, 1764 | "node_modules/string-width-cjs/node_modules/emoji-regex": { 1765 | "version": "8.0.0", 1766 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 1767 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 1768 | "dev": true 1769 | }, 1770 | "node_modules/string-width-cjs/node_modules/strip-ansi": { 1771 | "version": "6.0.1", 1772 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1773 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1774 | "dev": true, 1775 | "dependencies": { 1776 | "ansi-regex": "^5.0.1" 1777 | }, 1778 | "engines": { 1779 | "node": ">=8" 1780 | } 1781 | }, 1782 | "node_modules/strip-ansi": { 1783 | "version": "7.1.0", 1784 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 1785 | "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 1786 | "dev": true, 1787 | "dependencies": { 1788 | "ansi-regex": "^6.0.1" 1789 | }, 1790 | "engines": { 1791 | "node": ">=12" 1792 | }, 1793 | "funding": { 1794 | "url": "https://github.com/chalk/strip-ansi?sponsor=1" 1795 | } 1796 | }, 1797 | "node_modules/strip-ansi-cjs": { 1798 | "name": "strip-ansi", 1799 | "version": "6.0.1", 1800 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1801 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1802 | "dev": true, 1803 | "dependencies": { 1804 | "ansi-regex": "^5.0.1" 1805 | }, 1806 | "engines": { 1807 | "node": ">=8" 1808 | } 1809 | }, 1810 | "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { 1811 | "version": "5.0.1", 1812 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1813 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1814 | "dev": true, 1815 | "engines": { 1816 | "node": ">=8" 1817 | } 1818 | }, 1819 | "node_modules/sucrase": { 1820 | "version": "3.35.0", 1821 | "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", 1822 | "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", 1823 | "dev": true, 1824 | "dependencies": { 1825 | "@jridgewell/gen-mapping": "^0.3.2", 1826 | "commander": "^4.0.0", 1827 | "glob": "^10.3.10", 1828 | "lines-and-columns": "^1.1.6", 1829 | "mz": "^2.7.0", 1830 | "pirates": "^4.0.1", 1831 | "ts-interface-checker": "^0.1.9" 1832 | }, 1833 | "bin": { 1834 | "sucrase": "bin/sucrase", 1835 | "sucrase-node": "bin/sucrase-node" 1836 | }, 1837 | "engines": { 1838 | "node": ">=16 || 14 >=14.17" 1839 | } 1840 | }, 1841 | "node_modules/supports-preserve-symlinks-flag": { 1842 | "version": "1.0.0", 1843 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1844 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1845 | "dev": true, 1846 | "engines": { 1847 | "node": ">= 0.4" 1848 | }, 1849 | "funding": { 1850 | "url": "https://github.com/sponsors/ljharb" 1851 | } 1852 | }, 1853 | "node_modules/tailwindcss": { 1854 | "version": "3.4.3", 1855 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", 1856 | "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", 1857 | "dev": true, 1858 | "dependencies": { 1859 | "@alloc/quick-lru": "^5.2.0", 1860 | "arg": "^5.0.2", 1861 | "chokidar": "^3.5.3", 1862 | "didyoumean": "^1.2.2", 1863 | "dlv": "^1.1.3", 1864 | "fast-glob": "^3.3.0", 1865 | "glob-parent": "^6.0.2", 1866 | "is-glob": "^4.0.3", 1867 | "jiti": "^1.21.0", 1868 | "lilconfig": "^2.1.0", 1869 | "micromatch": "^4.0.5", 1870 | "normalize-path": "^3.0.0", 1871 | "object-hash": "^3.0.0", 1872 | "picocolors": "^1.0.0", 1873 | "postcss": "^8.4.23", 1874 | "postcss-import": "^15.1.0", 1875 | "postcss-js": "^4.0.1", 1876 | "postcss-load-config": "^4.0.1", 1877 | "postcss-nested": "^6.0.1", 1878 | "postcss-selector-parser": "^6.0.11", 1879 | "resolve": "^1.22.2", 1880 | "sucrase": "^3.32.0" 1881 | }, 1882 | "bin": { 1883 | "tailwind": "lib/cli.js", 1884 | "tailwindcss": "lib/cli.js" 1885 | }, 1886 | "engines": { 1887 | "node": ">=14.0.0" 1888 | } 1889 | }, 1890 | "node_modules/tailwindcss/node_modules/postcss-selector-parser": { 1891 | "version": "6.0.16", 1892 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", 1893 | "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", 1894 | "dev": true, 1895 | "dependencies": { 1896 | "cssesc": "^3.0.0", 1897 | "util-deprecate": "^1.0.2" 1898 | }, 1899 | "engines": { 1900 | "node": ">=4" 1901 | } 1902 | }, 1903 | "node_modules/thenify": { 1904 | "version": "3.3.1", 1905 | "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 1906 | "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 1907 | "dev": true, 1908 | "dependencies": { 1909 | "any-promise": "^1.0.0" 1910 | } 1911 | }, 1912 | "node_modules/thenify-all": { 1913 | "version": "1.6.0", 1914 | "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 1915 | "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", 1916 | "dev": true, 1917 | "dependencies": { 1918 | "thenify": ">= 3.1.0 < 4" 1919 | }, 1920 | "engines": { 1921 | "node": ">=0.8" 1922 | } 1923 | }, 1924 | "node_modules/to-regex-range": { 1925 | "version": "5.0.1", 1926 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1927 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1928 | "dev": true, 1929 | "dependencies": { 1930 | "is-number": "^7.0.0" 1931 | }, 1932 | "engines": { 1933 | "node": ">=8.0" 1934 | } 1935 | }, 1936 | "node_modules/ts-interface-checker": { 1937 | "version": "0.1.13", 1938 | "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", 1939 | "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", 1940 | "dev": true 1941 | }, 1942 | "node_modules/update-browserslist-db": { 1943 | "version": "1.0.13", 1944 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", 1945 | "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", 1946 | "dev": true, 1947 | "funding": [ 1948 | { 1949 | "type": "opencollective", 1950 | "url": "https://opencollective.com/browserslist" 1951 | }, 1952 | { 1953 | "type": "tidelift", 1954 | "url": "https://tidelift.com/funding/github/npm/browserslist" 1955 | }, 1956 | { 1957 | "type": "github", 1958 | "url": "https://github.com/sponsors/ai" 1959 | } 1960 | ], 1961 | "dependencies": { 1962 | "escalade": "^3.1.1", 1963 | "picocolors": "^1.0.0" 1964 | }, 1965 | "bin": { 1966 | "update-browserslist-db": "cli.js" 1967 | }, 1968 | "peerDependencies": { 1969 | "browserslist": ">= 4.21.0" 1970 | } 1971 | }, 1972 | "node_modules/util-deprecate": { 1973 | "version": "1.0.2", 1974 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1975 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 1976 | "dev": true 1977 | }, 1978 | "node_modules/wcwidth": { 1979 | "version": "1.0.1", 1980 | "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", 1981 | "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", 1982 | "dev": true, 1983 | "dependencies": { 1984 | "defaults": "^1.0.3" 1985 | } 1986 | }, 1987 | "node_modules/which": { 1988 | "version": "2.0.2", 1989 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 1990 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 1991 | "dev": true, 1992 | "dependencies": { 1993 | "isexe": "^2.0.0" 1994 | }, 1995 | "bin": { 1996 | "node-which": "bin/node-which" 1997 | }, 1998 | "engines": { 1999 | "node": ">= 8" 2000 | } 2001 | }, 2002 | "node_modules/wrap-ansi": { 2003 | "version": "8.1.0", 2004 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", 2005 | "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", 2006 | "dev": true, 2007 | "dependencies": { 2008 | "ansi-styles": "^6.1.0", 2009 | "string-width": "^5.0.1", 2010 | "strip-ansi": "^7.0.1" 2011 | }, 2012 | "engines": { 2013 | "node": ">=12" 2014 | }, 2015 | "funding": { 2016 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 2017 | } 2018 | }, 2019 | "node_modules/wrap-ansi-cjs": { 2020 | "name": "wrap-ansi", 2021 | "version": "7.0.0", 2022 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 2023 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 2024 | "dev": true, 2025 | "dependencies": { 2026 | "ansi-styles": "^4.0.0", 2027 | "string-width": "^4.1.0", 2028 | "strip-ansi": "^6.0.0" 2029 | }, 2030 | "engines": { 2031 | "node": ">=10" 2032 | }, 2033 | "funding": { 2034 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 2035 | } 2036 | }, 2037 | "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { 2038 | "version": "5.0.1", 2039 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2040 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 2041 | "dev": true, 2042 | "engines": { 2043 | "node": ">=8" 2044 | } 2045 | }, 2046 | "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { 2047 | "version": "4.3.0", 2048 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 2049 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 2050 | "dev": true, 2051 | "dependencies": { 2052 | "color-convert": "^2.0.1" 2053 | }, 2054 | "engines": { 2055 | "node": ">=8" 2056 | }, 2057 | "funding": { 2058 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 2059 | } 2060 | }, 2061 | "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { 2062 | "version": "8.0.0", 2063 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 2064 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 2065 | "dev": true 2066 | }, 2067 | "node_modules/wrap-ansi-cjs/node_modules/string-width": { 2068 | "version": "4.2.3", 2069 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 2070 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 2071 | "dev": true, 2072 | "dependencies": { 2073 | "emoji-regex": "^8.0.0", 2074 | "is-fullwidth-code-point": "^3.0.0", 2075 | "strip-ansi": "^6.0.1" 2076 | }, 2077 | "engines": { 2078 | "node": ">=8" 2079 | } 2080 | }, 2081 | "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { 2082 | "version": "6.0.1", 2083 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2084 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2085 | "dev": true, 2086 | "dependencies": { 2087 | "ansi-regex": "^5.0.1" 2088 | }, 2089 | "engines": { 2090 | "node": ">=8" 2091 | } 2092 | }, 2093 | "node_modules/yaml": { 2094 | "version": "2.4.1", 2095 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", 2096 | "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", 2097 | "dev": true, 2098 | "bin": { 2099 | "yaml": "bin.mjs" 2100 | }, 2101 | "engines": { 2102 | "node": ">= 14" 2103 | } 2104 | } 2105 | }, 2106 | "dependencies": { 2107 | "@alloc/quick-lru": { 2108 | "version": "5.2.0", 2109 | "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", 2110 | "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 2111 | "dev": true 2112 | }, 2113 | "@awcodes/filament-plugin-purge": { 2114 | "version": "1.1.2", 2115 | "resolved": "https://registry.npmjs.org/@awcodes/filament-plugin-purge/-/filament-plugin-purge-1.1.2.tgz", 2116 | "integrity": "sha512-eFFGA3IPSya8ldUQWUMHk5HxidU/XnL3fEGIdX6Lza/bz4U7hgOdGT64CxLKbhEF1eFJbM7hFsxAfrfZm85x5g==", 2117 | "dev": true, 2118 | "requires": { 2119 | "axios": "^1.4.0", 2120 | "chalk": "^5.0.1", 2121 | "css-tree": "^2.2.1", 2122 | "ora": "^6.1.2" 2123 | } 2124 | }, 2125 | "@isaacs/cliui": { 2126 | "version": "8.0.2", 2127 | "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", 2128 | "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", 2129 | "dev": true, 2130 | "requires": { 2131 | "string-width": "^5.1.2", 2132 | "string-width-cjs": "npm:string-width@^4.2.0", 2133 | "strip-ansi": "^7.0.1", 2134 | "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", 2135 | "wrap-ansi": "^8.1.0", 2136 | "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" 2137 | } 2138 | }, 2139 | "@jridgewell/gen-mapping": { 2140 | "version": "0.3.5", 2141 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", 2142 | "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", 2143 | "dev": true, 2144 | "requires": { 2145 | "@jridgewell/set-array": "^1.2.1", 2146 | "@jridgewell/sourcemap-codec": "^1.4.10", 2147 | "@jridgewell/trace-mapping": "^0.3.24" 2148 | } 2149 | }, 2150 | "@jridgewell/resolve-uri": { 2151 | "version": "3.1.2", 2152 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 2153 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 2154 | "dev": true 2155 | }, 2156 | "@jridgewell/set-array": { 2157 | "version": "1.2.1", 2158 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 2159 | "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 2160 | "dev": true 2161 | }, 2162 | "@jridgewell/sourcemap-codec": { 2163 | "version": "1.4.15", 2164 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 2165 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", 2166 | "dev": true 2167 | }, 2168 | "@jridgewell/trace-mapping": { 2169 | "version": "0.3.25", 2170 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 2171 | "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 2172 | "dev": true, 2173 | "requires": { 2174 | "@jridgewell/resolve-uri": "^3.1.0", 2175 | "@jridgewell/sourcemap-codec": "^1.4.14" 2176 | } 2177 | }, 2178 | "@nodelib/fs.scandir": { 2179 | "version": "2.1.5", 2180 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 2181 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 2182 | "dev": true, 2183 | "requires": { 2184 | "@nodelib/fs.stat": "2.0.5", 2185 | "run-parallel": "^1.1.9" 2186 | } 2187 | }, 2188 | "@nodelib/fs.stat": { 2189 | "version": "2.0.5", 2190 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 2191 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 2192 | "dev": true 2193 | }, 2194 | "@nodelib/fs.walk": { 2195 | "version": "1.2.8", 2196 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 2197 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 2198 | "dev": true, 2199 | "requires": { 2200 | "@nodelib/fs.scandir": "2.1.5", 2201 | "fastq": "^1.6.0" 2202 | } 2203 | }, 2204 | "@pkgjs/parseargs": { 2205 | "version": "0.11.0", 2206 | "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", 2207 | "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", 2208 | "dev": true, 2209 | "optional": true 2210 | }, 2211 | "@tailwindcss/forms": { 2212 | "version": "0.5.7", 2213 | "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.7.tgz", 2214 | "integrity": "sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==", 2215 | "dev": true, 2216 | "requires": { 2217 | "mini-svg-data-uri": "^1.2.3" 2218 | } 2219 | }, 2220 | "@tailwindcss/typography": { 2221 | "version": "0.5.12", 2222 | "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.12.tgz", 2223 | "integrity": "sha512-CNwpBpconcP7ppxmuq3qvaCxiRWnbhANpY/ruH4L5qs2GCiVDJXde/pjj2HWPV1+Q4G9+V/etrwUYopdcjAlyg==", 2224 | "dev": true, 2225 | "requires": { 2226 | "lodash.castarray": "^4.4.0", 2227 | "lodash.isplainobject": "^4.0.6", 2228 | "lodash.merge": "^4.6.2", 2229 | "postcss-selector-parser": "6.0.10" 2230 | } 2231 | }, 2232 | "ansi-regex": { 2233 | "version": "6.0.1", 2234 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", 2235 | "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", 2236 | "dev": true 2237 | }, 2238 | "ansi-styles": { 2239 | "version": "6.2.1", 2240 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 2241 | "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 2242 | "dev": true 2243 | }, 2244 | "any-promise": { 2245 | "version": "1.3.0", 2246 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 2247 | "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", 2248 | "dev": true 2249 | }, 2250 | "anymatch": { 2251 | "version": "3.1.3", 2252 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 2253 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 2254 | "dev": true, 2255 | "requires": { 2256 | "normalize-path": "^3.0.0", 2257 | "picomatch": "^2.0.4" 2258 | } 2259 | }, 2260 | "arg": { 2261 | "version": "5.0.2", 2262 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 2263 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", 2264 | "dev": true 2265 | }, 2266 | "asynckit": { 2267 | "version": "0.4.0", 2268 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 2269 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", 2270 | "dev": true 2271 | }, 2272 | "autoprefixer": { 2273 | "version": "10.4.19", 2274 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", 2275 | "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", 2276 | "dev": true, 2277 | "requires": { 2278 | "browserslist": "^4.23.0", 2279 | "caniuse-lite": "^1.0.30001599", 2280 | "fraction.js": "^4.3.7", 2281 | "normalize-range": "^0.1.2", 2282 | "picocolors": "^1.0.0", 2283 | "postcss-value-parser": "^4.2.0" 2284 | } 2285 | }, 2286 | "axios": { 2287 | "version": "1.6.8", 2288 | "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", 2289 | "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", 2290 | "dev": true, 2291 | "requires": { 2292 | "follow-redirects": "^1.15.6", 2293 | "form-data": "^4.0.0", 2294 | "proxy-from-env": "^1.1.0" 2295 | } 2296 | }, 2297 | "balanced-match": { 2298 | "version": "1.0.2", 2299 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 2300 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 2301 | "dev": true 2302 | }, 2303 | "base64-js": { 2304 | "version": "1.5.1", 2305 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 2306 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 2307 | "dev": true 2308 | }, 2309 | "binary-extensions": { 2310 | "version": "2.3.0", 2311 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", 2312 | "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", 2313 | "dev": true 2314 | }, 2315 | "bl": { 2316 | "version": "5.1.0", 2317 | "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", 2318 | "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", 2319 | "dev": true, 2320 | "requires": { 2321 | "buffer": "^6.0.3", 2322 | "inherits": "^2.0.4", 2323 | "readable-stream": "^3.4.0" 2324 | } 2325 | }, 2326 | "brace-expansion": { 2327 | "version": "2.0.1", 2328 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 2329 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 2330 | "dev": true, 2331 | "requires": { 2332 | "balanced-match": "^1.0.0" 2333 | } 2334 | }, 2335 | "braces": { 2336 | "version": "3.0.2", 2337 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 2338 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 2339 | "dev": true, 2340 | "requires": { 2341 | "fill-range": "^7.0.1" 2342 | } 2343 | }, 2344 | "browserslist": { 2345 | "version": "4.23.0", 2346 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", 2347 | "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", 2348 | "dev": true, 2349 | "requires": { 2350 | "caniuse-lite": "^1.0.30001587", 2351 | "electron-to-chromium": "^1.4.668", 2352 | "node-releases": "^2.0.14", 2353 | "update-browserslist-db": "^1.0.13" 2354 | } 2355 | }, 2356 | "buffer": { 2357 | "version": "6.0.3", 2358 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", 2359 | "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", 2360 | "dev": true, 2361 | "requires": { 2362 | "base64-js": "^1.3.1", 2363 | "ieee754": "^1.2.1" 2364 | } 2365 | }, 2366 | "camelcase-css": { 2367 | "version": "2.0.1", 2368 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 2369 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 2370 | "dev": true 2371 | }, 2372 | "caniuse-lite": { 2373 | "version": "1.0.30001605", 2374 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001605.tgz", 2375 | "integrity": "sha512-nXwGlFWo34uliI9z3n6Qc0wZaf7zaZWA1CPZ169La5mV3I/gem7bst0vr5XQH5TJXZIMfDeZyOrZnSlVzKxxHQ==", 2376 | "dev": true 2377 | }, 2378 | "chalk": { 2379 | "version": "5.3.0", 2380 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", 2381 | "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", 2382 | "dev": true 2383 | }, 2384 | "chokidar": { 2385 | "version": "3.6.0", 2386 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", 2387 | "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", 2388 | "dev": true, 2389 | "requires": { 2390 | "anymatch": "~3.1.2", 2391 | "braces": "~3.0.2", 2392 | "fsevents": "~2.3.2", 2393 | "glob-parent": "~5.1.2", 2394 | "is-binary-path": "~2.1.0", 2395 | "is-glob": "~4.0.1", 2396 | "normalize-path": "~3.0.0", 2397 | "readdirp": "~3.6.0" 2398 | }, 2399 | "dependencies": { 2400 | "glob-parent": { 2401 | "version": "5.1.2", 2402 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2403 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2404 | "dev": true, 2405 | "requires": { 2406 | "is-glob": "^4.0.1" 2407 | } 2408 | } 2409 | } 2410 | }, 2411 | "cli-cursor": { 2412 | "version": "4.0.0", 2413 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", 2414 | "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", 2415 | "dev": true, 2416 | "requires": { 2417 | "restore-cursor": "^4.0.0" 2418 | } 2419 | }, 2420 | "cli-spinners": { 2421 | "version": "2.9.2", 2422 | "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", 2423 | "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", 2424 | "dev": true 2425 | }, 2426 | "clone": { 2427 | "version": "1.0.4", 2428 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", 2429 | "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", 2430 | "dev": true 2431 | }, 2432 | "color-convert": { 2433 | "version": "2.0.1", 2434 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 2435 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 2436 | "dev": true, 2437 | "requires": { 2438 | "color-name": "~1.1.4" 2439 | } 2440 | }, 2441 | "color-name": { 2442 | "version": "1.1.4", 2443 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 2444 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 2445 | "dev": true 2446 | }, 2447 | "combined-stream": { 2448 | "version": "1.0.8", 2449 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 2450 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 2451 | "dev": true, 2452 | "requires": { 2453 | "delayed-stream": "~1.0.0" 2454 | } 2455 | }, 2456 | "commander": { 2457 | "version": "4.1.1", 2458 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 2459 | "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 2460 | "dev": true 2461 | }, 2462 | "cross-spawn": { 2463 | "version": "7.0.3", 2464 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 2465 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 2466 | "dev": true, 2467 | "requires": { 2468 | "path-key": "^3.1.0", 2469 | "shebang-command": "^2.0.0", 2470 | "which": "^2.0.1" 2471 | } 2472 | }, 2473 | "css-tree": { 2474 | "version": "2.3.1", 2475 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", 2476 | "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", 2477 | "dev": true, 2478 | "requires": { 2479 | "mdn-data": "2.0.30", 2480 | "source-map-js": "^1.0.1" 2481 | } 2482 | }, 2483 | "cssesc": { 2484 | "version": "3.0.0", 2485 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 2486 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 2487 | "dev": true 2488 | }, 2489 | "defaults": { 2490 | "version": "1.0.4", 2491 | "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", 2492 | "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", 2493 | "dev": true, 2494 | "requires": { 2495 | "clone": "^1.0.2" 2496 | } 2497 | }, 2498 | "delayed-stream": { 2499 | "version": "1.0.0", 2500 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 2501 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", 2502 | "dev": true 2503 | }, 2504 | "didyoumean": { 2505 | "version": "1.2.2", 2506 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 2507 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", 2508 | "dev": true 2509 | }, 2510 | "dlv": { 2511 | "version": "1.1.3", 2512 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 2513 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", 2514 | "dev": true 2515 | }, 2516 | "eastasianwidth": { 2517 | "version": "0.2.0", 2518 | "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 2519 | "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", 2520 | "dev": true 2521 | }, 2522 | "electron-to-chromium": { 2523 | "version": "1.4.726", 2524 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.726.tgz", 2525 | "integrity": "sha512-xtjfBXn53RORwkbyKvDfTajtnTp0OJoPOIBzXvkNbb7+YYvCHJflba3L7Txyx/6Fov3ov2bGPr/n5MTixmPhdQ==", 2526 | "dev": true 2527 | }, 2528 | "emoji-regex": { 2529 | "version": "9.2.2", 2530 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 2531 | "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 2532 | "dev": true 2533 | }, 2534 | "escalade": { 2535 | "version": "3.1.2", 2536 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", 2537 | "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", 2538 | "dev": true 2539 | }, 2540 | "fast-glob": { 2541 | "version": "3.3.2", 2542 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", 2543 | "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", 2544 | "dev": true, 2545 | "requires": { 2546 | "@nodelib/fs.stat": "^2.0.2", 2547 | "@nodelib/fs.walk": "^1.2.3", 2548 | "glob-parent": "^5.1.2", 2549 | "merge2": "^1.3.0", 2550 | "micromatch": "^4.0.4" 2551 | }, 2552 | "dependencies": { 2553 | "glob-parent": { 2554 | "version": "5.1.2", 2555 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2556 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2557 | "dev": true, 2558 | "requires": { 2559 | "is-glob": "^4.0.1" 2560 | } 2561 | } 2562 | } 2563 | }, 2564 | "fastq": { 2565 | "version": "1.17.1", 2566 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", 2567 | "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", 2568 | "dev": true, 2569 | "requires": { 2570 | "reusify": "^1.0.4" 2571 | } 2572 | }, 2573 | "fill-range": { 2574 | "version": "7.0.1", 2575 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 2576 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 2577 | "dev": true, 2578 | "requires": { 2579 | "to-regex-range": "^5.0.1" 2580 | } 2581 | }, 2582 | "follow-redirects": { 2583 | "version": "1.15.6", 2584 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", 2585 | "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", 2586 | "dev": true 2587 | }, 2588 | "foreground-child": { 2589 | "version": "3.1.1", 2590 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", 2591 | "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", 2592 | "dev": true, 2593 | "requires": { 2594 | "cross-spawn": "^7.0.0", 2595 | "signal-exit": "^4.0.1" 2596 | }, 2597 | "dependencies": { 2598 | "signal-exit": { 2599 | "version": "4.1.0", 2600 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 2601 | "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 2602 | "dev": true 2603 | } 2604 | } 2605 | }, 2606 | "form-data": { 2607 | "version": "4.0.0", 2608 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 2609 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 2610 | "dev": true, 2611 | "requires": { 2612 | "asynckit": "^0.4.0", 2613 | "combined-stream": "^1.0.8", 2614 | "mime-types": "^2.1.12" 2615 | } 2616 | }, 2617 | "fraction.js": { 2618 | "version": "4.3.7", 2619 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", 2620 | "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", 2621 | "dev": true 2622 | }, 2623 | "fsevents": { 2624 | "version": "2.3.3", 2625 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 2626 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 2627 | "dev": true, 2628 | "optional": true 2629 | }, 2630 | "function-bind": { 2631 | "version": "1.1.2", 2632 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 2633 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 2634 | "dev": true 2635 | }, 2636 | "glob": { 2637 | "version": "10.3.12", 2638 | "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", 2639 | "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", 2640 | "dev": true, 2641 | "requires": { 2642 | "foreground-child": "^3.1.0", 2643 | "jackspeak": "^2.3.6", 2644 | "minimatch": "^9.0.1", 2645 | "minipass": "^7.0.4", 2646 | "path-scurry": "^1.10.2" 2647 | } 2648 | }, 2649 | "glob-parent": { 2650 | "version": "6.0.2", 2651 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 2652 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 2653 | "dev": true, 2654 | "requires": { 2655 | "is-glob": "^4.0.3" 2656 | } 2657 | }, 2658 | "hasown": { 2659 | "version": "2.0.2", 2660 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 2661 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 2662 | "dev": true, 2663 | "requires": { 2664 | "function-bind": "^1.1.2" 2665 | } 2666 | }, 2667 | "ieee754": { 2668 | "version": "1.2.1", 2669 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 2670 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 2671 | "dev": true 2672 | }, 2673 | "inherits": { 2674 | "version": "2.0.4", 2675 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 2676 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 2677 | "dev": true 2678 | }, 2679 | "is-binary-path": { 2680 | "version": "2.1.0", 2681 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 2682 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 2683 | "dev": true, 2684 | "requires": { 2685 | "binary-extensions": "^2.0.0" 2686 | } 2687 | }, 2688 | "is-core-module": { 2689 | "version": "2.13.1", 2690 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", 2691 | "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", 2692 | "dev": true, 2693 | "requires": { 2694 | "hasown": "^2.0.0" 2695 | } 2696 | }, 2697 | "is-extglob": { 2698 | "version": "2.1.1", 2699 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2700 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 2701 | "dev": true 2702 | }, 2703 | "is-fullwidth-code-point": { 2704 | "version": "3.0.0", 2705 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 2706 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 2707 | "dev": true 2708 | }, 2709 | "is-glob": { 2710 | "version": "4.0.3", 2711 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 2712 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 2713 | "dev": true, 2714 | "requires": { 2715 | "is-extglob": "^2.1.1" 2716 | } 2717 | }, 2718 | "is-interactive": { 2719 | "version": "2.0.0", 2720 | "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", 2721 | "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", 2722 | "dev": true 2723 | }, 2724 | "is-number": { 2725 | "version": "7.0.0", 2726 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 2727 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 2728 | "dev": true 2729 | }, 2730 | "is-unicode-supported": { 2731 | "version": "1.3.0", 2732 | "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", 2733 | "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", 2734 | "dev": true 2735 | }, 2736 | "isexe": { 2737 | "version": "2.0.0", 2738 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2739 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 2740 | "dev": true 2741 | }, 2742 | "jackspeak": { 2743 | "version": "2.3.6", 2744 | "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", 2745 | "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", 2746 | "dev": true, 2747 | "requires": { 2748 | "@isaacs/cliui": "^8.0.2", 2749 | "@pkgjs/parseargs": "^0.11.0" 2750 | } 2751 | }, 2752 | "jiti": { 2753 | "version": "1.21.0", 2754 | "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", 2755 | "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", 2756 | "dev": true 2757 | }, 2758 | "lilconfig": { 2759 | "version": "2.1.0", 2760 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", 2761 | "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", 2762 | "dev": true 2763 | }, 2764 | "lines-and-columns": { 2765 | "version": "1.2.4", 2766 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 2767 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 2768 | "dev": true 2769 | }, 2770 | "lodash.castarray": { 2771 | "version": "4.4.0", 2772 | "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", 2773 | "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", 2774 | "dev": true 2775 | }, 2776 | "lodash.isplainobject": { 2777 | "version": "4.0.6", 2778 | "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", 2779 | "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", 2780 | "dev": true 2781 | }, 2782 | "lodash.merge": { 2783 | "version": "4.6.2", 2784 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 2785 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 2786 | "dev": true 2787 | }, 2788 | "log-symbols": { 2789 | "version": "5.1.0", 2790 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", 2791 | "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", 2792 | "dev": true, 2793 | "requires": { 2794 | "chalk": "^5.0.0", 2795 | "is-unicode-supported": "^1.1.0" 2796 | } 2797 | }, 2798 | "lru-cache": { 2799 | "version": "10.2.0", 2800 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", 2801 | "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", 2802 | "dev": true 2803 | }, 2804 | "mdn-data": { 2805 | "version": "2.0.30", 2806 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", 2807 | "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", 2808 | "dev": true 2809 | }, 2810 | "merge2": { 2811 | "version": "1.4.1", 2812 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 2813 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 2814 | "dev": true 2815 | }, 2816 | "micromatch": { 2817 | "version": "4.0.5", 2818 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 2819 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 2820 | "dev": true, 2821 | "requires": { 2822 | "braces": "^3.0.2", 2823 | "picomatch": "^2.3.1" 2824 | } 2825 | }, 2826 | "mime-db": { 2827 | "version": "1.52.0", 2828 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 2829 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 2830 | "dev": true 2831 | }, 2832 | "mime-types": { 2833 | "version": "2.1.35", 2834 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 2835 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 2836 | "dev": true, 2837 | "requires": { 2838 | "mime-db": "1.52.0" 2839 | } 2840 | }, 2841 | "mimic-fn": { 2842 | "version": "2.1.0", 2843 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 2844 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 2845 | "dev": true 2846 | }, 2847 | "mini-svg-data-uri": { 2848 | "version": "1.4.4", 2849 | "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", 2850 | "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", 2851 | "dev": true 2852 | }, 2853 | "minimatch": { 2854 | "version": "9.0.4", 2855 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", 2856 | "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", 2857 | "dev": true, 2858 | "requires": { 2859 | "brace-expansion": "^2.0.1" 2860 | } 2861 | }, 2862 | "minipass": { 2863 | "version": "7.0.4", 2864 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", 2865 | "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", 2866 | "dev": true 2867 | }, 2868 | "mz": { 2869 | "version": "2.7.0", 2870 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 2871 | "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 2872 | "dev": true, 2873 | "requires": { 2874 | "any-promise": "^1.0.0", 2875 | "object-assign": "^4.0.1", 2876 | "thenify-all": "^1.0.0" 2877 | } 2878 | }, 2879 | "nanoid": { 2880 | "version": "3.3.7", 2881 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", 2882 | "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", 2883 | "dev": true 2884 | }, 2885 | "node-releases": { 2886 | "version": "2.0.14", 2887 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", 2888 | "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", 2889 | "dev": true 2890 | }, 2891 | "normalize-path": { 2892 | "version": "3.0.0", 2893 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 2894 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 2895 | "dev": true 2896 | }, 2897 | "normalize-range": { 2898 | "version": "0.1.2", 2899 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 2900 | "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", 2901 | "dev": true 2902 | }, 2903 | "object-assign": { 2904 | "version": "4.1.1", 2905 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2906 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 2907 | "dev": true 2908 | }, 2909 | "object-hash": { 2910 | "version": "3.0.0", 2911 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", 2912 | "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", 2913 | "dev": true 2914 | }, 2915 | "onetime": { 2916 | "version": "5.1.2", 2917 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", 2918 | "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", 2919 | "dev": true, 2920 | "requires": { 2921 | "mimic-fn": "^2.1.0" 2922 | } 2923 | }, 2924 | "ora": { 2925 | "version": "6.3.1", 2926 | "resolved": "https://registry.npmjs.org/ora/-/ora-6.3.1.tgz", 2927 | "integrity": "sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==", 2928 | "dev": true, 2929 | "requires": { 2930 | "chalk": "^5.0.0", 2931 | "cli-cursor": "^4.0.0", 2932 | "cli-spinners": "^2.6.1", 2933 | "is-interactive": "^2.0.0", 2934 | "is-unicode-supported": "^1.1.0", 2935 | "log-symbols": "^5.1.0", 2936 | "stdin-discarder": "^0.1.0", 2937 | "strip-ansi": "^7.0.1", 2938 | "wcwidth": "^1.0.1" 2939 | } 2940 | }, 2941 | "path-key": { 2942 | "version": "3.1.1", 2943 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 2944 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 2945 | "dev": true 2946 | }, 2947 | "path-parse": { 2948 | "version": "1.0.7", 2949 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 2950 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 2951 | "dev": true 2952 | }, 2953 | "path-scurry": { 2954 | "version": "1.10.2", 2955 | "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", 2956 | "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", 2957 | "dev": true, 2958 | "requires": { 2959 | "lru-cache": "^10.2.0", 2960 | "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" 2961 | } 2962 | }, 2963 | "picocolors": { 2964 | "version": "1.0.0", 2965 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 2966 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 2967 | "dev": true 2968 | }, 2969 | "picomatch": { 2970 | "version": "2.3.1", 2971 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 2972 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 2973 | "dev": true 2974 | }, 2975 | "pify": { 2976 | "version": "2.3.0", 2977 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 2978 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 2979 | "dev": true 2980 | }, 2981 | "pirates": { 2982 | "version": "4.0.6", 2983 | "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", 2984 | "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", 2985 | "dev": true 2986 | }, 2987 | "postcss": { 2988 | "version": "8.4.38", 2989 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", 2990 | "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", 2991 | "dev": true, 2992 | "requires": { 2993 | "nanoid": "^3.3.7", 2994 | "picocolors": "^1.0.0", 2995 | "source-map-js": "^1.2.0" 2996 | } 2997 | }, 2998 | "postcss-import": { 2999 | "version": "15.1.0", 3000 | "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", 3001 | "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", 3002 | "dev": true, 3003 | "requires": { 3004 | "postcss-value-parser": "^4.0.0", 3005 | "read-cache": "^1.0.0", 3006 | "resolve": "^1.1.7" 3007 | } 3008 | }, 3009 | "postcss-js": { 3010 | "version": "4.0.1", 3011 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", 3012 | "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", 3013 | "dev": true, 3014 | "requires": { 3015 | "camelcase-css": "^2.0.1" 3016 | } 3017 | }, 3018 | "postcss-load-config": { 3019 | "version": "4.0.2", 3020 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", 3021 | "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", 3022 | "dev": true, 3023 | "requires": { 3024 | "lilconfig": "^3.0.0", 3025 | "yaml": "^2.3.4" 3026 | }, 3027 | "dependencies": { 3028 | "lilconfig": { 3029 | "version": "3.1.1", 3030 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", 3031 | "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", 3032 | "dev": true 3033 | } 3034 | } 3035 | }, 3036 | "postcss-nested": { 3037 | "version": "6.0.1", 3038 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", 3039 | "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", 3040 | "dev": true, 3041 | "requires": { 3042 | "postcss-selector-parser": "^6.0.11" 3043 | }, 3044 | "dependencies": { 3045 | "postcss-selector-parser": { 3046 | "version": "6.0.16", 3047 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", 3048 | "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", 3049 | "dev": true, 3050 | "requires": { 3051 | "cssesc": "^3.0.0", 3052 | "util-deprecate": "^1.0.2" 3053 | } 3054 | } 3055 | } 3056 | }, 3057 | "postcss-selector-parser": { 3058 | "version": "6.0.10", 3059 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", 3060 | "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", 3061 | "dev": true, 3062 | "requires": { 3063 | "cssesc": "^3.0.0", 3064 | "util-deprecate": "^1.0.2" 3065 | } 3066 | }, 3067 | "postcss-value-parser": { 3068 | "version": "4.2.0", 3069 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 3070 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 3071 | "dev": true 3072 | }, 3073 | "prettier": { 3074 | "version": "2.8.8", 3075 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", 3076 | "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", 3077 | "dev": true 3078 | }, 3079 | "prettier-plugin-tailwindcss": { 3080 | "version": "0.1.13", 3081 | "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.1.13.tgz", 3082 | "integrity": "sha512-/EKQURUrxLu66CMUg4+1LwGdxnz8of7IDvrSLqEtDqhLH61SAlNNUSr90UTvZaemujgl3OH/VHg+fyGltrNixw==", 3083 | "dev": true, 3084 | "requires": {} 3085 | }, 3086 | "proxy-from-env": { 3087 | "version": "1.1.0", 3088 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", 3089 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", 3090 | "dev": true 3091 | }, 3092 | "queue-microtask": { 3093 | "version": "1.2.3", 3094 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 3095 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 3096 | "dev": true 3097 | }, 3098 | "read-cache": { 3099 | "version": "1.0.0", 3100 | "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 3101 | "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 3102 | "dev": true, 3103 | "requires": { 3104 | "pify": "^2.3.0" 3105 | } 3106 | }, 3107 | "readable-stream": { 3108 | "version": "3.6.2", 3109 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 3110 | "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 3111 | "dev": true, 3112 | "requires": { 3113 | "inherits": "^2.0.3", 3114 | "string_decoder": "^1.1.1", 3115 | "util-deprecate": "^1.0.1" 3116 | } 3117 | }, 3118 | "readdirp": { 3119 | "version": "3.6.0", 3120 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 3121 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 3122 | "dev": true, 3123 | "requires": { 3124 | "picomatch": "^2.2.1" 3125 | } 3126 | }, 3127 | "resolve": { 3128 | "version": "1.22.8", 3129 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", 3130 | "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", 3131 | "dev": true, 3132 | "requires": { 3133 | "is-core-module": "^2.13.0", 3134 | "path-parse": "^1.0.7", 3135 | "supports-preserve-symlinks-flag": "^1.0.0" 3136 | } 3137 | }, 3138 | "restore-cursor": { 3139 | "version": "4.0.0", 3140 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", 3141 | "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", 3142 | "dev": true, 3143 | "requires": { 3144 | "onetime": "^5.1.0", 3145 | "signal-exit": "^3.0.2" 3146 | } 3147 | }, 3148 | "reusify": { 3149 | "version": "1.0.4", 3150 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 3151 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 3152 | "dev": true 3153 | }, 3154 | "run-parallel": { 3155 | "version": "1.2.0", 3156 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 3157 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 3158 | "dev": true, 3159 | "requires": { 3160 | "queue-microtask": "^1.2.2" 3161 | } 3162 | }, 3163 | "safe-buffer": { 3164 | "version": "5.2.1", 3165 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 3166 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 3167 | "dev": true 3168 | }, 3169 | "shebang-command": { 3170 | "version": "2.0.0", 3171 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 3172 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 3173 | "dev": true, 3174 | "requires": { 3175 | "shebang-regex": "^3.0.0" 3176 | } 3177 | }, 3178 | "shebang-regex": { 3179 | "version": "3.0.0", 3180 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 3181 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 3182 | "dev": true 3183 | }, 3184 | "signal-exit": { 3185 | "version": "3.0.7", 3186 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 3187 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 3188 | "dev": true 3189 | }, 3190 | "source-map-js": { 3191 | "version": "1.2.0", 3192 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", 3193 | "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", 3194 | "dev": true 3195 | }, 3196 | "stdin-discarder": { 3197 | "version": "0.1.0", 3198 | "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", 3199 | "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", 3200 | "dev": true, 3201 | "requires": { 3202 | "bl": "^5.0.0" 3203 | } 3204 | }, 3205 | "string_decoder": { 3206 | "version": "1.3.0", 3207 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 3208 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 3209 | "dev": true, 3210 | "requires": { 3211 | "safe-buffer": "~5.2.0" 3212 | } 3213 | }, 3214 | "string-width": { 3215 | "version": "5.1.2", 3216 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 3217 | "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 3218 | "dev": true, 3219 | "requires": { 3220 | "eastasianwidth": "^0.2.0", 3221 | "emoji-regex": "^9.2.2", 3222 | "strip-ansi": "^7.0.1" 3223 | } 3224 | }, 3225 | "string-width-cjs": { 3226 | "version": "npm:string-width@4.2.3", 3227 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 3228 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 3229 | "dev": true, 3230 | "requires": { 3231 | "emoji-regex": "^8.0.0", 3232 | "is-fullwidth-code-point": "^3.0.0", 3233 | "strip-ansi": "^6.0.1" 3234 | }, 3235 | "dependencies": { 3236 | "ansi-regex": { 3237 | "version": "5.0.1", 3238 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 3239 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 3240 | "dev": true 3241 | }, 3242 | "emoji-regex": { 3243 | "version": "8.0.0", 3244 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 3245 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 3246 | "dev": true 3247 | }, 3248 | "strip-ansi": { 3249 | "version": "6.0.1", 3250 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 3251 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 3252 | "dev": true, 3253 | "requires": { 3254 | "ansi-regex": "^5.0.1" 3255 | } 3256 | } 3257 | } 3258 | }, 3259 | "strip-ansi": { 3260 | "version": "7.1.0", 3261 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 3262 | "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 3263 | "dev": true, 3264 | "requires": { 3265 | "ansi-regex": "^6.0.1" 3266 | } 3267 | }, 3268 | "strip-ansi-cjs": { 3269 | "version": "npm:strip-ansi@6.0.1", 3270 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 3271 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 3272 | "dev": true, 3273 | "requires": { 3274 | "ansi-regex": "^5.0.1" 3275 | }, 3276 | "dependencies": { 3277 | "ansi-regex": { 3278 | "version": "5.0.1", 3279 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 3280 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 3281 | "dev": true 3282 | } 3283 | } 3284 | }, 3285 | "sucrase": { 3286 | "version": "3.35.0", 3287 | "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", 3288 | "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", 3289 | "dev": true, 3290 | "requires": { 3291 | "@jridgewell/gen-mapping": "^0.3.2", 3292 | "commander": "^4.0.0", 3293 | "glob": "^10.3.10", 3294 | "lines-and-columns": "^1.1.6", 3295 | "mz": "^2.7.0", 3296 | "pirates": "^4.0.1", 3297 | "ts-interface-checker": "^0.1.9" 3298 | } 3299 | }, 3300 | "supports-preserve-symlinks-flag": { 3301 | "version": "1.0.0", 3302 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 3303 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 3304 | "dev": true 3305 | }, 3306 | "tailwindcss": { 3307 | "version": "3.4.3", 3308 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", 3309 | "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", 3310 | "dev": true, 3311 | "requires": { 3312 | "@alloc/quick-lru": "^5.2.0", 3313 | "arg": "^5.0.2", 3314 | "chokidar": "^3.5.3", 3315 | "didyoumean": "^1.2.2", 3316 | "dlv": "^1.1.3", 3317 | "fast-glob": "^3.3.0", 3318 | "glob-parent": "^6.0.2", 3319 | "is-glob": "^4.0.3", 3320 | "jiti": "^1.21.0", 3321 | "lilconfig": "^2.1.0", 3322 | "micromatch": "^4.0.5", 3323 | "normalize-path": "^3.0.0", 3324 | "object-hash": "^3.0.0", 3325 | "picocolors": "^1.0.0", 3326 | "postcss": "^8.4.23", 3327 | "postcss-import": "^15.1.0", 3328 | "postcss-js": "^4.0.1", 3329 | "postcss-load-config": "^4.0.1", 3330 | "postcss-nested": "^6.0.1", 3331 | "postcss-selector-parser": "^6.0.11", 3332 | "resolve": "^1.22.2", 3333 | "sucrase": "^3.32.0" 3334 | }, 3335 | "dependencies": { 3336 | "postcss-selector-parser": { 3337 | "version": "6.0.16", 3338 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", 3339 | "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", 3340 | "dev": true, 3341 | "requires": { 3342 | "cssesc": "^3.0.0", 3343 | "util-deprecate": "^1.0.2" 3344 | } 3345 | } 3346 | } 3347 | }, 3348 | "thenify": { 3349 | "version": "3.3.1", 3350 | "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 3351 | "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 3352 | "dev": true, 3353 | "requires": { 3354 | "any-promise": "^1.0.0" 3355 | } 3356 | }, 3357 | "thenify-all": { 3358 | "version": "1.6.0", 3359 | "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 3360 | "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", 3361 | "dev": true, 3362 | "requires": { 3363 | "thenify": ">= 3.1.0 < 4" 3364 | } 3365 | }, 3366 | "to-regex-range": { 3367 | "version": "5.0.1", 3368 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 3369 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 3370 | "dev": true, 3371 | "requires": { 3372 | "is-number": "^7.0.0" 3373 | } 3374 | }, 3375 | "ts-interface-checker": { 3376 | "version": "0.1.13", 3377 | "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", 3378 | "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", 3379 | "dev": true 3380 | }, 3381 | "update-browserslist-db": { 3382 | "version": "1.0.13", 3383 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", 3384 | "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", 3385 | "dev": true, 3386 | "requires": { 3387 | "escalade": "^3.1.1", 3388 | "picocolors": "^1.0.0" 3389 | } 3390 | }, 3391 | "util-deprecate": { 3392 | "version": "1.0.2", 3393 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3394 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 3395 | "dev": true 3396 | }, 3397 | "wcwidth": { 3398 | "version": "1.0.1", 3399 | "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", 3400 | "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", 3401 | "dev": true, 3402 | "requires": { 3403 | "defaults": "^1.0.3" 3404 | } 3405 | }, 3406 | "which": { 3407 | "version": "2.0.2", 3408 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 3409 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 3410 | "dev": true, 3411 | "requires": { 3412 | "isexe": "^2.0.0" 3413 | } 3414 | }, 3415 | "wrap-ansi": { 3416 | "version": "8.1.0", 3417 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", 3418 | "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", 3419 | "dev": true, 3420 | "requires": { 3421 | "ansi-styles": "^6.1.0", 3422 | "string-width": "^5.0.1", 3423 | "strip-ansi": "^7.0.1" 3424 | } 3425 | }, 3426 | "wrap-ansi-cjs": { 3427 | "version": "npm:wrap-ansi@7.0.0", 3428 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 3429 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 3430 | "dev": true, 3431 | "requires": { 3432 | "ansi-styles": "^4.0.0", 3433 | "string-width": "^4.1.0", 3434 | "strip-ansi": "^6.0.0" 3435 | }, 3436 | "dependencies": { 3437 | "ansi-regex": { 3438 | "version": "5.0.1", 3439 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 3440 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 3441 | "dev": true 3442 | }, 3443 | "ansi-styles": { 3444 | "version": "4.3.0", 3445 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 3446 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 3447 | "dev": true, 3448 | "requires": { 3449 | "color-convert": "^2.0.1" 3450 | } 3451 | }, 3452 | "emoji-regex": { 3453 | "version": "8.0.0", 3454 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 3455 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 3456 | "dev": true 3457 | }, 3458 | "string-width": { 3459 | "version": "4.2.3", 3460 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 3461 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 3462 | "dev": true, 3463 | "requires": { 3464 | "emoji-regex": "^8.0.0", 3465 | "is-fullwidth-code-point": "^3.0.0", 3466 | "strip-ansi": "^6.0.1" 3467 | } 3468 | }, 3469 | "strip-ansi": { 3470 | "version": "6.0.1", 3471 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 3472 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 3473 | "dev": true, 3474 | "requires": { 3475 | "ansi-regex": "^5.0.1" 3476 | } 3477 | } 3478 | } 3479 | }, 3480 | "yaml": { 3481 | "version": "2.4.1", 3482 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", 3483 | "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", 3484 | "dev": true 3485 | } 3486 | } 3487 | } 3488 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "scripts": { 4 | "dev": "npx tailwindcss -i resources/css/index.css -o resources/dist/filament-focal-point-picker.css --postcss --watch", 5 | "build": "npx tailwindcss -i resources/css/index.css -o resources/dist/filament-focal-point-picker.css --postcss --minify && npm run purge", 6 | "purge": "filament-purge -i resources/dist/filament-focal-point-picker.css -o resources/dist/filament-focal-point-picker.css -v 3.x" 7 | }, 8 | "devDependencies": { 9 | "@awcodes/filament-plugin-purge": "^1.1.1", 10 | "@tailwindcss/forms": "^0.5.4", 11 | "@tailwindcss/typography": "^0.5.9", 12 | "autoprefixer": "^10.4.14", 13 | "postcss": "^8.4.26", 14 | "postcss-import": "^15.1.0", 15 | "prettier": "^2.7.1", 16 | "prettier-plugin-tailwindcss": "^0.1.13", 17 | "tailwindcss": "^3.3.3" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: [ 3 | require('postcss-nesting')(), 4 | require('cssnano')({ 5 | preset: 'default', 6 | }), 7 | ], 8 | }; 9 | -------------------------------------------------------------------------------- /resources/css/index.css: -------------------------------------------------------------------------------- 1 | @tailwind utilities; 2 | -------------------------------------------------------------------------------- /resources/dist/filament-focal-point-picker.css: -------------------------------------------------------------------------------- 1 | .col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.row-span-2{grid-row:span 2/span 2}.mt-12{margin-top:3rem}.h-auto{height:auto}.min-h-\[30rem\]{min-height:30rem}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-opacity-50{--tw-bg-opacity:0.5}.hover\:text-primary-500:hover{--tw-text-opacity:1;color:rgba(var(--primary-500),var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}@media (min-width:640px){.sm\:mt-0{margin-top:0}.sm\:pt-6{padding-top:1.5rem}.ltr\:sm\:pl-8:where([dir=ltr],[dir=ltr] *){padding-left:2rem}}.rtl\:space-x-reverse:where([dir=rtl],[dir=rtl] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}@media (min-width:640px){.rtl\:sm\:pr-8:where([dir=rtl],[dir=rtl] *){padding-right:2rem}} -------------------------------------------------------------------------------- /resources/lang/ar.json: -------------------------------------------------------------------------------- 1 | { 2 | "Currently": "الحالي", 3 | "Update focal point": "تحديث النقطة المحورية", 4 | "You need to provide an image.": "يجب اختيار الصورة اولا", 5 | "Focal point picker": "تحديد النقطة المحورية", 6 | "Click an area on the image below to set the focal point.": "اضعط في اي مكان في الصورة لتحديد النقطة المحورية", 7 | "Preview": "معاينة", 8 | "Cancel": "الغاء", 9 | "Update and close": "تحديث واغلاق" 10 | } 11 | -------------------------------------------------------------------------------- /resources/lang/de.json: -------------------------------------------------------------------------------- 1 | { 2 | "Currently": "aktuell", 3 | "Update focal point": "Fokuspunkt aktualisieren", 4 | "You need to provide an image.": "Kein Bild gefunden.", 5 | "Focal point picker": "Fokuspunkt auswählen", 6 | "Click an area on the image below to set the focal point.": "Clicken Sie ins Bild um einen Punkt auszuwählen", 7 | "Preview": "Vorschau", 8 | "Cancel": "Abbrechenء", 9 | "Update and close": "Speichern & Schliessen" 10 | } 11 | -------------------------------------------------------------------------------- /resources/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johncarter-/filament-focal-point-picker/b164f607e3c29f9f46e1078df5c16ea2cf1304d9/resources/views/.gitkeep -------------------------------------------------------------------------------- /resources/views/forms/components/fields/focal-point-picker.blade.php: -------------------------------------------------------------------------------- 1 | @php 2 | $id = $getId(); 3 | $isDisabled = $isDisabled(); 4 | $statePath = $getStatePath(); 5 | @endphp 6 | 9 |
12 |
15 | @if ($getImage()) 16 |
{{ __('Currently') }}:
17 | 26 | @else 27 | {{ __('You need to provide an image.') }} 28 | @endif 29 |
30 |
31 |
32 | 37 | 38 |
39 | 59 |
60 | {{-- Preview --}} 61 |
62 |

{{ __('Preview') }}

63 |
64 |
65 |
66 | 70 |
71 |
72 | 76 |
77 |
78 | 82 |
83 |
84 |
85 |
86 | 87 | 88 |
89 | 93 | {{ __('Cancel') }} 94 | 95 | 96 | 98 | {{ __('Update and close') }} 99 | 100 |
101 |
102 |
103 | -------------------------------------------------------------------------------- /src/FilamentFocalPointPickerServiceProvider.php: -------------------------------------------------------------------------------- 1 | name(static::$name) 18 | ->hasAssets() 19 | ->hasViews() 20 | ->hasTranslations(); 21 | } 22 | 23 | public function packageBooted(): void 24 | { 25 | FilamentAsset::register([ 26 | Css::make(static::$name, __DIR__ . '/../resources/dist/filament-focal-point-picker.css')->loadedOnRequest(), 27 | ], 'johncarter/filament-focal-point-picker'); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/Forms/Components/Fields/FocalPointPicker.php: -------------------------------------------------------------------------------- 1 | default('50% 50%'); 24 | } 25 | 26 | public function imageField(string $field): static 27 | { 28 | return $this->image(function (Get $get) use ($field) { 29 | $imageState = collect($get($field))?->first(); 30 | 31 | if ($imageState instanceof TemporaryUploadedFile) { 32 | return $imageState->temporaryUrl(); 33 | } 34 | 35 | return is_string($imageState) ? Storage::url($imageState) : null; 36 | }); 37 | } 38 | 39 | public function image(string | Closure | null $image): static 40 | { 41 | $this->image = $image; 42 | 43 | return $this; 44 | } 45 | 46 | public function getImage(): ?string 47 | { 48 | return $this->evaluate($this->image); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | const preset = require('./vendor/filament/filament/tailwind.config.preset') 2 | 3 | module.exports = { 4 | presets: [preset], 5 | content: ["./resources/**/*.blade.php"], 6 | } 7 | --------------------------------------------------------------------------------