├── .eslintrc.json ├── .gitignore ├── .vscode ├── extensions.json ├── launch.json ├── settings.json └── tasks.json ├── .vscodeignore ├── .yarnrc ├── CHANGELOG.md ├── README.md ├── global.d.ts ├── ideas.txt ├── package.json ├── src ├── built-php-wasm-node │ ├── index.d.ts │ ├── index.js │ ├── noop.js │ ├── package.json │ ├── packages │ │ └── php-wasm │ │ │ └── node │ │ │ └── README.md │ ├── php_5_6.wasm │ ├── php_7_0.wasm │ ├── php_7_1.wasm │ ├── php_7_2.wasm │ ├── php_7_3.wasm │ ├── php_7_4.wasm │ ├── php_8_0.wasm │ ├── php_8_1.wasm │ └── php_8_2.wasm ├── extension.ts ├── lib │ └── patch-wordpress.ts ├── playground-website-components │ ├── address-bar │ │ ├── index.tsx │ │ └── style.module.css │ ├── browser-chrome │ │ ├── index.tsx │ │ └── style.module.css │ └── version-select │ │ └── index.tsx ├── playground-website.tsx └── wordpress.zip ├── tsconfig.json ├── vsc-extension-quickstart.md ├── webpack.config.js └── yarn.lock /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "parser": "@typescript-eslint/parser", 4 | "parserOptions": { 5 | "ecmaVersion": 6, 6 | "sourceType": "module" 7 | }, 8 | "plugins": [ 9 | "@typescript-eslint" 10 | ], 11 | "rules": { 12 | "@typescript-eslint/naming-convention": "warn", 13 | "@typescript-eslint/semi": "warn", 14 | "curly": "warn", 15 | "eqeqeq": "warn", 16 | "no-throw-literal": "warn", 17 | "semi": "off" 18 | }, 19 | "ignorePatterns": [ 20 | "out", 21 | "dist", 22 | "**/*.d.ts" 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | out 2 | dist 3 | node_modules 4 | .vscode-test/ 5 | *.vsix 6 | .DS_Store 7 | yarn-error.log 8 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 3 | // for the documentation about the extensions.json format 4 | "recommendations": ["dbaeumer.vscode-eslint", "amodio.tsl-problem-matcher"] 5 | } 6 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | // A launch configuration that compiles the extension and then opens it inside a new window 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | { 6 | "version": "0.2.0", 7 | "configurations": [ 8 | { 9 | "name": "Run Extension", 10 | "type": "extensionHost", 11 | "request": "launch", 12 | "args": [ 13 | "--extensionDevelopmentPath=${workspaceFolder}" 14 | ], 15 | "outFiles": [ 16 | "${workspaceFolder}/dist/**/*.js" 17 | ], 18 | "preLaunchTask": "${defaultBuildTask}" 19 | }, 20 | { 21 | "name": "Extension Tests", 22 | "type": "extensionHost", 23 | "request": "launch", 24 | "args": [ 25 | "--extensionDevelopmentPath=${workspaceFolder}", 26 | "--extensionTestsPath=${workspaceFolder}/out/test/suite/index" 27 | ], 28 | "outFiles": [ 29 | "${workspaceFolder}/out/**/*.js", 30 | "${workspaceFolder}/dist/**/*.js" 31 | ], 32 | "preLaunchTask": "tasks: watch-tests" 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | // Place your settings in this file to overwrite default and user settings. 2 | { 3 | "files.exclude": { 4 | "out": false, // set this to true to hide the "out" folder with the compiled JS files 5 | "dist": false // set this to true to hide the "dist" folder with the compiled JS files 6 | }, 7 | "search.exclude": { 8 | "out": true, // set this to false to include "out" folder in search results 9 | "dist": true // set this to false to include "dist" folder in search results 10 | }, 11 | // Turn off tsc task auto detection since we have the necessary tasks as npm scripts 12 | "typescript.tsc.autoDetect": "off" 13 | } -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | // See https://go.microsoft.com/fwlink/?LinkId=733558 2 | // for the documentation about the tasks.json format 3 | { 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | "type": "npm", 8 | "script": "watch", 9 | "problemMatcher": "$ts-webpack-watch", 10 | "isBackground": true, 11 | "presentation": { 12 | "reveal": "never", 13 | "group": "watchers" 14 | }, 15 | "group": { 16 | "kind": "build", 17 | "isDefault": true 18 | } 19 | }, 20 | { 21 | "type": "npm", 22 | "script": "watch-tests", 23 | "problemMatcher": "$tsc-watch", 24 | "isBackground": true, 25 | "presentation": { 26 | "reveal": "never", 27 | "group": "watchers" 28 | }, 29 | "group": "build" 30 | }, 31 | { 32 | "label": "tasks: watch-tests", 33 | "dependsOn": [ 34 | "npm: watch", 35 | "npm: watch-tests" 36 | ], 37 | "problemMatcher": [] 38 | } 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /.vscodeignore: -------------------------------------------------------------------------------- 1 | .vscode/** 2 | .vscode-test/** 3 | out/** 4 | node_modules/** 5 | src/** 6 | .gitignore 7 | .yarnrc 8 | webpack.config.js 9 | vsc-extension-quickstart.md 10 | **/tsconfig.json 11 | **/.eslintrc.json 12 | **/*.map 13 | **/*.ts 14 | -------------------------------------------------------------------------------- /.yarnrc: -------------------------------------------------------------------------------- 1 | --ignore-engines true -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to the "wordpress-playground" extension will be documented in this file. 4 | 5 | Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. 6 | 7 | ## [Unreleased] 8 | 9 | - Initial release -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # wordpress-playground README 2 | 3 | This Visual Studio Code extension allows you to quickly create a WordPress playground for testing your code. It was initially created as part of Cloudfest Hackathon 2023. 4 | 5 | **IMPORTANT**: This project moved to [WordPress/wordpress-playground](https://github.com/WordPress/wordpress-playground) 6 | 7 | ## Features 8 | 9 | This extension allows you to create a WordPress playground with a single command. Simply run the command `Launch WordPress Playground` while within a file in the root directory of your plugin and the extension will open up a panel that includes a locally running WordPress instance with your plugin running. 10 | 11 | ## Known Issues 12 | 13 | - The extension has only been tested on macOS. It may not work on Windows. 14 | - The extension currently only takes into account plugins, not themes. 15 | - The extension currently expects that the command is run while within a file in the root directory of the plugin. A WordPress playground will still be created and mounted, but the plugin will not be functional if the command is run from an unintended directory. 16 | - Some requests may not succeed. This is likely due to the fact that we have a minimally implemented server translation layer. 17 | 18 | ## Build PHP-wasm 19 | Inside the wordpress-playground repo: 20 | ``` 21 | npx nx build:bundle php-wasm-node 22 | npx nx recompile-php:all php-wasm-node --WITH_WS_NETWORKING_PROXY='no' 23 | ``` 24 | Place the `index.js` inside `wordpress-playground/dist/packages/php-wasm/node` and copy the wasm files into the VS code extension directory. 25 | 26 | ## Release Notes 27 | 28 | ### 0.0.2 29 | 30 | Hopefully fix the bug. 31 | ### 0.0.1 32 | 33 | Initial release of WordPress Playground for VS Code. 34 | -------------------------------------------------------------------------------- /global.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.module.css' { 2 | const classes: { [key: string]: string }; 3 | export default classes; 4 | } 5 | -------------------------------------------------------------------------------- /ideas.txt: -------------------------------------------------------------------------------- 1 | - Allow switching between PHP and WordPress versions. 2 | 3. Integrate version switching to the extension. 3 | - Mount themes and wp-content directory. 4 | - Restore network access 5 | - Use a unique Playground per project. 6 | - Provide direction on how to debug PHP code. 7 | - Run WP-CLI commands against the site. 8 | - Figure out bug reproduction workflow 9 | - Test performance vs. Docker and Local 10 | - Move ideas to GitHub issues 11 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wordpress-playground", 3 | "displayName": "WordPress Playground for VS Code", 4 | "description": "Embeds a WordPress installation in your your VS Code", 5 | "license": "MIT", 6 | "publisher": "WordPressPlayground", 7 | "version": "0.0.2", 8 | "engines": { 9 | "vscode": "^1.76.0" 10 | }, 11 | "categories": [ 12 | "Other" 13 | ], 14 | "activationEvents": [], 15 | "main": "./dist/extension.js", 16 | "contributes": { 17 | "commands": [ 18 | { 19 | "command": "wordpress-playground.iframePlayground", 20 | "title": "Launch WordPress Playground" 21 | } 22 | ] 23 | }, 24 | "scripts": { 25 | "vscode:prepublish": "yarn run package", 26 | "compile": "webpack", 27 | "watch": "webpack --watch", 28 | "package": "webpack --mode production --devtool hidden-source-map", 29 | "compile-tests": "tsc -p . --outDir out", 30 | "watch-tests": "tsc -p . -w --outDir out", 31 | "pretest": "yarn run compile-tests && yarn run compile && yarn run lint", 32 | "lint": "eslint src --ext ts", 33 | "test": "node ./out/test/runTest.js" 34 | }, 35 | "devDependencies": { 36 | "@types/css-modules": "^1.0.2", 37 | "@types/glob": "^8.1.0", 38 | "@types/mocha": "^10.0.1", 39 | "@types/node": "16.x", 40 | "@types/react": "^18.0.28", 41 | "@types/react-dom": "^18.0.11", 42 | "@types/vscode": "^1.76.0", 43 | "@typescript-eslint/eslint-plugin": "^5.53.0", 44 | "@typescript-eslint/parser": "^5.53.0", 45 | "@vscode/test-electron": "^2.2.3", 46 | "copy-webpack-plugin": "^11.0.0", 47 | "eslint": "^8.34.0", 48 | "glob": "^8.1.0", 49 | "mocha": "^10.2.0", 50 | "ts-loader": "^9.4.2", 51 | "typescript": "^4.9.5", 52 | "webpack": "^5.75.0", 53 | "webpack-cli": "^5.0.1" 54 | }, 55 | "dependencies": { 56 | "@php-wasm/node": "^0.0.3", 57 | "classnames": "^2.3.2", 58 | "css-loader": "^6.7.3", 59 | "react": "^18.2.0", 60 | "react-dom": "^18.2.0", 61 | "style-loader": "^3.3.2" 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/built-php-wasm-node/index.d.ts: -------------------------------------------------------------------------------- 1 | // Generated by dts-bundle-generator v7.2.0 2 | 3 | export type JavascriptRuntime = "NODE" | "WEB" | "WORKER"; 4 | export type PHPRequestHeaders = Record; 5 | export interface FileInfo { 6 | key: string; 7 | name: string; 8 | type: string; 9 | data: Uint8Array; 10 | } 11 | export interface PHPRequest { 12 | /** 13 | * Request path following the domain:port part. 14 | */ 15 | relativeUri?: string; 16 | /** 17 | * Path of the .php file to execute. 18 | */ 19 | scriptPath?: string; 20 | /** 21 | * Request protocol. 22 | */ 23 | protocol?: string; 24 | /** 25 | * Request method. Default: `GET`. 26 | */ 27 | method?: "GET" | "POST" | "HEAD" | "OPTIONS" | "PATCH" | "PUT" | "DELETE"; 28 | /** 29 | * Request headers. 30 | */ 31 | headers?: PHPRequestHeaders; 32 | /** 33 | * Request body without the files. 34 | */ 35 | body?: string; 36 | /** 37 | * Uploaded files. 38 | */ 39 | fileInfos?: FileInfo[]; 40 | /** 41 | * The code snippet to eval instead of a php file. 42 | */ 43 | code?: string; 44 | } 45 | export interface PHPResponse { 46 | /** 47 | * The exit code of the script. `0` is a success, while 48 | * `1` and `2` indicate an error. 49 | */ 50 | exitCode: number; 51 | /** 52 | * Response body. Contains the output from `echo`, 53 | * `print`, inline HTML etc. 54 | */ 55 | body: ArrayBuffer; 56 | /** 57 | * PHP errors. 58 | */ 59 | errors: string; 60 | /** 61 | * Response headers. 62 | */ 63 | headers: Record; 64 | /** 65 | * Response HTTP status code, e.g. 200. 66 | */ 67 | httpStatusCode: number; 68 | } 69 | export type PHPRuntimeId = number; 70 | /** 71 | * Loads the PHP runtime with the given arguments and data dependencies. 72 | * 73 | * This function handles the entire PHP initialization pipeline. In particular, it: 74 | * 75 | * * Instantiates the Emscripten PHP module 76 | * * Wires it together with the data dependencies and loads them 77 | * * Ensures is all happens in a correct order 78 | * * Waits until the entire loading sequence is finished 79 | * 80 | * Basic usage: 81 | * 82 | * ```js 83 | * const phpLoaderModule = await getPHPLoaderModule("7.4"); 84 | * const php = await loadPHPRuntime( phpLoaderModule ); 85 | * console.log(php.run(`'; ` 151 | * 3. Prepend `export const dependenciesTotalSize = ;` 152 | * 4. Append `}` 153 | * 154 | * Be sure to use the `--export-name="emscriptenPHPModule"` file_packager.py option. 155 | * 156 | * You want the final output to look as follows: 157 | * 158 | * ```js 159 | * export const dependenciesTotalSize = 5644199; 160 | * export const dependencyFilename = 'dependency.data'; 161 | * export default function(emscriptenPHPModule) { 162 | * // Emscripten-generated code: 163 | * var Module = typeof emscriptenPHPModule !== 'undefined' ? emscriptenPHPModule : {}; 164 | * // ... the rest of it ... 165 | * } 166 | * ``` 167 | * 168 | * Such a constructions enables loading the `dependency.js` as an ES Module using 169 | * `import("/dependency.js")`. 170 | * 171 | * Once it's ready, you can load PHP and your data dependencies as follows: 172 | * 173 | * ```js 174 | * const [phpLoaderModule, wordPressLoaderModule] = await Promise.all([ 175 | * getPHPLoaderModule("7.4"), 176 | * import("/wp.js") 177 | * ]); 178 | * const php = await loadPHPRuntime(phpLoaderModule, {}, [wordPressLoaderModule]); 179 | * ``` 180 | * 181 | * @public 182 | * @param phpLoaderModule - The ESM-wrapped Emscripten module. Consult the Dockerfile for the build process. 183 | * @param phpModuleArgs - The Emscripten module arguments, see https://emscripten.org/docs/api_reference/module.html#affecting-execution. 184 | * @param dataDependenciesModules - A list of the ESM-wrapped Emscripten data dependency modules. 185 | * @returns Loaded runtime id. 186 | */ 187 | export declare function loadPHPRuntime(phpLoaderModule: PHPLoaderModule, phpModuleArgs?: EmscriptenOptions, dataDependenciesModules?: DataModule[]): Promise; 188 | export interface WithPHPIniBindings { 189 | setPhpIniPath(path: string): void; 190 | setPhpIniEntry(key: string, value: string): void; 191 | } 192 | export interface WithCLI { 193 | /** 194 | * Starts a PHP CLI session with given arguments. 195 | * 196 | * Can only be used when PHP was compiled with the CLI SAPI. 197 | * Cannot be used in conjunction with `run()`. 198 | * 199 | * @param argv - The arguments to pass to the CLI. 200 | * @returns The exit code of the CLI session. 201 | */ 202 | cli(argv: string[]): Promise; 203 | } 204 | export interface WithNodeFilesystem { 205 | /** 206 | * Mounts a Node.js filesystem to a given path in the PHP filesystem. 207 | * 208 | * @param settings - The Node.js filesystem settings. 209 | * @param path - The path to mount the filesystem to. 210 | * @see {@link https://emscripten.org/docs/api_reference/Filesystem-API.html#FS.mount} 211 | */ 212 | mount(settings: any, path: string): void; 213 | } 214 | export interface WithFilesystem { 215 | /** 216 | * Recursively creates a directory with the given path in the PHP filesystem. 217 | * For example, if the path is `/root/php/data`, and `/root` already exists, 218 | * it will create the directories `/root/php` and `/root/php/data`. 219 | * 220 | * @param path - The directory path to create. 221 | */ 222 | mkdirTree(path: string): void; 223 | /** 224 | * Reads a file from the PHP filesystem and returns it as a string. 225 | * 226 | * @throws {@link ErrnoError} – If the file doesn't exist. 227 | * @param path - The file path to read. 228 | * @returns The file contents. 229 | */ 230 | readFileAsText(path: string): string; 231 | /** 232 | * Reads a file from the PHP filesystem and returns it as an array buffer. 233 | * 234 | * @throws {@link ErrnoError} – If the file doesn't exist. 235 | * @param path - The file path to read. 236 | * @returns The file contents. 237 | */ 238 | readFileAsBuffer(path: string): Uint8Array; 239 | /** 240 | * Overwrites data in a file in the PHP filesystem. 241 | * Creates a new file if one doesn't exist yet. 242 | * 243 | * @param path - The file path to write to. 244 | * @param data - The data to write to the file. 245 | */ 246 | writeFile(path: string, data: string | Uint8Array): void; 247 | /** 248 | * Removes a file from the PHP filesystem. 249 | * 250 | * @throws {@link ErrnoError} – If the file doesn't exist. 251 | * @param path - The file path to remove. 252 | */ 253 | unlink(path: string): void; 254 | /** 255 | * Lists the files and directories in the given directory. 256 | * 257 | * @param path - The directory path to list. 258 | * @returns The list of files and directories in the given directory. 259 | */ 260 | listFiles(path: string): string[]; 261 | /** 262 | * Checks if a directory exists in the PHP filesystem. 263 | * 264 | * @param path – The path to check. 265 | * @returns True if the path is a directory, false otherwise. 266 | */ 267 | isDir(path: string): boolean; 268 | /** 269 | * Checks if a file (or a directory) exists in the PHP filesystem. 270 | * 271 | * @param path - The file path to check. 272 | * @returns True if the file exists, false otherwise. 273 | */ 274 | fileExists(path: string): boolean; 275 | } 276 | export interface WithRun { 277 | /** 278 | * Dispatches a PHP request. 279 | * Cannot be used in conjunction with `cli()`. 280 | * 281 | * @example 282 | * ```js 283 | * const output = php.run(' PHPRuntime; 305 | }; 306 | export type DataModule = { 307 | dependencyFilename: string; 308 | dependenciesTotalSize: number; 309 | default: (phpRuntime: PHPRuntime) => void; 310 | }; 311 | export type EmscriptenOptions = { 312 | onAbort?: (message: string) => void; 313 | ENV?: Record; 314 | locateFile?: (path: string) => string; 315 | noInitialRun?: boolean; 316 | dataFileDownloads?: Record; 317 | print?: (message: string) => void; 318 | printErr?: (message: string) => void; 319 | onRuntimeInitialized?: () => void; 320 | monitorRunDependencies?: (left: number) => void; 321 | } & Record; 322 | export type MountSettings = { 323 | root: string; 324 | mountpoint: string; 325 | }; 326 | /** 327 | * An environment-agnostic wrapper around the Emscripten PHP runtime 328 | * that abstracts the super low-level API and provides a more convenient 329 | * higher-level API. 330 | * 331 | * It exposes a minimal set of methods to run PHP scripts and to 332 | * interact with the PHP filesystem. 333 | * 334 | * @see {startPHP} This class is not meant to be used directly. Use `startPHP` instead. 335 | */ 336 | export declare class PHP implements WithPHPIniBindings, WithFilesystem, WithNodeFilesystem, WithCLI, WithRun { 337 | #private; 338 | /** 339 | * Initializes a PHP runtime. 340 | * 341 | * @internal 342 | * @param PHPRuntime - Optional. PHP Runtime ID as initialized by loadPHPRuntime. 343 | */ 344 | constructor(PHPRuntimeId?: PHPRuntimeId); 345 | initializeRuntime(runtimeId: PHPRuntimeId): void; 346 | /** @inheritDoc */ 347 | setPhpIniPath(path: string): void; 348 | /** @inheritDoc */ 349 | setPhpIniEntry(key: string, value: string): void; 350 | /** @inheritDoc */ 351 | run(request?: PHPRequest): PHPResponse; 352 | cli(argv: string[]): Promise; 353 | setSkipShebang(shouldSkip: boolean): void; 354 | addServerGlobalEntry(key: string, value: string): void; 355 | mkdirTree(path: string): void; 356 | readFileAsText(path: string): string; 357 | /** @inheritDoc */ 358 | readFileAsBuffer(path: string): Uint8Array; 359 | /** @inheritDoc */ 360 | writeFile(path: string, data: string | Uint8Array): void; 361 | /** @inheritDoc */ 362 | unlink(path: string): void; 363 | /** @inheritDoc */ 364 | listFiles(path: string): string[]; 365 | isDir(path: string): boolean; 366 | fileExists(path: string): boolean; 367 | mount(settings: MountSettings, path: string): void; 368 | } 369 | /** 370 | * Output of the PHP.wasm runtime. 371 | */ 372 | export interface PHPOutput { 373 | /** Exit code of the PHP process. 0 means success, 1 and 2 mean error. */ 374 | exitCode: number; 375 | /** Stdout data */ 376 | stdout: ArrayBuffer; 377 | /** Stderr lines */ 378 | stderr: string[]; 379 | } 380 | /** 381 | * Emscripten's filesystem-related Exception. 382 | * 383 | * @see https://emscripten.org/docs/api_reference/Filesystem-API.html 384 | * @see https://github.com/emscripten-core/emscripten/blob/main/system/lib/libc/musl/arch/emscripten/bits/errno.h 385 | */ 386 | export type ErrnoError = Error; 387 | export type PHPServerRequest = Pick & { 388 | files?: Record; 389 | } & ({ 390 | absoluteUrl: string; 391 | relativeUrl?: never; 392 | } | { 393 | absoluteUrl?: never; 394 | relativeUrl: string; 395 | }) & ((Pick & { 396 | formData?: never; 397 | }) | { 398 | body?: never; 399 | formData: Record; 400 | }); 401 | /** 402 | * A fake PHP server that handles HTTP requests but does not 403 | * bind to any port. 404 | * 405 | * @public 406 | * @example 407 | * ```js 408 | * import { 409 | * loadPHPRuntime, 410 | * PHP, 411 | * PHPServer, 412 | * PHPBrowser, 413 | * getPHPLoaderModule, 414 | * } from '@php-wasm/web'; 415 | * 416 | * const runtime = await loadPHPRuntime( await getPHPLoaderModule('7.4') ); 417 | * const php = new PHP( runtime ); 418 | * 419 | * php.mkdirTree('/www'); 420 | * php.writeFile('/www/index.php', '; 478 | } 479 | export interface PHPServerConfigation { 480 | /** 481 | * The directory in the PHP filesystem where the server will look 482 | * for the files to serve. Default: `/var/www`. 483 | */ 484 | documentRoot?: string; 485 | /** 486 | * Server URL. Used to populate $_SERVER details like HTTP_HOST. 487 | */ 488 | absoluteUrl?: string; 489 | /** 490 | * Callback used by the PHPServer to decide whether 491 | * the requested path refers to a PHP file or a static file. 492 | */ 493 | isStaticFilePath?: (path: string) => boolean; 494 | } 495 | export interface WithRequest { 496 | /** 497 | * Sends the request to the server. 498 | * 499 | * When cookies are present in the response, this method stores 500 | * them and sends them with any subsequent requests. 501 | * 502 | * When a redirection is present in the response, this method 503 | * follows it by discarding a response and sending a subsequent 504 | * request. 505 | * 506 | * @param request - The request. 507 | * @param redirects - Internal. The number of redirects handled so far. 508 | * @returns PHPServer response. 509 | */ 510 | request(request: PHPServerRequest, redirects?: number): Promise; 511 | } 512 | /** 513 | * A fake web browser that handles PHPServer's cookies and redirects 514 | * internally without exposing them to the consumer. 515 | * 516 | * @public 517 | */ 518 | export declare class PHPBrowser implements WithRequest { 519 | #private; 520 | server: PHPServer; 521 | /** 522 | * @param server - The PHP server to browse. 523 | * @param config - The browser configuration. 524 | */ 525 | constructor(server: PHPServer, config?: PHPBrowserConfiguration); 526 | request(request: PHPServerRequest, redirects?: number): Promise; 527 | } 528 | export interface PHPBrowserConfiguration { 529 | /** 530 | * Should handle redirects internally? 531 | */ 532 | handleRedirects?: boolean; 533 | /** 534 | * The maximum number of redirects to follow internally. Once 535 | * exceeded, request() will return the redirecting response. 536 | */ 537 | maxRedirects?: number; 538 | } 539 | export type WorkerStartupOptions = Record> = T; 540 | export declare function getPHPLoaderModule(version?: string): Promise; 541 | export declare function parseWorkerStartupOptions(): WorkerStartupOptions; 542 | 543 | export {}; 544 | -------------------------------------------------------------------------------- /src/built-php-wasm-node/noop.js: -------------------------------------------------------------------------------- 1 | import { createRequire } from 'module';const real_require = createRequire(import.meta.url); function require(id) { let resolved = real_require(id); if(id === 'path') {return {...resolved,normalize: function(path) {return new URL(resolved.normalize(path), import.meta.url).href.replace(/^(file:\/\/)?/, '');}};} return resolved;} const __dirname = new URL(import.meta.url).href; 2 | -------------------------------------------------------------------------------- /src/built-php-wasm-node/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@php-wasm/node", 3 | "version": "0.0.3", 4 | "description": "PHP.wasm for Node.js", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/WordPress/wordpress-playground" 8 | }, 9 | "homepage": "https://developer.wordpress.org/playground", 10 | "author": "The WordPress contributors", 11 | "contributors": [ 12 | { 13 | "name": "Adam Zielinski", 14 | "email": "adam@adamziel.com", 15 | "url": "https://github.com/adamziel" 16 | } 17 | ], 18 | "license": "Apache-2.0", 19 | "type": "module", 20 | "dependencies": { 21 | "comlink": "4.4.1" 22 | }, 23 | "main": "index.js" 24 | } 25 | -------------------------------------------------------------------------------- /src/built-php-wasm-node/packages/php-wasm/node/README.md: -------------------------------------------------------------------------------- 1 | # php-wasm-node 2 | 3 | This library was generated with [Nx](https://nx.dev). 4 | 5 | ## Building 6 | 7 | Run `nx build php-wasm-node` to build the library. 8 | 9 | ## Running unit tests 10 | 11 | Run `nx test php-wasm-node` to execute the unit tests via [Jest](https://jestjs.io). 12 | -------------------------------------------------------------------------------- /src/built-php-wasm-node/php_5_6.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielbachhuber/wordpress-playground-vscode/bbaac6df371ed5f9cc3375c5a7c968e337becb36/src/built-php-wasm-node/php_5_6.wasm -------------------------------------------------------------------------------- /src/built-php-wasm-node/php_7_0.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielbachhuber/wordpress-playground-vscode/bbaac6df371ed5f9cc3375c5a7c968e337becb36/src/built-php-wasm-node/php_7_0.wasm -------------------------------------------------------------------------------- /src/built-php-wasm-node/php_7_1.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielbachhuber/wordpress-playground-vscode/bbaac6df371ed5f9cc3375c5a7c968e337becb36/src/built-php-wasm-node/php_7_1.wasm -------------------------------------------------------------------------------- /src/built-php-wasm-node/php_7_2.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielbachhuber/wordpress-playground-vscode/bbaac6df371ed5f9cc3375c5a7c968e337becb36/src/built-php-wasm-node/php_7_2.wasm -------------------------------------------------------------------------------- /src/built-php-wasm-node/php_7_3.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielbachhuber/wordpress-playground-vscode/bbaac6df371ed5f9cc3375c5a7c968e337becb36/src/built-php-wasm-node/php_7_3.wasm -------------------------------------------------------------------------------- /src/built-php-wasm-node/php_7_4.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielbachhuber/wordpress-playground-vscode/bbaac6df371ed5f9cc3375c5a7c968e337becb36/src/built-php-wasm-node/php_7_4.wasm -------------------------------------------------------------------------------- /src/built-php-wasm-node/php_8_0.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielbachhuber/wordpress-playground-vscode/bbaac6df371ed5f9cc3375c5a7c968e337becb36/src/built-php-wasm-node/php_8_0.wasm -------------------------------------------------------------------------------- /src/built-php-wasm-node/php_8_1.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielbachhuber/wordpress-playground-vscode/bbaac6df371ed5f9cc3375c5a7c968e337becb36/src/built-php-wasm-node/php_8_1.wasm -------------------------------------------------------------------------------- /src/built-php-wasm-node/php_8_2.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielbachhuber/wordpress-playground-vscode/bbaac6df371ed5f9cc3375c5a7c968e337becb36/src/built-php-wasm-node/php_8_2.wasm -------------------------------------------------------------------------------- /src/extension.ts: -------------------------------------------------------------------------------- 1 | // The module 'vscode' contains the VS Code extensibility API 2 | // Import the module and reference it with the alias vscode in your code below 3 | import * as vscode from 'vscode'; 4 | import * as path from 'path'; 5 | const fs = require('fs'); 6 | const http = require('http'); 7 | var url = require('url'); 8 | 9 | import { PHP, PHPServer, loadPHPRuntime, getPHPLoaderModule, PHPBrowser } from './built-php-wasm-node'; 10 | import patchWordPress from './lib/patch-wordpress'; 11 | 12 | const importPhp = ` 13 | open($pathToZip); 17 | $zip->extractTo( '/' ); 18 | $zip->close(); 19 | }`; 20 | 21 | class PortFinder { 22 | private static port: number = 5201; 23 | 24 | public static incrementPort() { 25 | return this.port++; 26 | } 27 | 28 | public static isPortFree() { 29 | return new Promise( resolve => { 30 | const server = http.createServer(); 31 | 32 | server.listen( this.port, () => { 33 | server.close(); 34 | resolve( true ); 35 | } ) 36 | .on('error', () => { 37 | resolve( false ); 38 | } ); 39 | } ); 40 | } 41 | 42 | public static async getOpenPort() { 43 | while ( ! await this.isPortFree() ) { 44 | this.incrementPort(); 45 | } 46 | 47 | return this.port; 48 | } 49 | } 50 | 51 | async function login( 52 | playground: PHPBrowser, 53 | user = 'admin', 54 | password = 'password' 55 | ) { 56 | await playground.request({ 57 | relativeUrl: '/wp-login.php', 58 | }); 59 | 60 | await playground.request({ 61 | relativeUrl: '/wp-login.php', 62 | method: 'POST', 63 | formData: { 64 | log: user, 65 | pwd: password, 66 | rememberme: 'forever', 67 | }, 68 | }); 69 | } 70 | 71 | function seemsLikeAPHPFile(path: string) { 72 | return path.endsWith('.php') || path.includes('.php/'); 73 | } 74 | async function loadPhpBrowser( context: vscode.ExtensionContext, openPort: number, pluginPath: string,phpVersion: string='8.0') { 75 | const phpLoaderModule = await getPHPLoaderModule(phpVersion); 76 | const loaderId = await loadPHPRuntime(phpLoaderModule); 77 | const php = new PHP(loaderId); 78 | 79 | const wordpressZip = fs.readFileSync( context.extensionPath + '/dist/wordpress.zip' ); 80 | 81 | php.writeFile( '/wordpress.zip', wordpressZip ); 82 | 83 | const databaseFromZipFileReadRequest = php.run({ 84 | code: 85 | importPhp + 86 | ` importZipFile( '/wordpress.zip' );`, 87 | }); 88 | 89 | if ( databaseFromZipFileReadRequest.exitCode !== 0 ) { 90 | console.log( databaseFromZipFileReadRequest.errors ); 91 | } 92 | 93 | if ( pluginPath ) { 94 | php.mkdirTree( `/wordpress/wp-content/plugins/${path.basename( pluginPath )}` ); 95 | php.mount({root: pluginPath} as any, `/wordpress/wp-content/plugins/${path.basename( pluginPath )}` ); 96 | } 97 | 98 | patchWordPress(php); 99 | 100 | const phpServer = new PHPServer(php, { 101 | documentRoot: '/wordpress', 102 | absoluteUrl: `http://localhost:${openPort}/`, 103 | isStaticFilePath: (path: string) => { 104 | const fullPath = '/wordpress' + path; 105 | return php.fileExists(fullPath) 106 | && ! php.isDir(fullPath) 107 | && ! seemsLikeAPHPFile(fullPath); 108 | } 109 | }); 110 | const browser = new PHPBrowser( phpServer ); 111 | 112 | await login( browser ); 113 | 114 | return browser; 115 | } 116 | 117 | // This method is called when your extension is activated 118 | // Your extension is activated the very first time the command is executed 119 | export function activate(context: vscode.ExtensionContext) { 120 | const editor = vscode.window.activeTextEditor; 121 | const pluginPath = !! editor 122 | ? path.dirname( editor.document.fileName ) 123 | : ''; 124 | 125 | let disposable = vscode.commands.registerCommand('wordpress-playground.iframePlayground', async () => { 126 | const openPort = await PortFinder.getOpenPort(); 127 | 128 | let phpBrowser = await loadPhpBrowser( context, openPort, pluginPath ); 129 | 130 | const server = http.createServer( async (req : any, res : any) => { 131 | let requestHeaders: { [ key: string ]: string } = {}; 132 | if ( req.rawHeaders && req.rawHeaders.length ) { 133 | for ( let i = 0; i < req.rawHeaders.length; i += 2 ) { 134 | requestHeaders[ req.rawHeaders[ i ] ] = req.rawHeaders[ i + 1 ]; 135 | } 136 | } 137 | const params = url.parse(req.url, true).query; 138 | const phpVersion = params.php; 139 | // console.log( "PHP",phpVersion, req.url, params ); 140 | 141 | if (phpVersion) { 142 | phpBrowser = await loadPhpBrowser( context, openPort, pluginPath, phpVersion); 143 | } 144 | 145 | const reqBody = await new Promise( (resolve, reject) => { 146 | let body = ''; 147 | req.on('data', (chunk: any) => { 148 | body += chunk.toString(); // convert Buffer to string 149 | }); 150 | req.on('end', () => { 151 | resolve(body); 152 | }); 153 | }) as string; 154 | 155 | const resp = await phpBrowser.request( { 156 | relativeUrl: req.url, 157 | headers: requestHeaders, 158 | method: req.method, 159 | body: reqBody, 160 | } ); 161 | 162 | res.statusCode = resp.httpStatusCode; 163 | Object.keys(resp.headers).forEach((key) => { 164 | res.setHeader(key, resp.headers[key]); 165 | }); 166 | res.end(resp.body); 167 | }); 168 | 169 | server.listen( openPort, () => { 170 | console.log( `Server running at http://localhost:${openPort}/` ); 171 | } ); 172 | 173 | // Create a new webview panel 174 | const panel = vscode.window.createWebviewPanel( 175 | 'playgroundviewer', 176 | 'WordPress Playground', 177 | vscode.ViewColumn.One, 178 | { 179 | enableScripts: true, 180 | } 181 | ); 182 | 183 | const onDiskPath = vscode.Uri.joinPath(context.extensionUri, 'dist', 'playground-website.js'); 184 | const websiteJsSrc = panel.webview.asWebviewUri(onDiskPath); 185 | 186 | // Set the content of the webview panel to an iframe that loads a website URL 187 | panel.webview.html = ` 188 | 189 | 190 | 191 | 192 | 193 | WordPress Playground 194 | 226 | 227 | 228 |
229 | 230 | 231 | 232 | `; 233 | 234 | panel.onDidDispose( () => { 235 | server.close(); 236 | } ); 237 | } ); 238 | 239 | context.subscriptions.push( disposable ); 240 | } 241 | 242 | // This method is called when your extension is deactivated 243 | export function deactivate() {} 244 | -------------------------------------------------------------------------------- /src/lib/patch-wordpress.ts: -------------------------------------------------------------------------------- 1 | import type { PHP } from '@php-wasm/node'; 2 | 3 | const DOCROOT = '/wordpress'; 4 | 5 | export default function patchWordPress(php: PHP) { 6 | new WordPressPatcher(php).patch(); 7 | } 8 | 9 | class WordPressPatcher { 10 | #php: PHP; 11 | 12 | constructor(php: PHP) { 13 | this.#php = php; 14 | } 15 | 16 | patch() { 17 | this.#php.writeFile('/wordpress/phpinfo.php', ' 25 | contents.replace( 26 | /add_filter[^;]+wp_maybe_grant_site_health_caps[^;]+;/i, 27 | '' 28 | ) 29 | ); 30 | } 31 | #replaceRequestsTransports() { 32 | 33 | // Force the fsockopen and cUrl transports to report they don't work: 34 | const transports = [ 35 | `${DOCROOT}/wp-includes/Requests/Transport/fsockopen.php`, 36 | `${DOCROOT}/wp-includes/Requests/Transport/cURL.php`, 37 | ]; 38 | for (const transport of transports) { 39 | // One of the transports might not exist in the latest WordPress version. 40 | if (!this.#php.fileExists(transport)) {continue;} 41 | this.#patchFile(transport, ( contents ) => { 42 | // If contents contains function test2, make no change. 43 | if ( contents.includes( 'public static function test2' ) ) { 44 | return contents; 45 | } 46 | 47 | return contents.replace( 48 | 'public static function test', 49 | 'public static function test( $capabilities = array() ) { return false; } public static function test2' 50 | ); 51 | } ); 52 | } 53 | } 54 | #patchFile(path: string, callback: (contents: string) => string) { 55 | this.#php.writeFile(path, callback(this.#php.readFileAsText(path))); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/playground-website-components/address-bar/index.tsx: -------------------------------------------------------------------------------- 1 | import React, { useCallback } from 'react'; 2 | import css from './style.module.css'; 3 | 4 | interface AddressBarProps { 5 | url?: string; 6 | onUpdate?: (url: string) => void; 7 | } 8 | export default function AddressBar({ url, onUpdate }: AddressBarProps) { 9 | const input = React.useRef(null); 10 | const [value, setValue] = React.useState(url || ''); 11 | const [isFocused, setIsFocused] = React.useState(false); 12 | 13 | React.useEffect(() => { 14 | if (!isFocused && url) { 15 | setValue(url); 16 | } 17 | }, [isFocused, url]); 18 | 19 | const handleSubmit = useCallback( 20 | function (e: React.FormEvent) { 21 | e.preventDefault(); 22 | let requestedPath = input.current!.value; 23 | // Ensure a trailing slash when requesting directory paths 24 | const isDirectory = !requestedPath.split('/').pop()!.includes('.'); 25 | if (isDirectory && !requestedPath.endsWith('/')) { 26 | requestedPath += '/'; 27 | } 28 | onUpdate?.(requestedPath); 29 | input.current!.blur(); 30 | }, 31 | [onUpdate] 32 | ); 33 | 34 | return ( 35 |
36 |
37 | setValue(e.target.value)} 42 | onFocus={() => setIsFocused(true)} 43 | onBlur={() => setIsFocused(false)} 44 | name="url" 45 | type="text" 46 | autoComplete="off" 47 | /> 48 |
49 | 50 |
51 | ); 52 | } 53 | -------------------------------------------------------------------------------- /src/playground-website-components/address-bar/style.module.css: -------------------------------------------------------------------------------- 1 | .form { 2 | position: relative; 3 | display: flex; 4 | transition: opacity 0.5s ease; 5 | } 6 | 7 | .input-container { 8 | display: flex; 9 | width: 100%; 10 | } 11 | 12 | .submit { 13 | position: absolute; 14 | width: 1px; 15 | height: 1px; 16 | left: -100000px; 17 | top: -100000px; 18 | } 19 | 20 | .input { 21 | flex-grow: 1; 22 | padding: 5px 10px; 23 | font-family: 'San Francisco', Helvetica, Arial, sans-serif; 24 | font-size: 16px; 25 | font-weight: 50; 26 | height: 26px; 27 | border: 0; 28 | background: #40464d; 29 | border-radius: 8px; 30 | color: #a5afbc; 31 | transition: color 0.5s ease; 32 | } 33 | 34 | .input:focus, 35 | .input:hover { 36 | color: #fff; 37 | } 38 | -------------------------------------------------------------------------------- /src/playground-website-components/browser-chrome/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import css from './style.module.css'; 3 | import AddressBar from '../address-bar'; 4 | import classNames from 'classnames'; 5 | 6 | interface BrowserChromeProps { 7 | children?: React.ReactNode; 8 | toolbarButtons?: React.ReactElement[]; 9 | url?: string; 10 | showAddressBar?: boolean; 11 | onUrlChange?: (url: string) => void; 12 | } 13 | 14 | export default function BrowserChrome({ 15 | children, 16 | url, 17 | onUrlChange, 18 | showAddressBar = true, 19 | toolbarButtons, 20 | }: BrowserChromeProps) { 21 | const addressBarClass = classNames(css.addressBarSlot, { 22 | [css.isHidden]: !showAddressBar, 23 | }); 24 | return ( 25 |
26 |
27 |
28 | 29 | 30 |
31 | 32 |
33 | 34 |
35 | {toolbarButtons?.map( 36 | (button: React.ReactElement, idx) => 37 | React.cloneElement(button, { 38 | key: button.key || idx, 39 | }) 40 | )} 41 |
42 |
43 |
{children}
44 |
45 | This is a cool fun experimental WordPress running in your 46 | VS Code :) All your changes are private and gone after a 47 | page refresh. 48 |
49 |
50 |
51 | ); 52 | } 53 | 54 | function WindowControls() { 55 | return ( 56 |
57 |
58 |
59 |
60 |
61 | ); 62 | } 63 | -------------------------------------------------------------------------------- /src/playground-website-components/browser-chrome/style.module.css: -------------------------------------------------------------------------------- 1 | /* Full screen mode */ 2 | /* body.browser-mode { 3 | background-image: url(data:image/jpg;base64,/9j/4AAQSkZJRgABAQABLAEsAAD/4QCMRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAAEsAAAAAQAAASwAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAAGmgAwAEAAAAAQAAAEAAAAAA/+EKYWh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOmJhNTU4YWFiLTcyYTMtNDdkYy04OTVmLWU0YTI5OTU2YWQzZSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJFRjk2NzgzNDlGN0JFQ0RBMEFGM0I5QzJCNkI2RjYzNyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpiYTU1OGFhYi03MmEzLTQ3ZGMtODk1Zi1lNGEyOTk1NmFkM2UiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMDMtMzBUMTE6Mzg6MzktMDQ6MDAiLz4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3hwYWNrZXQgZW5kPSJ3Ij8+AP/AABEIAEAAaQMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2wBDAAEBAQEBAQIBAQIDAgICAwMDAwMDAwQDAwMDAwQFBAQEBAQEBQUFBQUFBQUGBgYGBgYHBwcHBwgICAgICAgICAj/2wBDAQEBAQICAgQCAgQJBgUGCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQn/3QAEAAf/2gAMAwEAAhEDEQA/AP30m1xQOtc5e66pyM15Fc+LgoPzVzF54uXJy9fpGSYe6RrxXVtc9UvdbAyd1c5LrQY43V5Rd+KQ2drdaxv+El+bG6v03LcI2kfy1xfj0pM9yj1cHBzUx1NX6mvFYPEO7jdW3b6yHGC1ex9WPzSWKuekteg8iqxuRnJrlYtRBA5q2tzuNb0qRxVKt2dEsytUwG8cVhxzZrXtpMiu2NMzUitNF7VRktwRXQvFkZ9aqvCCOaUo9DWMNTkLqEVj/Zq665h4PrWN5Z9K52VOn5H/0PsvU/GYjz89cLdePE3Nl/1r5h8R/EpI84kx+NeO3fxWjExHmfrX7Zw3hOZI8njao4Jn3a/jhTxvz+NQxeMg7Z318O2/xMSc4EmfxretfHan+P8AWv1rB4BRgfyPxHWlUrNH29Z+MFZwN3613mmeIPOAO6vhbRvGPmzD585r33wx4gEoUk1csMfJ1fd0Z9WafqJkA5rsLV965FeIaJqRk24Neu6PPvUZ71SoWOJyudNExDYNb9m+eBWOsYxkVqWSktxVezRvTR0P3lqJl61biQslRSR46VhOJ3wiYVymRmsny1roLkfKc1k7FrllDU6JpdT/0fzI8cfF4W2/dLjGe9fLerfHyCG/MZnxk/3q+afjH8R57dJSkpB571+f+oeO9XvNTa4aU4zxz2r+m+CcpcqfNI8vxAhz+5T3Z+6/hP4wx3xVxN+te56T8QRNtO/9a/C/4b/E2/tHRJJCR35/+vX3J4K+If2pULP1x3r9MeFcUfy1meDcajjUVmfqb4X8ZCSZcvX1d4N8TB1Qhq/KvwZ4pLSKQ/XFfZvgDxFIxT5uOKKeGufI5lQ0uj9JfC2sCQLzzX0H4fvgyqSa+JvBWt71Q5r6b8NatlVCmqqYXQ+cUrM+i7SUSKBXSWMWcV53ol0ZAK9X0uMFB615tWFj0qEbmmi7YsVWmrSdSq1mz5wa4pLU74wMS7PBFYny1qXj4BrA+0L6/wCfyrP2YSZ//9L+Nz4ueI2uZ3jDZya+bDJlya63xdq73965znniuF8zuP5//Wr+18pwqoUlBHzmY4j29eUzv/DWrG2uACa+xPh34kAZAWr4EhuGRg69RXsngfxc1tMqO3TFfSUppqzPzPjDIJVI+2pbo/X/AMAaurlDu9K+4vh/qq/uznNfkr8L/G6TbFL88d6/QX4d+JQwQ7vSrhCzsfjGMouSaP028E6sMJg+lfVXhPUg4XB9K/PzwDrLylFTnpX2n4GaSRUZqurFJHydSg3KyPsPwzcb9vpXuWkzAqDXz14WBCLmvbtLl+QAV87inG9j1MJQfY72Qq0dY10ducVKs7BazrqbI5rzzuaOd1CTANcv5jf5/wD1Vq6rccE5rkftlUodjjqNXP/Z); 4 | backdrop-filter: blur(7px); 5 | background-size: cover; 6 | background-attachment: fixed; 7 | } */ 8 | 9 | .experimental-notice { 10 | display: flex; 11 | padding: 10px 22px; 12 | background: #fff7cc; 13 | font-family: 'Andale mono', Helvetica, Monospace, Arial; 14 | font-style: normal; 15 | font-weight: 100; 16 | font-size: 12px; 17 | line-height: 18px; 18 | align-items: center; 19 | color: #1e1e1e; 20 | } 21 | 22 | body.is-embedded .fake-window-wrapper { 23 | padding: 15px; 24 | } 25 | 26 | .wrapper { 27 | padding: 55px 60px; 28 | height: 100%; 29 | } 30 | 31 | .window { 32 | display: flex; 33 | flex-direction: column; 34 | margin: 0 auto; 35 | max-width: 1200px; 36 | height: 100%; 37 | border-radius: 6px; 38 | overflow: hidden; 39 | 40 | animation: pulse 6s ease-in infinite; 41 | } 42 | 43 | @keyframes pulse { 44 | 0% { 45 | box-shadow: 0 4px 44px rgba(13, 32, 117, 0.5), 46 | 0 0 0 0 rgba(13, 32, 117, 0.5); 47 | } 48 | 50% { 49 | box-shadow: 0 4px 44px rgba(13, 32, 117, 0.5), 50 | 0 0 88px 5px rgba(13, 32, 117, 0.5); 51 | } 52 | 100% { 53 | box-shadow: 0 4px 44px rgba(13, 32, 117, 0.5), 54 | 0 0 0 0 rgba(13, 32, 117, 0.5); 55 | } 56 | } 57 | 58 | .content { 59 | display: flex; 60 | flex-grow: 1; 61 | background: #ffffff; 62 | } 63 | 64 | .toolbar { 65 | position: relative; 66 | display: flex; 67 | flex-grow: 0; 68 | background: #1e2327; 69 | width: 100%; 70 | margin: 0 auto; 71 | padding: 0 22px; 72 | height: 50px; 73 | flex-direction: row; 74 | align-items: center; 75 | } 76 | 77 | .toolbar-buttons { 78 | position: absolute; 79 | right: 10px; 80 | } 81 | 82 | .address-bar-slot { 83 | margin-right: auto; 84 | margin-left: auto; 85 | min-width: 200px; 86 | width: 60%; 87 | opacity: 1; 88 | transition: opacity ease-in 0.25s; 89 | } 90 | 91 | .address-bar-slot.is-hidden { 92 | opacity: 0; 93 | pointer-events: none; 94 | } 95 | 96 | /* .fake-window #wp { 97 | position: relative; 98 | flex-grow: 1; 99 | border: 0; 100 | margin: 0; 101 | padding: 0; 102 | z-index: 6; 103 | } */ 104 | 105 | .window-controls { 106 | position: absolute; 107 | width: 80px; 108 | display: flex; 109 | } 110 | 111 | .window-control { 112 | display: flex; 113 | width: 10px; 114 | height: 10px; 115 | background: #f9f9f9; 116 | border-radius: 50%; 117 | margin: 0 12px 0 0; 118 | } 119 | 120 | .window-control.is-neutral { 121 | background: #a5afbc; 122 | } 123 | 124 | .window-control.is-red { 125 | background: #ff6057; 126 | border: 1px solid #e14640; 127 | } 128 | 129 | .window-control.is-amber { 130 | background: #ffbd2e; 131 | border: 1px solid #dfa123; 132 | } 133 | 134 | .window-control.is-green { 135 | background: #27c93f; 136 | border: 1px solid #1dad2b; 137 | } 138 | -------------------------------------------------------------------------------- /src/playground-website-components/version-select/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | type SelectorProps = { 4 | name: string; 5 | versions: string[]; 6 | }; 7 | 8 | export default function PHPSelector(props: SelectorProps) { 9 | return ( 10 | 33 | ); 34 | } 35 | -------------------------------------------------------------------------------- /src/playground-website.tsx: -------------------------------------------------------------------------------- 1 | import { createRoot } from 'react-dom/client'; 2 | import BrowserChrome from './playground-website-components/browser-chrome'; 3 | import VersionSelector from './playground-website-components/version-select'; 4 | 5 | 6 | const Website = ({ iframeSrc } : { iframeSrc: string }) => { 7 | const phpVersions = ['8.2', '8.0', '7.4', '7.3', '7.2']; 8 | const wpVersions = ['5.9', '6.0', '6.1']; 9 | 10 | return ( 11 | <> 12 | {/**/} 13 | 14 | 15 | 16 | 17 | 18 | ); 19 | }; 20 | 21 | const el = document.getElementById('root'); 22 | if ( el ) { 23 | const iframeSrc = el.dataset.iframeSrc ? el.dataset.iframeSrc : ''; 24 | const root = createRoot(el); 25 | root.render( 26 | 27 | ); 28 | } 29 | -------------------------------------------------------------------------------- /src/wordpress.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielbachhuber/wordpress-playground-vscode/bbaac6df371ed5f9cc3375c5a7c968e337becb36/src/wordpress.zip -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "ES2020", 5 | "lib": [ 6 | "ES2020", "dom" 7 | ], 8 | "sourceMap": true, 9 | "rootDir": "src", 10 | "strict": true, /* enable all strict type-checking options */ 11 | "jsx": "react-jsx", 12 | "esModuleInterop": true 13 | /* Additional Checks */ 14 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 15 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ 16 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vsc-extension-quickstart.md: -------------------------------------------------------------------------------- 1 | # Welcome to your VS Code Extension 2 | 3 | ## What's in the folder 4 | 5 | * This folder contains all of the files necessary for your extension. 6 | * `package.json` - this is the manifest file in which you declare your extension and command. 7 | * The sample plugin registers a command and defines its title and command name. With this information VS Code can show the command in the command palette. It doesn’t yet need to load the plugin. 8 | * `src/extension.ts` - this is the main file where you will provide the implementation of your command. 9 | * The file exports one function, `activate`, which is called the very first time your extension is activated (in this case by executing the command). Inside the `activate` function we call `registerCommand`. 10 | * We pass the function containing the implementation of the command as the second parameter to `registerCommand`. 11 | 12 | ## Setup 13 | 14 | * install the recommended extensions (amodio.tsl-problem-matcher and dbaeumer.vscode-eslint) 15 | 16 | 17 | ## Get up and running straight away 18 | 19 | * Press `F5` to open a new window with your extension loaded. 20 | * Run your command from the command palette by pressing (`Ctrl+Shift+P` or `Cmd+Shift+P` on Mac) and typing `Hello World`. 21 | * Set breakpoints in your code inside `src/extension.ts` to debug your extension. 22 | * Find output from your extension in the debug console. 23 | 24 | ## Make changes 25 | 26 | * You can relaunch the extension from the debug toolbar after changing code in `src/extension.ts`. 27 | * You can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes. 28 | 29 | 30 | ## Explore the API 31 | 32 | * You can open the full set of our API when you open the file `node_modules/@types/vscode/index.d.ts`. 33 | 34 | ## Run tests 35 | 36 | * Open the debug viewlet (`Ctrl+Shift+D` or `Cmd+Shift+D` on Mac) and from the launch configuration dropdown pick `Extension Tests`. 37 | * Press `F5` to run the tests in a new window with your extension loaded. 38 | * See the output of the test result in the debug console. 39 | * Make changes to `src/test/suite/extension.test.ts` or create new test files inside the `test/suite` folder. 40 | * The provided test runner will only consider files matching the name pattern `**.test.ts`. 41 | * You can create folders inside the `test` folder to structure your tests any way you want. 42 | 43 | ## Go further 44 | 45 | * Reduce the extension size and improve the startup time by [bundling your extension](https://code.visualstudio.com/api/working-with-extensions/bundling-extension). 46 | * [Publish your extension](https://code.visualstudio.com/api/working-with-extensions/publishing-extension) on the VS Code extension marketplace. 47 | * Automate builds by setting up [Continuous Integration](https://code.visualstudio.com/api/working-with-extensions/continuous-integration). 48 | -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | //@ts-check 2 | 3 | 'use strict'; 4 | 5 | const path = require('path'); 6 | const webpack = require('webpack'); 7 | const CopyPlugin = require("copy-webpack-plugin"); 8 | 9 | //@ts-check 10 | /** @typedef {import('webpack').Configuration} WebpackConfig **/ 11 | 12 | /** @type WebpackConfig */ 13 | const extensionConfig = { 14 | target: 'node', // VS Code extensions run in a Node.js-context 📖 -> https://webpack.js.org/configuration/node/ 15 | mode: 'none', // this leaves the source code as close as possible to the original (when packaging we set this to 'production') 16 | 17 | entry: { extension: './src/extension.ts'}, // the entry point of this extension, 📖 -> https://webpack.js.org/configuration/entry-context/ 18 | output: { 19 | // the bundle is stored in the 'dist' folder (check package.json), 📖 -> https://webpack.js.org/configuration/output/ 20 | path: path.resolve(__dirname, 'dist'), 21 | filename: '[name].js', 22 | libraryTarget: 'commonjs2' 23 | }, 24 | externals: { 25 | vscode: 'commonjs vscode' // the vscode-module is created on-the-fly and must be excluded. Add other modules that cannot be webpack'ed, 📖 -> https://webpack.js.org/configuration/externals/ 26 | // modules added here also need to be added in the .vscodeignore file 27 | }, 28 | resolve: { 29 | // support reading TypeScript and JavaScript files, 📖 -> https://github.com/TypeStrong/ts-loader 30 | extensions: ['.tsx', '.ts', '.js'] 31 | }, 32 | module: { 33 | parser: { 34 | javascript: { importMeta: false } 35 | }, 36 | rules: [ 37 | { 38 | test: /\.ts$/, 39 | exclude: /node_modules/, 40 | use: [ 41 | { 42 | loader: 'ts-loader' 43 | } 44 | ] 45 | }, 46 | ] 47 | }, 48 | devtool: 'nosources-source-map', 49 | infrastructureLogging: { 50 | level: "log", // enables logging required for problem matchers 51 | }, 52 | plugins: [ 53 | new CopyPlugin({ 54 | patterns: [ 55 | { from: "src/wordpress.zip", to: "wordpress.zip" }, 56 | ] 57 | }), 58 | ] 59 | }; 60 | 61 | /** @type WebpackConfig */ 62 | const websiteConfig = { 63 | target: 'web', // VS Code extensions run in a Node.js-context 📖 -> https://webpack.js.org/configuration/node/ 64 | mode: 'none', // this leaves the source code as close as possible to the original (when packaging we set this to 'production') 65 | 66 | entry: { ['playground-website']:'./src/playground-website.tsx'}, // the entry point of this extension, 📖 -> https://webpack.js.org/configuration/entry-context/ 67 | output: { 68 | // the bundle is stored in the 'dist' folder (check package.json), 📖 -> https://webpack.js.org/configuration/output/ 69 | path: path.resolve(__dirname, 'dist'), 70 | filename: '[name].js' 71 | }, 72 | externals: {}, 73 | resolve: { 74 | // support reading TypeScript and JavaScript files, 📖 -> https://github.com/TypeStrong/ts-loader 75 | extensions: ['.tsx', '.ts', '.js'] 76 | }, 77 | module: { 78 | rules: [ 79 | { 80 | test: /\.tsx?$/, 81 | exclude: /node_modules/, 82 | use: { 83 | loader: 'ts-loader' 84 | } 85 | }, 86 | { 87 | test: /\.ts$/, 88 | exclude: /node_modules/, 89 | use: [ 90 | { 91 | loader: 'ts-loader' 92 | } 93 | ] 94 | }, 95 | { 96 | test: /\.module\.css$/, 97 | use: [ 98 | 'style-loader', 99 | { 100 | loader: 'css-loader', 101 | options: { 102 | modules: { 103 | localIdentName: '[name]__[local]--[hash:base64:5]', 104 | exportLocalsConvention: "camelCase", 105 | }, 106 | }, 107 | }, 108 | ], 109 | }, 110 | { 111 | test: /\.css$/, 112 | exclude: /\.module\.css$/, 113 | use: ['style-loader', 'css-loader'], 114 | } 115 | ] 116 | }, 117 | devtool: 'nosources-source-map', 118 | infrastructureLogging: { 119 | level: "log", // enables logging required for problem matchers 120 | }, 121 | plugins: [ 122 | new webpack.DefinePlugin({ 123 | 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'), 124 | process: { 125 | env: { 126 | NODE_ENV: JSON.stringify(process.env.NODE_ENV || 'development'), 127 | }, 128 | }, 129 | }), 130 | ] 131 | }; 132 | module.exports = [ extensionConfig, websiteConfig ]; 133 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@discoveryjs/json-ext@^0.5.0": 6 | version "0.5.7" 7 | resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" 8 | integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== 9 | 10 | "@eslint-community/eslint-utils@^4.2.0": 11 | version "4.3.0" 12 | resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.3.0.tgz#a556790523a351b4e47e9d385f47265eaaf9780a" 13 | integrity sha512-v3oplH6FYCULtFuCeqyuTd9D2WKO937Dxdq+GmHOLL72TTRriLxz2VLlNfkZRsvj6PKnOPAtuT6dwrs/pA5DvA== 14 | dependencies: 15 | eslint-visitor-keys "^3.3.0" 16 | 17 | "@eslint-community/regexpp@^4.4.0": 18 | version "4.4.0" 19 | resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.4.0.tgz#3e61c564fcd6b921cb789838631c5ee44df09403" 20 | integrity sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ== 21 | 22 | "@eslint/eslintrc@^2.0.1": 23 | version "2.0.1" 24 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.1.tgz#7888fe7ec8f21bc26d646dbd2c11cd776e21192d" 25 | integrity sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw== 26 | dependencies: 27 | ajv "^6.12.4" 28 | debug "^4.3.2" 29 | espree "^9.5.0" 30 | globals "^13.19.0" 31 | ignore "^5.2.0" 32 | import-fresh "^3.2.1" 33 | js-yaml "^4.1.0" 34 | minimatch "^3.1.2" 35 | strip-json-comments "^3.1.1" 36 | 37 | "@eslint/js@8.36.0": 38 | version "8.36.0" 39 | resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.36.0.tgz#9837f768c03a1e4a30bd304a64fb8844f0e72efe" 40 | integrity sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg== 41 | 42 | "@humanwhocodes/config-array@^0.11.8": 43 | version "0.11.8" 44 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" 45 | integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== 46 | dependencies: 47 | "@humanwhocodes/object-schema" "^1.2.1" 48 | debug "^4.1.1" 49 | minimatch "^3.0.5" 50 | 51 | "@humanwhocodes/module-importer@^1.0.1": 52 | version "1.0.1" 53 | resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" 54 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== 55 | 56 | "@humanwhocodes/object-schema@^1.2.1": 57 | version "1.2.1" 58 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" 59 | integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== 60 | 61 | "@jridgewell/gen-mapping@^0.3.0": 62 | version "0.3.2" 63 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" 64 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== 65 | dependencies: 66 | "@jridgewell/set-array" "^1.0.1" 67 | "@jridgewell/sourcemap-codec" "^1.4.10" 68 | "@jridgewell/trace-mapping" "^0.3.9" 69 | 70 | "@jridgewell/resolve-uri@3.1.0": 71 | version "3.1.0" 72 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" 73 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 74 | 75 | "@jridgewell/set-array@^1.0.1": 76 | version "1.1.2" 77 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" 78 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 79 | 80 | "@jridgewell/source-map@^0.3.2": 81 | version "0.3.2" 82 | resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" 83 | integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== 84 | dependencies: 85 | "@jridgewell/gen-mapping" "^0.3.0" 86 | "@jridgewell/trace-mapping" "^0.3.9" 87 | 88 | "@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": 89 | version "1.4.14" 90 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" 91 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 92 | 93 | "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": 94 | version "0.3.17" 95 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" 96 | integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== 97 | dependencies: 98 | "@jridgewell/resolve-uri" "3.1.0" 99 | "@jridgewell/sourcemap-codec" "1.4.14" 100 | 101 | "@nodelib/fs.scandir@2.1.5": 102 | version "2.1.5" 103 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 104 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 105 | dependencies: 106 | "@nodelib/fs.stat" "2.0.5" 107 | run-parallel "^1.1.9" 108 | 109 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 110 | version "2.0.5" 111 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 112 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 113 | 114 | "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": 115 | version "1.2.8" 116 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 117 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 118 | dependencies: 119 | "@nodelib/fs.scandir" "2.1.5" 120 | fastq "^1.6.0" 121 | 122 | "@php-wasm/node@^0.0.3": 123 | version "0.0.3" 124 | resolved "https://registry.yarnpkg.com/@php-wasm/node/-/node-0.0.3.tgz#64796dfd332c4893521007826bdd0e7fe8195014" 125 | integrity sha512-qa+XVAzEMYdJU69/uNwfMizjorXvDDcGbKnAcBdUApp3lpt1EDe1CDdBNz4+Pc+tS1h7w1uS89InK14w4Sc1SA== 126 | dependencies: 127 | comlink "4.4.1" 128 | 129 | "@tootallnate/once@1": 130 | version "1.1.2" 131 | resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" 132 | integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== 133 | 134 | "@types/css-modules@^1.0.2": 135 | version "1.0.2" 136 | resolved "https://registry.yarnpkg.com/@types/css-modules/-/css-modules-1.0.2.tgz#8884135f9be3e204b42ef7ad7fce2474e8d74cb6" 137 | integrity sha512-tyqlt2GtEBdsxJylh78zSxI/kOJK5Iz8Ta4Fxr8KLTP8mD/IgMa84D8EKPS/AWCp+MDoctgJyikrVWY28GKmcg== 138 | 139 | "@types/eslint-scope@^3.7.3": 140 | version "3.7.4" 141 | resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" 142 | integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== 143 | dependencies: 144 | "@types/eslint" "*" 145 | "@types/estree" "*" 146 | 147 | "@types/eslint@*": 148 | version "8.21.2" 149 | resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.21.2.tgz#2b61b43a8b0e66006856a2a4c8e51f6f773ead27" 150 | integrity sha512-EMpxUyystd3uZVByZap1DACsMXvb82ypQnGn89e1Y0a+LYu3JJscUd/gqhRsVFDkaD2MIiWo0MT8EfXr3DGRKw== 151 | dependencies: 152 | "@types/estree" "*" 153 | "@types/json-schema" "*" 154 | 155 | "@types/estree@*": 156 | version "1.0.0" 157 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" 158 | integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== 159 | 160 | "@types/estree@^0.0.51": 161 | version "0.0.51" 162 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" 163 | integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== 164 | 165 | "@types/glob@^8.1.0": 166 | version "8.1.0" 167 | resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.1.0.tgz#b63e70155391b0584dce44e7ea25190bbc38f2fc" 168 | integrity sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w== 169 | dependencies: 170 | "@types/minimatch" "^5.1.2" 171 | "@types/node" "*" 172 | 173 | "@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": 174 | version "7.0.11" 175 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" 176 | integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== 177 | 178 | "@types/minimatch@^5.1.2": 179 | version "5.1.2" 180 | resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" 181 | integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== 182 | 183 | "@types/mocha@^10.0.1": 184 | version "10.0.1" 185 | resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.1.tgz#2f4f65bb08bc368ac39c96da7b2f09140b26851b" 186 | integrity sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q== 187 | 188 | "@types/node@*": 189 | version "18.15.3" 190 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.3.tgz#f0b991c32cfc6a4e7f3399d6cb4b8cf9a0315014" 191 | integrity sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw== 192 | 193 | "@types/node@16.x": 194 | version "16.18.16" 195 | resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.16.tgz#09ff98b144abae2d7cce3e9fe9040ab2bf73222c" 196 | integrity sha512-ZOzvDRWp8dCVBmgnkIqYCArgdFOO9YzocZp8Ra25N/RStKiWvMOXHMz+GjSeVNe5TstaTmTWPucGJkDw0XXJWA== 197 | 198 | "@types/prop-types@*": 199 | version "15.7.5" 200 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" 201 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== 202 | 203 | "@types/react-dom@^18.0.11": 204 | version "18.0.11" 205 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.11.tgz#321351c1459bc9ca3d216aefc8a167beec334e33" 206 | integrity sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw== 207 | dependencies: 208 | "@types/react" "*" 209 | 210 | "@types/react@*", "@types/react@^18.0.28": 211 | version "18.0.28" 212 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.28.tgz#accaeb8b86f4908057ad629a26635fe641480065" 213 | integrity sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew== 214 | dependencies: 215 | "@types/prop-types" "*" 216 | "@types/scheduler" "*" 217 | csstype "^3.0.2" 218 | 219 | "@types/scheduler@*": 220 | version "0.16.2" 221 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" 222 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== 223 | 224 | "@types/semver@^7.3.12": 225 | version "7.3.13" 226 | resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" 227 | integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== 228 | 229 | "@types/vscode@^1.76.0": 230 | version "1.76.0" 231 | resolved "https://registry.yarnpkg.com/@types/vscode/-/vscode-1.76.0.tgz#967c0fbe09921818bbf201f1cbcb81b981c6249c" 232 | integrity sha512-CQcY3+Fe5hNewHnOEAVYj4dd1do/QHliXaknAEYSXx2KEHUzFibDZSKptCon+HPgK55xx20pR+PBJjf0MomnBA== 233 | 234 | "@typescript-eslint/eslint-plugin@^5.53.0": 235 | version "5.55.0" 236 | resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.55.0.tgz#bc2400c3a23305e8c9a9c04aa40933868aaaeb47" 237 | integrity sha512-IZGc50rtbjk+xp5YQoJvmMPmJEYoC53SiKPXyqWfv15XoD2Y5Kju6zN0DwlmaGJp1Iw33JsWJcQ7nw0lGCGjVg== 238 | dependencies: 239 | "@eslint-community/regexpp" "^4.4.0" 240 | "@typescript-eslint/scope-manager" "5.55.0" 241 | "@typescript-eslint/type-utils" "5.55.0" 242 | "@typescript-eslint/utils" "5.55.0" 243 | debug "^4.3.4" 244 | grapheme-splitter "^1.0.4" 245 | ignore "^5.2.0" 246 | natural-compare-lite "^1.4.0" 247 | semver "^7.3.7" 248 | tsutils "^3.21.0" 249 | 250 | "@typescript-eslint/parser@^5.53.0": 251 | version "5.55.0" 252 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.55.0.tgz#8c96a0b6529708ace1dcfa60f5e6aec0f5ed2262" 253 | integrity sha512-ppvmeF7hvdhUUZWSd2EEWfzcFkjJzgNQzVST22nzg958CR+sphy8A6K7LXQZd6V75m1VKjp+J4g/PCEfSCmzhw== 254 | dependencies: 255 | "@typescript-eslint/scope-manager" "5.55.0" 256 | "@typescript-eslint/types" "5.55.0" 257 | "@typescript-eslint/typescript-estree" "5.55.0" 258 | debug "^4.3.4" 259 | 260 | "@typescript-eslint/scope-manager@5.55.0": 261 | version "5.55.0" 262 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.55.0.tgz#e863bab4d4183ddce79967fe10ceb6c829791210" 263 | integrity sha512-OK+cIO1ZGhJYNCL//a3ROpsd83psf4dUJ4j7pdNVzd5DmIk+ffkuUIX2vcZQbEW/IR41DYsfJTB19tpCboxQuw== 264 | dependencies: 265 | "@typescript-eslint/types" "5.55.0" 266 | "@typescript-eslint/visitor-keys" "5.55.0" 267 | 268 | "@typescript-eslint/type-utils@5.55.0": 269 | version "5.55.0" 270 | resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.55.0.tgz#74bf0233523f874738677bb73cb58094210e01e9" 271 | integrity sha512-ObqxBgHIXj8rBNm0yh8oORFrICcJuZPZTqtAFh0oZQyr5DnAHZWfyw54RwpEEH+fD8suZaI0YxvWu5tYE/WswA== 272 | dependencies: 273 | "@typescript-eslint/typescript-estree" "5.55.0" 274 | "@typescript-eslint/utils" "5.55.0" 275 | debug "^4.3.4" 276 | tsutils "^3.21.0" 277 | 278 | "@typescript-eslint/types@5.55.0": 279 | version "5.55.0" 280 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.55.0.tgz#9830f8d3bcbecf59d12f821e5bc6960baaed41fd" 281 | integrity sha512-M4iRh4AG1ChrOL6Y+mETEKGeDnT7Sparn6fhZ5LtVJF1909D5O4uqK+C5NPbLmpfZ0XIIxCdwzKiijpZUOvOug== 282 | 283 | "@typescript-eslint/typescript-estree@5.55.0": 284 | version "5.55.0" 285 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.55.0.tgz#8db7c8e47ecc03d49b05362b8db6f1345ee7b575" 286 | integrity sha512-I7X4A9ovA8gdpWMpr7b1BN9eEbvlEtWhQvpxp/yogt48fy9Lj3iE3ild/1H3jKBBIYj5YYJmS2+9ystVhC7eaQ== 287 | dependencies: 288 | "@typescript-eslint/types" "5.55.0" 289 | "@typescript-eslint/visitor-keys" "5.55.0" 290 | debug "^4.3.4" 291 | globby "^11.1.0" 292 | is-glob "^4.0.3" 293 | semver "^7.3.7" 294 | tsutils "^3.21.0" 295 | 296 | "@typescript-eslint/utils@5.55.0": 297 | version "5.55.0" 298 | resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.55.0.tgz#34e97322e7ae5b901e7a870aabb01dad90023341" 299 | integrity sha512-FkW+i2pQKcpDC3AY6DU54yl8Lfl14FVGYDgBTyGKB75cCwV3KpkpTMFi9d9j2WAJ4271LR2HeC5SEWF/CZmmfw== 300 | dependencies: 301 | "@eslint-community/eslint-utils" "^4.2.0" 302 | "@types/json-schema" "^7.0.9" 303 | "@types/semver" "^7.3.12" 304 | "@typescript-eslint/scope-manager" "5.55.0" 305 | "@typescript-eslint/types" "5.55.0" 306 | "@typescript-eslint/typescript-estree" "5.55.0" 307 | eslint-scope "^5.1.1" 308 | semver "^7.3.7" 309 | 310 | "@typescript-eslint/visitor-keys@5.55.0": 311 | version "5.55.0" 312 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.55.0.tgz#01ad414fca8367706d76cdb94adf788dc5b664a2" 313 | integrity sha512-q2dlHHwWgirKh1D3acnuApXG+VNXpEY5/AwRxDVuEQpxWaB0jCDe0jFMVMALJ3ebSfuOVE8/rMS+9ZOYGg1GWw== 314 | dependencies: 315 | "@typescript-eslint/types" "5.55.0" 316 | eslint-visitor-keys "^3.3.0" 317 | 318 | "@vscode/test-electron@^2.2.3": 319 | version "2.3.0" 320 | resolved "https://registry.yarnpkg.com/@vscode/test-electron/-/test-electron-2.3.0.tgz#de0ba2f5d36546a83cd481b458cbdbb7cc0f7049" 321 | integrity sha512-fwzA9RtazH1GT/sckYlbxu6t5e4VaMXwCVtyLv4UAG0hP6NTfnMaaG25XCfWqlVwFhBMcQXHBCy5dmz2eLUnkw== 322 | dependencies: 323 | http-proxy-agent "^4.0.1" 324 | https-proxy-agent "^5.0.0" 325 | jszip "^3.10.1" 326 | semver "^7.3.8" 327 | 328 | "@webassemblyjs/ast@1.11.1": 329 | version "1.11.1" 330 | resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" 331 | integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== 332 | dependencies: 333 | "@webassemblyjs/helper-numbers" "1.11.1" 334 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 335 | 336 | "@webassemblyjs/floating-point-hex-parser@1.11.1": 337 | version "1.11.1" 338 | resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" 339 | integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== 340 | 341 | "@webassemblyjs/helper-api-error@1.11.1": 342 | version "1.11.1" 343 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" 344 | integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== 345 | 346 | "@webassemblyjs/helper-buffer@1.11.1": 347 | version "1.11.1" 348 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" 349 | integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== 350 | 351 | "@webassemblyjs/helper-numbers@1.11.1": 352 | version "1.11.1" 353 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" 354 | integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== 355 | dependencies: 356 | "@webassemblyjs/floating-point-hex-parser" "1.11.1" 357 | "@webassemblyjs/helper-api-error" "1.11.1" 358 | "@xtuc/long" "4.2.2" 359 | 360 | "@webassemblyjs/helper-wasm-bytecode@1.11.1": 361 | version "1.11.1" 362 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" 363 | integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== 364 | 365 | "@webassemblyjs/helper-wasm-section@1.11.1": 366 | version "1.11.1" 367 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" 368 | integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== 369 | dependencies: 370 | "@webassemblyjs/ast" "1.11.1" 371 | "@webassemblyjs/helper-buffer" "1.11.1" 372 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 373 | "@webassemblyjs/wasm-gen" "1.11.1" 374 | 375 | "@webassemblyjs/ieee754@1.11.1": 376 | version "1.11.1" 377 | resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" 378 | integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== 379 | dependencies: 380 | "@xtuc/ieee754" "^1.2.0" 381 | 382 | "@webassemblyjs/leb128@1.11.1": 383 | version "1.11.1" 384 | resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" 385 | integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== 386 | dependencies: 387 | "@xtuc/long" "4.2.2" 388 | 389 | "@webassemblyjs/utf8@1.11.1": 390 | version "1.11.1" 391 | resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" 392 | integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== 393 | 394 | "@webassemblyjs/wasm-edit@1.11.1": 395 | version "1.11.1" 396 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" 397 | integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== 398 | dependencies: 399 | "@webassemblyjs/ast" "1.11.1" 400 | "@webassemblyjs/helper-buffer" "1.11.1" 401 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 402 | "@webassemblyjs/helper-wasm-section" "1.11.1" 403 | "@webassemblyjs/wasm-gen" "1.11.1" 404 | "@webassemblyjs/wasm-opt" "1.11.1" 405 | "@webassemblyjs/wasm-parser" "1.11.1" 406 | "@webassemblyjs/wast-printer" "1.11.1" 407 | 408 | "@webassemblyjs/wasm-gen@1.11.1": 409 | version "1.11.1" 410 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" 411 | integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== 412 | dependencies: 413 | "@webassemblyjs/ast" "1.11.1" 414 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 415 | "@webassemblyjs/ieee754" "1.11.1" 416 | "@webassemblyjs/leb128" "1.11.1" 417 | "@webassemblyjs/utf8" "1.11.1" 418 | 419 | "@webassemblyjs/wasm-opt@1.11.1": 420 | version "1.11.1" 421 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" 422 | integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== 423 | dependencies: 424 | "@webassemblyjs/ast" "1.11.1" 425 | "@webassemblyjs/helper-buffer" "1.11.1" 426 | "@webassemblyjs/wasm-gen" "1.11.1" 427 | "@webassemblyjs/wasm-parser" "1.11.1" 428 | 429 | "@webassemblyjs/wasm-parser@1.11.1": 430 | version "1.11.1" 431 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" 432 | integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== 433 | dependencies: 434 | "@webassemblyjs/ast" "1.11.1" 435 | "@webassemblyjs/helper-api-error" "1.11.1" 436 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 437 | "@webassemblyjs/ieee754" "1.11.1" 438 | "@webassemblyjs/leb128" "1.11.1" 439 | "@webassemblyjs/utf8" "1.11.1" 440 | 441 | "@webassemblyjs/wast-printer@1.11.1": 442 | version "1.11.1" 443 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" 444 | integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== 445 | dependencies: 446 | "@webassemblyjs/ast" "1.11.1" 447 | "@xtuc/long" "4.2.2" 448 | 449 | "@webpack-cli/configtest@^2.0.1": 450 | version "2.0.1" 451 | resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.0.1.tgz#a69720f6c9bad6aef54a8fa6ba9c3533e7ef4c7f" 452 | integrity sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A== 453 | 454 | "@webpack-cli/info@^2.0.1": 455 | version "2.0.1" 456 | resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.1.tgz#eed745799c910d20081e06e5177c2b2569f166c0" 457 | integrity sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA== 458 | 459 | "@webpack-cli/serve@^2.0.1": 460 | version "2.0.1" 461 | resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.1.tgz#34bdc31727a1889198855913db2f270ace6d7bf8" 462 | integrity sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw== 463 | 464 | "@xtuc/ieee754@^1.2.0": 465 | version "1.2.0" 466 | resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" 467 | integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== 468 | 469 | "@xtuc/long@4.2.2": 470 | version "4.2.2" 471 | resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" 472 | integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== 473 | 474 | acorn-import-assertions@^1.7.6: 475 | version "1.8.0" 476 | resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" 477 | integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== 478 | 479 | acorn-jsx@^5.3.2: 480 | version "5.3.2" 481 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" 482 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 483 | 484 | acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: 485 | version "8.8.2" 486 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" 487 | integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== 488 | 489 | agent-base@6: 490 | version "6.0.2" 491 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" 492 | integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== 493 | dependencies: 494 | debug "4" 495 | 496 | ajv-formats@^2.1.1: 497 | version "2.1.1" 498 | resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" 499 | integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== 500 | dependencies: 501 | ajv "^8.0.0" 502 | 503 | ajv-keywords@^3.5.2: 504 | version "3.5.2" 505 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" 506 | integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== 507 | 508 | ajv-keywords@^5.0.0: 509 | version "5.1.0" 510 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" 511 | integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== 512 | dependencies: 513 | fast-deep-equal "^3.1.3" 514 | 515 | ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5: 516 | version "6.12.6" 517 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 518 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 519 | dependencies: 520 | fast-deep-equal "^3.1.1" 521 | fast-json-stable-stringify "^2.0.0" 522 | json-schema-traverse "^0.4.1" 523 | uri-js "^4.2.2" 524 | 525 | ajv@^8.0.0, ajv@^8.8.0: 526 | version "8.12.0" 527 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" 528 | integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== 529 | dependencies: 530 | fast-deep-equal "^3.1.1" 531 | json-schema-traverse "^1.0.0" 532 | require-from-string "^2.0.2" 533 | uri-js "^4.2.2" 534 | 535 | ansi-colors@4.1.1: 536 | version "4.1.1" 537 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" 538 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 539 | 540 | ansi-regex@^5.0.1: 541 | version "5.0.1" 542 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 543 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 544 | 545 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 546 | version "4.3.0" 547 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 548 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 549 | dependencies: 550 | color-convert "^2.0.1" 551 | 552 | anymatch@~3.1.2: 553 | version "3.1.3" 554 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" 555 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== 556 | dependencies: 557 | normalize-path "^3.0.0" 558 | picomatch "^2.0.4" 559 | 560 | argparse@^2.0.1: 561 | version "2.0.1" 562 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 563 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 564 | 565 | array-union@^2.1.0: 566 | version "2.1.0" 567 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 568 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 569 | 570 | balanced-match@^1.0.0: 571 | version "1.0.2" 572 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 573 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 574 | 575 | binary-extensions@^2.0.0: 576 | version "2.2.0" 577 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 578 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 579 | 580 | brace-expansion@^1.1.7: 581 | version "1.1.11" 582 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 583 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 584 | dependencies: 585 | balanced-match "^1.0.0" 586 | concat-map "0.0.1" 587 | 588 | brace-expansion@^2.0.1: 589 | version "2.0.1" 590 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" 591 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== 592 | dependencies: 593 | balanced-match "^1.0.0" 594 | 595 | braces@^3.0.2, braces@~3.0.2: 596 | version "3.0.2" 597 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 598 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 599 | dependencies: 600 | fill-range "^7.0.1" 601 | 602 | browser-stdout@1.3.1: 603 | version "1.3.1" 604 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 605 | integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== 606 | 607 | browserslist@^4.14.5: 608 | version "4.21.5" 609 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" 610 | integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== 611 | dependencies: 612 | caniuse-lite "^1.0.30001449" 613 | electron-to-chromium "^1.4.284" 614 | node-releases "^2.0.8" 615 | update-browserslist-db "^1.0.10" 616 | 617 | buffer-from@^1.0.0: 618 | version "1.1.2" 619 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" 620 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== 621 | 622 | callsites@^3.0.0: 623 | version "3.1.0" 624 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 625 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 626 | 627 | camelcase@^6.0.0: 628 | version "6.3.0" 629 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" 630 | integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== 631 | 632 | caniuse-lite@^1.0.30001449: 633 | version "1.0.30001467" 634 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001467.tgz#1afc9c16ed61f50dd87139da87ca43a3e0051c77" 635 | integrity sha512-cEdN/5e+RPikvl9AHm4uuLXxeCNq8rFsQ+lPHTfe/OtypP3WwnVVbjn+6uBV7PaFL6xUFzTh+sSCOz1rKhcO+Q== 636 | 637 | chalk@^4.0.0, chalk@^4.1.0: 638 | version "4.1.2" 639 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 640 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 641 | dependencies: 642 | ansi-styles "^4.1.0" 643 | supports-color "^7.1.0" 644 | 645 | chokidar@3.5.3: 646 | version "3.5.3" 647 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 648 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 649 | dependencies: 650 | anymatch "~3.1.2" 651 | braces "~3.0.2" 652 | glob-parent "~5.1.2" 653 | is-binary-path "~2.1.0" 654 | is-glob "~4.0.1" 655 | normalize-path "~3.0.0" 656 | readdirp "~3.6.0" 657 | optionalDependencies: 658 | fsevents "~2.3.2" 659 | 660 | chrome-trace-event@^1.0.2: 661 | version "1.0.3" 662 | resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" 663 | integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== 664 | 665 | classnames@^2.3.2: 666 | version "2.3.2" 667 | resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" 668 | integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== 669 | 670 | cliui@^7.0.2: 671 | version "7.0.4" 672 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 673 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 674 | dependencies: 675 | string-width "^4.2.0" 676 | strip-ansi "^6.0.0" 677 | wrap-ansi "^7.0.0" 678 | 679 | clone-deep@^4.0.1: 680 | version "4.0.1" 681 | resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" 682 | integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== 683 | dependencies: 684 | is-plain-object "^2.0.4" 685 | kind-of "^6.0.2" 686 | shallow-clone "^3.0.0" 687 | 688 | color-convert@^2.0.1: 689 | version "2.0.1" 690 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 691 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 692 | dependencies: 693 | color-name "~1.1.4" 694 | 695 | color-name@~1.1.4: 696 | version "1.1.4" 697 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 698 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 699 | 700 | colorette@^2.0.14: 701 | version "2.0.19" 702 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" 703 | integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== 704 | 705 | comlink@4.4.1: 706 | version "4.4.1" 707 | resolved "https://registry.yarnpkg.com/comlink/-/comlink-4.4.1.tgz#e568b8e86410b809e8600eb2cf40c189371ef981" 708 | integrity sha512-+1dlx0aY5Jo1vHy/tSsIGpSkN4tS9rZSW8FIhG0JH/crs9wwweswIo/POr451r7bZww3hFbPAKnTpimzL/mm4Q== 709 | 710 | commander@^2.20.0: 711 | version "2.20.3" 712 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" 713 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== 714 | 715 | commander@^9.4.1: 716 | version "9.5.0" 717 | resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" 718 | integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== 719 | 720 | concat-map@0.0.1: 721 | version "0.0.1" 722 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 723 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 724 | 725 | copy-webpack-plugin@^11.0.0: 726 | version "11.0.0" 727 | resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a" 728 | integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ== 729 | dependencies: 730 | fast-glob "^3.2.11" 731 | glob-parent "^6.0.1" 732 | globby "^13.1.1" 733 | normalize-path "^3.0.0" 734 | schema-utils "^4.0.0" 735 | serialize-javascript "^6.0.0" 736 | 737 | core-util-is@~1.0.0: 738 | version "1.0.3" 739 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" 740 | integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== 741 | 742 | cross-spawn@^7.0.2, cross-spawn@^7.0.3: 743 | version "7.0.3" 744 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 745 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 746 | dependencies: 747 | path-key "^3.1.0" 748 | shebang-command "^2.0.0" 749 | which "^2.0.1" 750 | 751 | css-loader@^6.7.3: 752 | version "6.7.3" 753 | resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.3.tgz#1e8799f3ccc5874fdd55461af51137fcc5befbcd" 754 | integrity sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ== 755 | dependencies: 756 | icss-utils "^5.1.0" 757 | postcss "^8.4.19" 758 | postcss-modules-extract-imports "^3.0.0" 759 | postcss-modules-local-by-default "^4.0.0" 760 | postcss-modules-scope "^3.0.0" 761 | postcss-modules-values "^4.0.0" 762 | postcss-value-parser "^4.2.0" 763 | semver "^7.3.8" 764 | 765 | cssesc@^3.0.0: 766 | version "3.0.0" 767 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" 768 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== 769 | 770 | csstype@^3.0.2: 771 | version "3.1.1" 772 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" 773 | integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== 774 | 775 | debug@4, debug@4.3.4, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: 776 | version "4.3.4" 777 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 778 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 779 | dependencies: 780 | ms "2.1.2" 781 | 782 | decamelize@^4.0.0: 783 | version "4.0.0" 784 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" 785 | integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== 786 | 787 | deep-is@^0.1.3: 788 | version "0.1.4" 789 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" 790 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 791 | 792 | diff@5.0.0: 793 | version "5.0.0" 794 | resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" 795 | integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== 796 | 797 | dir-glob@^3.0.1: 798 | version "3.0.1" 799 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 800 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 801 | dependencies: 802 | path-type "^4.0.0" 803 | 804 | doctrine@^3.0.0: 805 | version "3.0.0" 806 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 807 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 808 | dependencies: 809 | esutils "^2.0.2" 810 | 811 | electron-to-chromium@^1.4.284: 812 | version "1.4.333" 813 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.333.tgz#ebb21f860f8a29923717b06ec0cb54e77ed34c04" 814 | integrity sha512-YyE8+GKyGtPEP1/kpvqsdhD6rA/TP1DUFDN4uiU/YI52NzDxmwHkEb3qjId8hLBa5siJvG0sfC3O66501jMruQ== 815 | 816 | emoji-regex@^8.0.0: 817 | version "8.0.0" 818 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 819 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 820 | 821 | enhanced-resolve@^5.0.0, enhanced-resolve@^5.10.0: 822 | version "5.12.0" 823 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634" 824 | integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== 825 | dependencies: 826 | graceful-fs "^4.2.4" 827 | tapable "^2.2.0" 828 | 829 | envinfo@^7.7.3: 830 | version "7.8.1" 831 | resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" 832 | integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== 833 | 834 | es-module-lexer@^0.9.0: 835 | version "0.9.3" 836 | resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" 837 | integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== 838 | 839 | escalade@^3.1.1: 840 | version "3.1.1" 841 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 842 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 843 | 844 | escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: 845 | version "4.0.0" 846 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 847 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 848 | 849 | eslint-scope@5.1.1, eslint-scope@^5.1.1: 850 | version "5.1.1" 851 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" 852 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== 853 | dependencies: 854 | esrecurse "^4.3.0" 855 | estraverse "^4.1.1" 856 | 857 | eslint-scope@^7.1.1: 858 | version "7.1.1" 859 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" 860 | integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== 861 | dependencies: 862 | esrecurse "^4.3.0" 863 | estraverse "^5.2.0" 864 | 865 | eslint-visitor-keys@^3.3.0: 866 | version "3.3.0" 867 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" 868 | integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== 869 | 870 | eslint@^8.34.0: 871 | version "8.36.0" 872 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.36.0.tgz#1bd72202200a5492f91803b113fb8a83b11285cf" 873 | integrity sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw== 874 | dependencies: 875 | "@eslint-community/eslint-utils" "^4.2.0" 876 | "@eslint-community/regexpp" "^4.4.0" 877 | "@eslint/eslintrc" "^2.0.1" 878 | "@eslint/js" "8.36.0" 879 | "@humanwhocodes/config-array" "^0.11.8" 880 | "@humanwhocodes/module-importer" "^1.0.1" 881 | "@nodelib/fs.walk" "^1.2.8" 882 | ajv "^6.10.0" 883 | chalk "^4.0.0" 884 | cross-spawn "^7.0.2" 885 | debug "^4.3.2" 886 | doctrine "^3.0.0" 887 | escape-string-regexp "^4.0.0" 888 | eslint-scope "^7.1.1" 889 | eslint-visitor-keys "^3.3.0" 890 | espree "^9.5.0" 891 | esquery "^1.4.2" 892 | esutils "^2.0.2" 893 | fast-deep-equal "^3.1.3" 894 | file-entry-cache "^6.0.1" 895 | find-up "^5.0.0" 896 | glob-parent "^6.0.2" 897 | globals "^13.19.0" 898 | grapheme-splitter "^1.0.4" 899 | ignore "^5.2.0" 900 | import-fresh "^3.0.0" 901 | imurmurhash "^0.1.4" 902 | is-glob "^4.0.0" 903 | is-path-inside "^3.0.3" 904 | js-sdsl "^4.1.4" 905 | js-yaml "^4.1.0" 906 | json-stable-stringify-without-jsonify "^1.0.1" 907 | levn "^0.4.1" 908 | lodash.merge "^4.6.2" 909 | minimatch "^3.1.2" 910 | natural-compare "^1.4.0" 911 | optionator "^0.9.1" 912 | strip-ansi "^6.0.1" 913 | strip-json-comments "^3.1.0" 914 | text-table "^0.2.0" 915 | 916 | espree@^9.5.0: 917 | version "9.5.0" 918 | resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.0.tgz#3646d4e3f58907464edba852fa047e6a27bdf113" 919 | integrity sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw== 920 | dependencies: 921 | acorn "^8.8.0" 922 | acorn-jsx "^5.3.2" 923 | eslint-visitor-keys "^3.3.0" 924 | 925 | esquery@^1.4.2: 926 | version "1.5.0" 927 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" 928 | integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== 929 | dependencies: 930 | estraverse "^5.1.0" 931 | 932 | esrecurse@^4.3.0: 933 | version "4.3.0" 934 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 935 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 936 | dependencies: 937 | estraverse "^5.2.0" 938 | 939 | estraverse@^4.1.1: 940 | version "4.3.0" 941 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 942 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 943 | 944 | estraverse@^5.1.0, estraverse@^5.2.0: 945 | version "5.3.0" 946 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" 947 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== 948 | 949 | esutils@^2.0.2: 950 | version "2.0.3" 951 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 952 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 953 | 954 | events@^3.2.0: 955 | version "3.3.0" 956 | resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" 957 | integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== 958 | 959 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 960 | version "3.1.3" 961 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 962 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 963 | 964 | fast-glob@^3.2.11, fast-glob@^3.2.9: 965 | version "3.2.12" 966 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" 967 | integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== 968 | dependencies: 969 | "@nodelib/fs.stat" "^2.0.2" 970 | "@nodelib/fs.walk" "^1.2.3" 971 | glob-parent "^5.1.2" 972 | merge2 "^1.3.0" 973 | micromatch "^4.0.4" 974 | 975 | fast-json-stable-stringify@^2.0.0: 976 | version "2.1.0" 977 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 978 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 979 | 980 | fast-levenshtein@^2.0.6: 981 | version "2.0.6" 982 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 983 | integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== 984 | 985 | fastest-levenshtein@^1.0.12: 986 | version "1.0.16" 987 | resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" 988 | integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== 989 | 990 | fastq@^1.6.0: 991 | version "1.15.0" 992 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" 993 | integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== 994 | dependencies: 995 | reusify "^1.0.4" 996 | 997 | file-entry-cache@^6.0.1: 998 | version "6.0.1" 999 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" 1000 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 1001 | dependencies: 1002 | flat-cache "^3.0.4" 1003 | 1004 | fill-range@^7.0.1: 1005 | version "7.0.1" 1006 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1007 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1008 | dependencies: 1009 | to-regex-range "^5.0.1" 1010 | 1011 | find-up@5.0.0, find-up@^5.0.0: 1012 | version "5.0.0" 1013 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 1014 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 1015 | dependencies: 1016 | locate-path "^6.0.0" 1017 | path-exists "^4.0.0" 1018 | 1019 | find-up@^4.0.0: 1020 | version "4.1.0" 1021 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 1022 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 1023 | dependencies: 1024 | locate-path "^5.0.0" 1025 | path-exists "^4.0.0" 1026 | 1027 | flat-cache@^3.0.4: 1028 | version "3.0.4" 1029 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" 1030 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== 1031 | dependencies: 1032 | flatted "^3.1.0" 1033 | rimraf "^3.0.2" 1034 | 1035 | flat@^5.0.2: 1036 | version "5.0.2" 1037 | resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" 1038 | integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== 1039 | 1040 | flatted@^3.1.0: 1041 | version "3.2.7" 1042 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" 1043 | integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== 1044 | 1045 | fs.realpath@^1.0.0: 1046 | version "1.0.0" 1047 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1048 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 1049 | 1050 | fsevents@~2.3.2: 1051 | version "2.3.2" 1052 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1053 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1054 | 1055 | function-bind@^1.1.1: 1056 | version "1.1.1" 1057 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1058 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1059 | 1060 | get-caller-file@^2.0.5: 1061 | version "2.0.5" 1062 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 1063 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 1064 | 1065 | glob-parent@^5.1.2, glob-parent@~5.1.2: 1066 | version "5.1.2" 1067 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 1068 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1069 | dependencies: 1070 | is-glob "^4.0.1" 1071 | 1072 | glob-parent@^6.0.1, glob-parent@^6.0.2: 1073 | version "6.0.2" 1074 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 1075 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 1076 | dependencies: 1077 | is-glob "^4.0.3" 1078 | 1079 | glob-to-regexp@^0.4.1: 1080 | version "0.4.1" 1081 | resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" 1082 | integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== 1083 | 1084 | glob@7.2.0: 1085 | version "7.2.0" 1086 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" 1087 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== 1088 | dependencies: 1089 | fs.realpath "^1.0.0" 1090 | inflight "^1.0.4" 1091 | inherits "2" 1092 | minimatch "^3.0.4" 1093 | once "^1.3.0" 1094 | path-is-absolute "^1.0.0" 1095 | 1096 | glob@^7.1.3: 1097 | version "7.2.3" 1098 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" 1099 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 1100 | dependencies: 1101 | fs.realpath "^1.0.0" 1102 | inflight "^1.0.4" 1103 | inherits "2" 1104 | minimatch "^3.1.1" 1105 | once "^1.3.0" 1106 | path-is-absolute "^1.0.0" 1107 | 1108 | glob@^8.1.0: 1109 | version "8.1.0" 1110 | resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" 1111 | integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== 1112 | dependencies: 1113 | fs.realpath "^1.0.0" 1114 | inflight "^1.0.4" 1115 | inherits "2" 1116 | minimatch "^5.0.1" 1117 | once "^1.3.0" 1118 | 1119 | globals@^13.19.0: 1120 | version "13.20.0" 1121 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" 1122 | integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== 1123 | dependencies: 1124 | type-fest "^0.20.2" 1125 | 1126 | globby@^11.1.0: 1127 | version "11.1.0" 1128 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" 1129 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== 1130 | dependencies: 1131 | array-union "^2.1.0" 1132 | dir-glob "^3.0.1" 1133 | fast-glob "^3.2.9" 1134 | ignore "^5.2.0" 1135 | merge2 "^1.4.1" 1136 | slash "^3.0.0" 1137 | 1138 | globby@^13.1.1: 1139 | version "13.1.3" 1140 | resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.3.tgz#f62baf5720bcb2c1330c8d4ef222ee12318563ff" 1141 | integrity sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw== 1142 | dependencies: 1143 | dir-glob "^3.0.1" 1144 | fast-glob "^3.2.11" 1145 | ignore "^5.2.0" 1146 | merge2 "^1.4.1" 1147 | slash "^4.0.0" 1148 | 1149 | graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9: 1150 | version "4.2.11" 1151 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" 1152 | integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== 1153 | 1154 | grapheme-splitter@^1.0.4: 1155 | version "1.0.4" 1156 | resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" 1157 | integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== 1158 | 1159 | has-flag@^4.0.0: 1160 | version "4.0.0" 1161 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1162 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1163 | 1164 | has@^1.0.3: 1165 | version "1.0.3" 1166 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1167 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1168 | dependencies: 1169 | function-bind "^1.1.1" 1170 | 1171 | he@1.2.0: 1172 | version "1.2.0" 1173 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 1174 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 1175 | 1176 | http-proxy-agent@^4.0.1: 1177 | version "4.0.1" 1178 | resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" 1179 | integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== 1180 | dependencies: 1181 | "@tootallnate/once" "1" 1182 | agent-base "6" 1183 | debug "4" 1184 | 1185 | https-proxy-agent@^5.0.0: 1186 | version "5.0.1" 1187 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" 1188 | integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== 1189 | dependencies: 1190 | agent-base "6" 1191 | debug "4" 1192 | 1193 | icss-utils@^5.0.0, icss-utils@^5.1.0: 1194 | version "5.1.0" 1195 | resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" 1196 | integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== 1197 | 1198 | ignore@^5.2.0: 1199 | version "5.2.4" 1200 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" 1201 | integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== 1202 | 1203 | immediate@~3.0.5: 1204 | version "3.0.6" 1205 | resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" 1206 | integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== 1207 | 1208 | import-fresh@^3.0.0, import-fresh@^3.2.1: 1209 | version "3.3.0" 1210 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 1211 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 1212 | dependencies: 1213 | parent-module "^1.0.0" 1214 | resolve-from "^4.0.0" 1215 | 1216 | import-local@^3.0.2: 1217 | version "3.1.0" 1218 | resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" 1219 | integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== 1220 | dependencies: 1221 | pkg-dir "^4.2.0" 1222 | resolve-cwd "^3.0.0" 1223 | 1224 | imurmurhash@^0.1.4: 1225 | version "0.1.4" 1226 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1227 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== 1228 | 1229 | inflight@^1.0.4: 1230 | version "1.0.6" 1231 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1232 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 1233 | dependencies: 1234 | once "^1.3.0" 1235 | wrappy "1" 1236 | 1237 | inherits@2, inherits@~2.0.3: 1238 | version "2.0.4" 1239 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1240 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1241 | 1242 | interpret@^3.1.1: 1243 | version "3.1.1" 1244 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" 1245 | integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== 1246 | 1247 | is-binary-path@~2.1.0: 1248 | version "2.1.0" 1249 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 1250 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 1251 | dependencies: 1252 | binary-extensions "^2.0.0" 1253 | 1254 | is-core-module@^2.9.0: 1255 | version "2.11.0" 1256 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" 1257 | integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== 1258 | dependencies: 1259 | has "^1.0.3" 1260 | 1261 | is-extglob@^2.1.1: 1262 | version "2.1.1" 1263 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1264 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 1265 | 1266 | is-fullwidth-code-point@^3.0.0: 1267 | version "3.0.0" 1268 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1269 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1270 | 1271 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: 1272 | version "4.0.3" 1273 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 1274 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 1275 | dependencies: 1276 | is-extglob "^2.1.1" 1277 | 1278 | is-number@^7.0.0: 1279 | version "7.0.0" 1280 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1281 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1282 | 1283 | is-path-inside@^3.0.3: 1284 | version "3.0.3" 1285 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" 1286 | integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== 1287 | 1288 | is-plain-obj@^2.1.0: 1289 | version "2.1.0" 1290 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" 1291 | integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== 1292 | 1293 | is-plain-object@^2.0.4: 1294 | version "2.0.4" 1295 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 1296 | integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== 1297 | dependencies: 1298 | isobject "^3.0.1" 1299 | 1300 | is-unicode-supported@^0.1.0: 1301 | version "0.1.0" 1302 | resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" 1303 | integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== 1304 | 1305 | isarray@~1.0.0: 1306 | version "1.0.0" 1307 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1308 | integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== 1309 | 1310 | isexe@^2.0.0: 1311 | version "2.0.0" 1312 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1313 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 1314 | 1315 | isobject@^3.0.1: 1316 | version "3.0.1" 1317 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 1318 | integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== 1319 | 1320 | jest-worker@^27.4.5: 1321 | version "27.5.1" 1322 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" 1323 | integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== 1324 | dependencies: 1325 | "@types/node" "*" 1326 | merge-stream "^2.0.0" 1327 | supports-color "^8.0.0" 1328 | 1329 | js-sdsl@^4.1.4: 1330 | version "4.3.0" 1331 | resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711" 1332 | integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ== 1333 | 1334 | "js-tokens@^3.0.0 || ^4.0.0": 1335 | version "4.0.0" 1336 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1337 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1338 | 1339 | js-yaml@4.1.0, js-yaml@^4.1.0: 1340 | version "4.1.0" 1341 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 1342 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 1343 | dependencies: 1344 | argparse "^2.0.1" 1345 | 1346 | json-parse-even-better-errors@^2.3.1: 1347 | version "2.3.1" 1348 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 1349 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 1350 | 1351 | json-schema-traverse@^0.4.1: 1352 | version "0.4.1" 1353 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1354 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1355 | 1356 | json-schema-traverse@^1.0.0: 1357 | version "1.0.0" 1358 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" 1359 | integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== 1360 | 1361 | json-stable-stringify-without-jsonify@^1.0.1: 1362 | version "1.0.1" 1363 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 1364 | integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== 1365 | 1366 | jszip@^3.10.1: 1367 | version "3.10.1" 1368 | resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" 1369 | integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== 1370 | dependencies: 1371 | lie "~3.3.0" 1372 | pako "~1.0.2" 1373 | readable-stream "~2.3.6" 1374 | setimmediate "^1.0.5" 1375 | 1376 | kind-of@^6.0.2: 1377 | version "6.0.3" 1378 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" 1379 | integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== 1380 | 1381 | levn@^0.4.1: 1382 | version "0.4.1" 1383 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" 1384 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 1385 | dependencies: 1386 | prelude-ls "^1.2.1" 1387 | type-check "~0.4.0" 1388 | 1389 | lie@~3.3.0: 1390 | version "3.3.0" 1391 | resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" 1392 | integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== 1393 | dependencies: 1394 | immediate "~3.0.5" 1395 | 1396 | loader-runner@^4.2.0: 1397 | version "4.3.0" 1398 | resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" 1399 | integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== 1400 | 1401 | locate-path@^5.0.0: 1402 | version "5.0.0" 1403 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 1404 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 1405 | dependencies: 1406 | p-locate "^4.1.0" 1407 | 1408 | locate-path@^6.0.0: 1409 | version "6.0.0" 1410 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 1411 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 1412 | dependencies: 1413 | p-locate "^5.0.0" 1414 | 1415 | lodash.merge@^4.6.2: 1416 | version "4.6.2" 1417 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" 1418 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 1419 | 1420 | log-symbols@4.1.0: 1421 | version "4.1.0" 1422 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" 1423 | integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== 1424 | dependencies: 1425 | chalk "^4.1.0" 1426 | is-unicode-supported "^0.1.0" 1427 | 1428 | loose-envify@^1.1.0: 1429 | version "1.4.0" 1430 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 1431 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 1432 | dependencies: 1433 | js-tokens "^3.0.0 || ^4.0.0" 1434 | 1435 | lru-cache@^6.0.0: 1436 | version "6.0.0" 1437 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1438 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1439 | dependencies: 1440 | yallist "^4.0.0" 1441 | 1442 | merge-stream@^2.0.0: 1443 | version "2.0.0" 1444 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 1445 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 1446 | 1447 | merge2@^1.3.0, merge2@^1.4.1: 1448 | version "1.4.1" 1449 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 1450 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 1451 | 1452 | micromatch@^4.0.0, micromatch@^4.0.4: 1453 | version "4.0.5" 1454 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 1455 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 1456 | dependencies: 1457 | braces "^3.0.2" 1458 | picomatch "^2.3.1" 1459 | 1460 | mime-db@1.52.0: 1461 | version "1.52.0" 1462 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 1463 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 1464 | 1465 | mime-types@^2.1.27: 1466 | version "2.1.35" 1467 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 1468 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 1469 | dependencies: 1470 | mime-db "1.52.0" 1471 | 1472 | minimatch@5.0.1: 1473 | version "5.0.1" 1474 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" 1475 | integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== 1476 | dependencies: 1477 | brace-expansion "^2.0.1" 1478 | 1479 | minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: 1480 | version "3.1.2" 1481 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 1482 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 1483 | dependencies: 1484 | brace-expansion "^1.1.7" 1485 | 1486 | minimatch@^5.0.1: 1487 | version "5.1.6" 1488 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" 1489 | integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== 1490 | dependencies: 1491 | brace-expansion "^2.0.1" 1492 | 1493 | mocha@^10.2.0: 1494 | version "10.2.0" 1495 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" 1496 | integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== 1497 | dependencies: 1498 | ansi-colors "4.1.1" 1499 | browser-stdout "1.3.1" 1500 | chokidar "3.5.3" 1501 | debug "4.3.4" 1502 | diff "5.0.0" 1503 | escape-string-regexp "4.0.0" 1504 | find-up "5.0.0" 1505 | glob "7.2.0" 1506 | he "1.2.0" 1507 | js-yaml "4.1.0" 1508 | log-symbols "4.1.0" 1509 | minimatch "5.0.1" 1510 | ms "2.1.3" 1511 | nanoid "3.3.3" 1512 | serialize-javascript "6.0.0" 1513 | strip-json-comments "3.1.1" 1514 | supports-color "8.1.1" 1515 | workerpool "6.2.1" 1516 | yargs "16.2.0" 1517 | yargs-parser "20.2.4" 1518 | yargs-unparser "2.0.0" 1519 | 1520 | ms@2.1.2: 1521 | version "2.1.2" 1522 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1523 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1524 | 1525 | ms@2.1.3: 1526 | version "2.1.3" 1527 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 1528 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 1529 | 1530 | nanoid@3.3.3: 1531 | version "3.3.3" 1532 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" 1533 | integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== 1534 | 1535 | nanoid@^3.3.4: 1536 | version "3.3.4" 1537 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" 1538 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== 1539 | 1540 | natural-compare-lite@^1.4.0: 1541 | version "1.4.0" 1542 | resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" 1543 | integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== 1544 | 1545 | natural-compare@^1.4.0: 1546 | version "1.4.0" 1547 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 1548 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== 1549 | 1550 | neo-async@^2.6.2: 1551 | version "2.6.2" 1552 | resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" 1553 | integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== 1554 | 1555 | node-releases@^2.0.8: 1556 | version "2.0.10" 1557 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" 1558 | integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== 1559 | 1560 | normalize-path@^3.0.0, normalize-path@~3.0.0: 1561 | version "3.0.0" 1562 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1563 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1564 | 1565 | once@^1.3.0: 1566 | version "1.4.0" 1567 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1568 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 1569 | dependencies: 1570 | wrappy "1" 1571 | 1572 | optionator@^0.9.1: 1573 | version "0.9.1" 1574 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" 1575 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== 1576 | dependencies: 1577 | deep-is "^0.1.3" 1578 | fast-levenshtein "^2.0.6" 1579 | levn "^0.4.1" 1580 | prelude-ls "^1.2.1" 1581 | type-check "^0.4.0" 1582 | word-wrap "^1.2.3" 1583 | 1584 | p-limit@^2.2.0: 1585 | version "2.3.0" 1586 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 1587 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 1588 | dependencies: 1589 | p-try "^2.0.0" 1590 | 1591 | p-limit@^3.0.2: 1592 | version "3.1.0" 1593 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 1594 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 1595 | dependencies: 1596 | yocto-queue "^0.1.0" 1597 | 1598 | p-locate@^4.1.0: 1599 | version "4.1.0" 1600 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 1601 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 1602 | dependencies: 1603 | p-limit "^2.2.0" 1604 | 1605 | p-locate@^5.0.0: 1606 | version "5.0.0" 1607 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 1608 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 1609 | dependencies: 1610 | p-limit "^3.0.2" 1611 | 1612 | p-try@^2.0.0: 1613 | version "2.2.0" 1614 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 1615 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 1616 | 1617 | pako@~1.0.2: 1618 | version "1.0.11" 1619 | resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" 1620 | integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== 1621 | 1622 | parent-module@^1.0.0: 1623 | version "1.0.1" 1624 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 1625 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 1626 | dependencies: 1627 | callsites "^3.0.0" 1628 | 1629 | path-exists@^4.0.0: 1630 | version "4.0.0" 1631 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 1632 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 1633 | 1634 | path-is-absolute@^1.0.0: 1635 | version "1.0.1" 1636 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1637 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 1638 | 1639 | path-key@^3.1.0: 1640 | version "3.1.1" 1641 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 1642 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1643 | 1644 | path-parse@^1.0.7: 1645 | version "1.0.7" 1646 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1647 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1648 | 1649 | path-type@^4.0.0: 1650 | version "4.0.0" 1651 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 1652 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 1653 | 1654 | picocolors@^1.0.0: 1655 | version "1.0.0" 1656 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 1657 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 1658 | 1659 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: 1660 | version "2.3.1" 1661 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 1662 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 1663 | 1664 | pkg-dir@^4.2.0: 1665 | version "4.2.0" 1666 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 1667 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 1668 | dependencies: 1669 | find-up "^4.0.0" 1670 | 1671 | postcss-modules-extract-imports@^3.0.0: 1672 | version "3.0.0" 1673 | resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" 1674 | integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== 1675 | 1676 | postcss-modules-local-by-default@^4.0.0: 1677 | version "4.0.0" 1678 | resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" 1679 | integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== 1680 | dependencies: 1681 | icss-utils "^5.0.0" 1682 | postcss-selector-parser "^6.0.2" 1683 | postcss-value-parser "^4.1.0" 1684 | 1685 | postcss-modules-scope@^3.0.0: 1686 | version "3.0.0" 1687 | resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" 1688 | integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== 1689 | dependencies: 1690 | postcss-selector-parser "^6.0.4" 1691 | 1692 | postcss-modules-values@^4.0.0: 1693 | version "4.0.0" 1694 | resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" 1695 | integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== 1696 | dependencies: 1697 | icss-utils "^5.0.0" 1698 | 1699 | postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: 1700 | version "6.0.11" 1701 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" 1702 | integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== 1703 | dependencies: 1704 | cssesc "^3.0.0" 1705 | util-deprecate "^1.0.2" 1706 | 1707 | postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: 1708 | version "4.2.0" 1709 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" 1710 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== 1711 | 1712 | postcss@^8.4.19: 1713 | version "8.4.21" 1714 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" 1715 | integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== 1716 | dependencies: 1717 | nanoid "^3.3.4" 1718 | picocolors "^1.0.0" 1719 | source-map-js "^1.0.2" 1720 | 1721 | prelude-ls@^1.2.1: 1722 | version "1.2.1" 1723 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 1724 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 1725 | 1726 | process-nextick-args@~2.0.0: 1727 | version "2.0.1" 1728 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 1729 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 1730 | 1731 | punycode@^2.1.0: 1732 | version "2.3.0" 1733 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" 1734 | integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== 1735 | 1736 | queue-microtask@^1.2.2: 1737 | version "1.2.3" 1738 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 1739 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 1740 | 1741 | randombytes@^2.1.0: 1742 | version "2.1.0" 1743 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 1744 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 1745 | dependencies: 1746 | safe-buffer "^5.1.0" 1747 | 1748 | react-dom@^18.2.0: 1749 | version "18.2.0" 1750 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" 1751 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== 1752 | dependencies: 1753 | loose-envify "^1.1.0" 1754 | scheduler "^0.23.0" 1755 | 1756 | react@^18.2.0: 1757 | version "18.2.0" 1758 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" 1759 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== 1760 | dependencies: 1761 | loose-envify "^1.1.0" 1762 | 1763 | readable-stream@~2.3.6: 1764 | version "2.3.8" 1765 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" 1766 | integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== 1767 | dependencies: 1768 | core-util-is "~1.0.0" 1769 | inherits "~2.0.3" 1770 | isarray "~1.0.0" 1771 | process-nextick-args "~2.0.0" 1772 | safe-buffer "~5.1.1" 1773 | string_decoder "~1.1.1" 1774 | util-deprecate "~1.0.1" 1775 | 1776 | readdirp@~3.6.0: 1777 | version "3.6.0" 1778 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 1779 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 1780 | dependencies: 1781 | picomatch "^2.2.1" 1782 | 1783 | rechoir@^0.8.0: 1784 | version "0.8.0" 1785 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22" 1786 | integrity sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ== 1787 | dependencies: 1788 | resolve "^1.20.0" 1789 | 1790 | require-directory@^2.1.1: 1791 | version "2.1.1" 1792 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 1793 | integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== 1794 | 1795 | require-from-string@^2.0.2: 1796 | version "2.0.2" 1797 | resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" 1798 | integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== 1799 | 1800 | resolve-cwd@^3.0.0: 1801 | version "3.0.0" 1802 | resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" 1803 | integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== 1804 | dependencies: 1805 | resolve-from "^5.0.0" 1806 | 1807 | resolve-from@^4.0.0: 1808 | version "4.0.0" 1809 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 1810 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 1811 | 1812 | resolve-from@^5.0.0: 1813 | version "5.0.0" 1814 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 1815 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 1816 | 1817 | resolve@^1.20.0: 1818 | version "1.22.1" 1819 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 1820 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 1821 | dependencies: 1822 | is-core-module "^2.9.0" 1823 | path-parse "^1.0.7" 1824 | supports-preserve-symlinks-flag "^1.0.0" 1825 | 1826 | reusify@^1.0.4: 1827 | version "1.0.4" 1828 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 1829 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 1830 | 1831 | rimraf@^3.0.2: 1832 | version "3.0.2" 1833 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 1834 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 1835 | dependencies: 1836 | glob "^7.1.3" 1837 | 1838 | run-parallel@^1.1.9: 1839 | version "1.2.0" 1840 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 1841 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 1842 | dependencies: 1843 | queue-microtask "^1.2.2" 1844 | 1845 | safe-buffer@^5.1.0: 1846 | version "5.2.1" 1847 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1848 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1849 | 1850 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1851 | version "5.1.2" 1852 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1853 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1854 | 1855 | scheduler@^0.23.0: 1856 | version "0.23.0" 1857 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" 1858 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== 1859 | dependencies: 1860 | loose-envify "^1.1.0" 1861 | 1862 | schema-utils@^3.1.0, schema-utils@^3.1.1: 1863 | version "3.1.1" 1864 | resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" 1865 | integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== 1866 | dependencies: 1867 | "@types/json-schema" "^7.0.8" 1868 | ajv "^6.12.5" 1869 | ajv-keywords "^3.5.2" 1870 | 1871 | schema-utils@^4.0.0: 1872 | version "4.0.0" 1873 | resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.0.tgz#60331e9e3ae78ec5d16353c467c34b3a0a1d3df7" 1874 | integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg== 1875 | dependencies: 1876 | "@types/json-schema" "^7.0.9" 1877 | ajv "^8.8.0" 1878 | ajv-formats "^2.1.1" 1879 | ajv-keywords "^5.0.0" 1880 | 1881 | semver@^7.3.4, semver@^7.3.7, semver@^7.3.8: 1882 | version "7.3.8" 1883 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" 1884 | integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== 1885 | dependencies: 1886 | lru-cache "^6.0.0" 1887 | 1888 | serialize-javascript@6.0.0: 1889 | version "6.0.0" 1890 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" 1891 | integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== 1892 | dependencies: 1893 | randombytes "^2.1.0" 1894 | 1895 | serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: 1896 | version "6.0.1" 1897 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" 1898 | integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== 1899 | dependencies: 1900 | randombytes "^2.1.0" 1901 | 1902 | setimmediate@^1.0.5: 1903 | version "1.0.5" 1904 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" 1905 | integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== 1906 | 1907 | shallow-clone@^3.0.0: 1908 | version "3.0.1" 1909 | resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" 1910 | integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== 1911 | dependencies: 1912 | kind-of "^6.0.2" 1913 | 1914 | shebang-command@^2.0.0: 1915 | version "2.0.0" 1916 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 1917 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1918 | dependencies: 1919 | shebang-regex "^3.0.0" 1920 | 1921 | shebang-regex@^3.0.0: 1922 | version "3.0.0" 1923 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 1924 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1925 | 1926 | slash@^3.0.0: 1927 | version "3.0.0" 1928 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 1929 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 1930 | 1931 | slash@^4.0.0: 1932 | version "4.0.0" 1933 | resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" 1934 | integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== 1935 | 1936 | source-map-js@^1.0.2: 1937 | version "1.0.2" 1938 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 1939 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 1940 | 1941 | source-map-support@~0.5.20: 1942 | version "0.5.21" 1943 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" 1944 | integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== 1945 | dependencies: 1946 | buffer-from "^1.0.0" 1947 | source-map "^0.6.0" 1948 | 1949 | source-map@^0.6.0: 1950 | version "0.6.1" 1951 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1952 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1953 | 1954 | string-width@^4.1.0, string-width@^4.2.0: 1955 | version "4.2.3" 1956 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 1957 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 1958 | dependencies: 1959 | emoji-regex "^8.0.0" 1960 | is-fullwidth-code-point "^3.0.0" 1961 | strip-ansi "^6.0.1" 1962 | 1963 | string_decoder@~1.1.1: 1964 | version "1.1.1" 1965 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 1966 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 1967 | dependencies: 1968 | safe-buffer "~5.1.0" 1969 | 1970 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 1971 | version "6.0.1" 1972 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 1973 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1974 | dependencies: 1975 | ansi-regex "^5.0.1" 1976 | 1977 | strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: 1978 | version "3.1.1" 1979 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 1980 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 1981 | 1982 | style-loader@^3.3.2: 1983 | version "3.3.2" 1984 | resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.2.tgz#eaebca714d9e462c19aa1e3599057bc363924899" 1985 | integrity sha512-RHs/vcrKdQK8wZliteNK4NKzxvLBzpuHMqYmUVWeKa6MkaIQ97ZTOS0b+zapZhy6GcrgWnvWYCMHRirC3FsUmw== 1986 | 1987 | supports-color@8.1.1, supports-color@^8.0.0: 1988 | version "8.1.1" 1989 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 1990 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 1991 | dependencies: 1992 | has-flag "^4.0.0" 1993 | 1994 | supports-color@^7.1.0: 1995 | version "7.2.0" 1996 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1997 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1998 | dependencies: 1999 | has-flag "^4.0.0" 2000 | 2001 | supports-preserve-symlinks-flag@^1.0.0: 2002 | version "1.0.0" 2003 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 2004 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 2005 | 2006 | tapable@^2.1.1, tapable@^2.2.0: 2007 | version "2.2.1" 2008 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" 2009 | integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== 2010 | 2011 | terser-webpack-plugin@^5.1.3: 2012 | version "5.3.7" 2013 | resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz#ef760632d24991760f339fe9290deb936ad1ffc7" 2014 | integrity sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw== 2015 | dependencies: 2016 | "@jridgewell/trace-mapping" "^0.3.17" 2017 | jest-worker "^27.4.5" 2018 | schema-utils "^3.1.1" 2019 | serialize-javascript "^6.0.1" 2020 | terser "^5.16.5" 2021 | 2022 | terser@^5.16.5: 2023 | version "5.16.6" 2024 | resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.6.tgz#f6c7a14a378ee0630fbe3ac8d1f41b4681109533" 2025 | integrity sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg== 2026 | dependencies: 2027 | "@jridgewell/source-map" "^0.3.2" 2028 | acorn "^8.5.0" 2029 | commander "^2.20.0" 2030 | source-map-support "~0.5.20" 2031 | 2032 | text-table@^0.2.0: 2033 | version "0.2.0" 2034 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 2035 | integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== 2036 | 2037 | to-regex-range@^5.0.1: 2038 | version "5.0.1" 2039 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2040 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2041 | dependencies: 2042 | is-number "^7.0.0" 2043 | 2044 | ts-loader@^9.4.2: 2045 | version "9.4.2" 2046 | resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.4.2.tgz#80a45eee92dd5170b900b3d00abcfa14949aeb78" 2047 | integrity sha512-OmlC4WVmFv5I0PpaxYb+qGeGOdm5giHU7HwDDUjw59emP2UYMHy9fFSDcYgSNoH8sXcj4hGCSEhlDZ9ULeDraA== 2048 | dependencies: 2049 | chalk "^4.1.0" 2050 | enhanced-resolve "^5.0.0" 2051 | micromatch "^4.0.0" 2052 | semver "^7.3.4" 2053 | 2054 | tslib@^1.8.1: 2055 | version "1.14.1" 2056 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 2057 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 2058 | 2059 | tsutils@^3.21.0: 2060 | version "3.21.0" 2061 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" 2062 | integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== 2063 | dependencies: 2064 | tslib "^1.8.1" 2065 | 2066 | type-check@^0.4.0, type-check@~0.4.0: 2067 | version "0.4.0" 2068 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" 2069 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 2070 | dependencies: 2071 | prelude-ls "^1.2.1" 2072 | 2073 | type-fest@^0.20.2: 2074 | version "0.20.2" 2075 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" 2076 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 2077 | 2078 | typescript@^4.9.5: 2079 | version "4.9.5" 2080 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" 2081 | integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== 2082 | 2083 | update-browserslist-db@^1.0.10: 2084 | version "1.0.10" 2085 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" 2086 | integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== 2087 | dependencies: 2088 | escalade "^3.1.1" 2089 | picocolors "^1.0.0" 2090 | 2091 | uri-js@^4.2.2: 2092 | version "4.4.1" 2093 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 2094 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 2095 | dependencies: 2096 | punycode "^2.1.0" 2097 | 2098 | util-deprecate@^1.0.2, util-deprecate@~1.0.1: 2099 | version "1.0.2" 2100 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2101 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 2102 | 2103 | watchpack@^2.4.0: 2104 | version "2.4.0" 2105 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" 2106 | integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== 2107 | dependencies: 2108 | glob-to-regexp "^0.4.1" 2109 | graceful-fs "^4.1.2" 2110 | 2111 | webpack-cli@^5.0.1: 2112 | version "5.0.1" 2113 | resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.0.1.tgz#95fc0495ac4065e9423a722dec9175560b6f2d9a" 2114 | integrity sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A== 2115 | dependencies: 2116 | "@discoveryjs/json-ext" "^0.5.0" 2117 | "@webpack-cli/configtest" "^2.0.1" 2118 | "@webpack-cli/info" "^2.0.1" 2119 | "@webpack-cli/serve" "^2.0.1" 2120 | colorette "^2.0.14" 2121 | commander "^9.4.1" 2122 | cross-spawn "^7.0.3" 2123 | envinfo "^7.7.3" 2124 | fastest-levenshtein "^1.0.12" 2125 | import-local "^3.0.2" 2126 | interpret "^3.1.1" 2127 | rechoir "^0.8.0" 2128 | webpack-merge "^5.7.3" 2129 | 2130 | webpack-merge@^5.7.3: 2131 | version "5.8.0" 2132 | resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" 2133 | integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== 2134 | dependencies: 2135 | clone-deep "^4.0.1" 2136 | wildcard "^2.0.0" 2137 | 2138 | webpack-sources@^3.2.3: 2139 | version "3.2.3" 2140 | resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" 2141 | integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== 2142 | 2143 | webpack@^5.75.0: 2144 | version "5.76.2" 2145 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.76.2.tgz#6f80d1c1d1e3bf704db571b2504a0461fac80230" 2146 | integrity sha512-Th05ggRm23rVzEOlX8y67NkYCHa9nTNcwHPBhdg+lKG+mtiW7XgggjAeeLnADAe7mLjJ6LUNfgHAuRRh+Z6J7w== 2147 | dependencies: 2148 | "@types/eslint-scope" "^3.7.3" 2149 | "@types/estree" "^0.0.51" 2150 | "@webassemblyjs/ast" "1.11.1" 2151 | "@webassemblyjs/wasm-edit" "1.11.1" 2152 | "@webassemblyjs/wasm-parser" "1.11.1" 2153 | acorn "^8.7.1" 2154 | acorn-import-assertions "^1.7.6" 2155 | browserslist "^4.14.5" 2156 | chrome-trace-event "^1.0.2" 2157 | enhanced-resolve "^5.10.0" 2158 | es-module-lexer "^0.9.0" 2159 | eslint-scope "5.1.1" 2160 | events "^3.2.0" 2161 | glob-to-regexp "^0.4.1" 2162 | graceful-fs "^4.2.9" 2163 | json-parse-even-better-errors "^2.3.1" 2164 | loader-runner "^4.2.0" 2165 | mime-types "^2.1.27" 2166 | neo-async "^2.6.2" 2167 | schema-utils "^3.1.0" 2168 | tapable "^2.1.1" 2169 | terser-webpack-plugin "^5.1.3" 2170 | watchpack "^2.4.0" 2171 | webpack-sources "^3.2.3" 2172 | 2173 | which@^2.0.1: 2174 | version "2.0.2" 2175 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 2176 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2177 | dependencies: 2178 | isexe "^2.0.0" 2179 | 2180 | wildcard@^2.0.0: 2181 | version "2.0.0" 2182 | resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" 2183 | integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== 2184 | 2185 | word-wrap@^1.2.3: 2186 | version "1.2.3" 2187 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 2188 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 2189 | 2190 | workerpool@6.2.1: 2191 | version "6.2.1" 2192 | resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" 2193 | integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== 2194 | 2195 | wrap-ansi@^7.0.0: 2196 | version "7.0.0" 2197 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 2198 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 2199 | dependencies: 2200 | ansi-styles "^4.0.0" 2201 | string-width "^4.1.0" 2202 | strip-ansi "^6.0.0" 2203 | 2204 | wrappy@1: 2205 | version "1.0.2" 2206 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2207 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 2208 | 2209 | y18n@^5.0.5: 2210 | version "5.0.8" 2211 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 2212 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 2213 | 2214 | yallist@^4.0.0: 2215 | version "4.0.0" 2216 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 2217 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2218 | 2219 | yargs-parser@20.2.4: 2220 | version "20.2.4" 2221 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" 2222 | integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== 2223 | 2224 | yargs-parser@^20.2.2: 2225 | version "20.2.9" 2226 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" 2227 | integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== 2228 | 2229 | yargs-unparser@2.0.0: 2230 | version "2.0.0" 2231 | resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" 2232 | integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== 2233 | dependencies: 2234 | camelcase "^6.0.0" 2235 | decamelize "^4.0.0" 2236 | flat "^5.0.2" 2237 | is-plain-obj "^2.1.0" 2238 | 2239 | yargs@16.2.0: 2240 | version "16.2.0" 2241 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" 2242 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== 2243 | dependencies: 2244 | cliui "^7.0.2" 2245 | escalade "^3.1.1" 2246 | get-caller-file "^2.0.5" 2247 | require-directory "^2.1.1" 2248 | string-width "^4.2.0" 2249 | y18n "^5.0.5" 2250 | yargs-parser "^20.2.2" 2251 | 2252 | yocto-queue@^0.1.0: 2253 | version "0.1.0" 2254 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 2255 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 2256 | --------------------------------------------------------------------------------