├── .eslintrc.js ├── .gitignore ├── .prettierignore ├── .prettierrc.js ├── LICENSE ├── README.md ├── package.json ├── pnpm-lock.yaml ├── public ├── devtools.html ├── images │ ├── icon128-gray.png │ ├── icon128.png │ ├── icon16-gray.png │ ├── icon16.png │ ├── icon32-gray.png │ ├── icon32.png │ ├── icon48-gray.png │ └── icon48.png ├── index.html ├── manifest.json └── popup.html ├── scripts └── update-version.js ├── src ├── background.ts ├── content.ts ├── css-module.d.ts ├── devtools.tsx ├── devtools │ ├── Devtools.tsx │ ├── components │ │ ├── Button.tsx │ │ ├── FieldState.tsx │ │ ├── FormIdSelector.tsx │ │ ├── FormState.tsx │ │ ├── Input.tsx │ │ ├── Oops.tsx │ │ └── State.tsx │ ├── helpers │ │ └── get-data.ts │ └── styles │ │ ├── Button.module.css │ │ ├── Devtools.module.css │ │ ├── FieldState.module.css │ │ ├── FormIdSelector.module.css │ │ ├── FormState.module.css │ │ ├── Input.module.css │ │ ├── State.module.css │ │ ├── colors.css │ │ └── global.css ├── index.ts ├── popup.tsx ├── popup │ ├── Popup.module.css │ └── Popup.tsx ├── services │ ├── extension.ts │ └── webpage.ts └── typings │ ├── extension-message.ts │ └── webpage-message.ts ├── tsconfig.json ├── webpack.common.js ├── webpack.dev.js └── webpack.prod.js /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | parser: '@typescript-eslint/parser', 3 | parserOptions: { 4 | ecmaFeatures: { 5 | jsx: true, 6 | }, 7 | ecmaVersion: 'latest', 8 | sourceType: 'module', 9 | project: ['tsconfig.json', 'example/tsconfig.json'], 10 | }, 11 | plugins: ['@typescript-eslint'], 12 | extends: [ 13 | 'plugin:prettier/recommended', 14 | 'plugin:react-hooks/recommended', 15 | 'plugin:react/jsx-runtime', 16 | ], 17 | env: { 18 | browser: true, 19 | es2021: true, 20 | }, 21 | ignorePatterns: ['.eslintrc.js', 'dist/*', 'webpack.*.js', 'scripts/*'], 22 | rules: { 23 | '@typescript-eslint/interface-name-prefix': 'off', 24 | '@typescript-eslint/explicit-function-return-type': 'off', 25 | '@typescript-eslint/explicit-module-boundary-types': 'off', 26 | '@typescript-eslint/no-explicit-any': 'off', 27 | '@typescript-eslint/no-unused-vars': [ 28 | 'error', 29 | { ignoreRestSiblings: true }, 30 | ], 31 | '@typescript-eslint/consistent-type-imports': 'error', 32 | 'no-console': 'error', 33 | }, 34 | }; 35 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | dist -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | singleQuote: true, 3 | trailingComma: 'all', 4 | plugins: [require.resolve('@trivago/prettier-plugin-sort-imports')], 5 | }; 6 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 React Hook Form 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Logo](https://raw.githubusercontent.com/react-hook-form/react-hook-form/master/docs/logo.png)![Screenshot](https://user-images.githubusercontent.com/10513364/178235861-ff786497-1b0c-4095-afc5-21c49adae560.png)](https://react-hook-form.com) 2 | 3 | ## Requirement 4 | 5 | - [react-hook-form](https://github.com/react-hook-form/react-hook-form) >= `7.33.1` 6 | - [@hookform/devtools](https://github.com/react-hook-form/devtools) >= `4.2.2` 7 | 8 | ## Usage 9 | 10 | 1. Install extension in [Chrome Web Store](https://chrome.google.com/webstore/detail/react-hook-form-developer/cangfmbpembbepmmechnanpmddndpaji) 11 | _Or [build it yourself](#production) / download the [release](https://github.com/react-hook-form/devtools-extension/releases) file (then goto [Development Run **third step**](#run))_ 12 | 2. Install [devtools](https://github.com/react-hook-form/devtools) in your project 13 | 14 | ```bash 15 | npm install @hookform/devtools -D 16 | ``` 17 | 18 | 3. Add [DevTool component](https://github.com/react-hook-form/devtools#quickstart) in your code 19 | _This won't show devtool component anymore! Just for extension detect your form_ 20 | 4. (Optional) Add custom form id: `` 21 | _If you don't add it manually, it will be auto generated by uuid_ 22 | 5. Enjoy! 23 | 24 | ## Development 25 | 26 | ### Install 27 | 28 | > [!NOTE] 29 | > Use [pnpm](https://pnpm.io/) only 30 | 31 | ```bash 32 | pnpm install 33 | ``` 34 | 35 | ### Run 36 | 37 | 1. Run [example webpage](https://github.com/react-hook-form/devtools/tree/master/example) 38 | 39 | 2. Run extension in development mode 40 | 41 | ```bash 42 | pnpm run dev 43 | ``` 44 | 45 | 3. Open Chrome and navigate to `chrome://extensions` 46 | 47 | 4. Enable **Developer mode** 48 | 49 | 5. Click **Load unpacked** button and select `/dist` 50 | 51 | ### Messaging Flow 52 | 53 | ```mermaid 54 | sequenceDiagram 55 | participant Webpage 56 | participant Content Script 57 | participant Background 58 | participant Devtools 59 | participant Popup 60 | Background->>Background: Cleanup Cache 61 | Content Script->>Webpage: INIT 62 | Note left of Webpage: Browser has devtools extension 63 | Webpage->>Content Script: WELCOME 64 | Content Script->>Background: WELCOME 65 | Note right of Background: Webpage has rhf 66 | Background->>Background: Cache enabled tab 67 | par 68 | Popup->>Background: get-enable-status 69 | Background-->>Popup: Enable Status (Callback) 70 | and 71 | Devtools->>Background: get-enable-status 72 | Background-->>Devtools: Enable Status (Callback) 73 | end 74 | loop 75 | Webpage->>Content Script: UPDATE 76 | Content Script->>Background: UPDATE 77 | Note over Webpage,Background: Data 78 | end 79 | Background->>Background: Cache data 80 | loop Every 100ms 81 | Devtools->>Background: get-devtool-data 82 | Background-->>Devtools: Data (Callback) 83 | end 84 | Background->>Background: Cleanup Cache 85 | ``` 86 | 87 | ## Production 88 | 89 | 1. (Optional) Update package and manifest version 90 | 91 | ```bash 92 | pnpm run update-version -- 93 | ``` 94 | 95 | 2. Build 96 | 97 | ``` 98 | pnpm run build 99 | ``` 100 | 101 | 3. Production files can be found in `/dist` 102 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rhf-devtools-extension", 3 | "version": "0.1.1", 4 | "main": "src/devtools.tsx", 5 | "author": "Justin Sun", 6 | "license": "MIT", 7 | "scripts": { 8 | "preinstall": "npx only-allow pnpm", 9 | "prepare": "simple-git-hooks", 10 | "dev": "webpack --config webpack.dev.js --watch", 11 | "build": "rimraf dist && webpack --config webpack.prod.js", 12 | "clean": "rimraf dist", 13 | "format": "prettier --write \"**/*.{js,ts,tsx,css}\"", 14 | "lint": "eslint \"**/*.{js,ts,tsx}\" --fix", 15 | "update-version": "node ./scripts/update-version.js" 16 | }, 17 | "dependencies": { 18 | "clsx": "^1.1.1", 19 | "react": "^18.2.0", 20 | "react-dom": "^18.2.0" 21 | }, 22 | "devDependencies": { 23 | "@trivago/prettier-plugin-sort-imports": "^3.2.0", 24 | "@types/chrome": "^0.0.190", 25 | "@types/react": "^18.0.14", 26 | "@types/react-dom": "^18.0.5", 27 | "@typescript-eslint/eslint-plugin": "^5.28.0", 28 | "@typescript-eslint/parser": "^5.28.0", 29 | "copy-webpack-plugin": "^11.0.0", 30 | "css-loader": "^6.7.1", 31 | "eslint": "^8.17.0", 32 | "eslint-config-prettier": "^8.5.0", 33 | "eslint-plugin-prettier": "^4.0.0", 34 | "eslint-plugin-react": "^7.30.0", 35 | "eslint-plugin-react-hooks": "^4.6.0", 36 | "lint-staged": "^13.0.2", 37 | "prettier": "^2.7.1", 38 | "rimraf": "^3.0.2", 39 | "simple-git-hooks": "^2.8.0", 40 | "style-loader": "^3.3.1", 41 | "ts-loader": "^9.3.0", 42 | "typescript": "^4.7.3", 43 | "typescript-plugin-css-modules": "^3.4.0", 44 | "webpack": "^5.73.0", 45 | "webpack-cli": "^4.10.0", 46 | "webpack-merge": "^5.8.0" 47 | }, 48 | "lint-staged": { 49 | "*.{js,ts,tsx,css}": [ 50 | "prettier --write" 51 | ] 52 | }, 53 | "simple-git-hooks": { 54 | "pre-commit": "pnpm exec lint-staged" 55 | } 56 | } -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | '@trivago/prettier-plugin-sort-imports': ^3.2.0 5 | '@types/chrome': ^0.0.190 6 | '@types/react': ^18.0.14 7 | '@types/react-dom': ^18.0.5 8 | '@typescript-eslint/eslint-plugin': ^5.28.0 9 | '@typescript-eslint/parser': ^5.28.0 10 | clsx: ^1.1.1 11 | copy-webpack-plugin: ^11.0.0 12 | css-loader: ^6.7.1 13 | eslint: ^8.17.0 14 | eslint-config-prettier: ^8.5.0 15 | eslint-plugin-prettier: ^4.0.0 16 | eslint-plugin-react: ^7.30.0 17 | eslint-plugin-react-hooks: ^4.6.0 18 | lint-staged: ^13.0.2 19 | prettier: ^2.7.1 20 | react: ^18.2.0 21 | react-dom: ^18.2.0 22 | rimraf: ^3.0.2 23 | simple-git-hooks: ^2.8.0 24 | style-loader: ^3.3.1 25 | ts-loader: ^9.3.0 26 | typescript: ^4.7.3 27 | typescript-plugin-css-modules: ^3.4.0 28 | webpack: ^5.73.0 29 | webpack-cli: ^4.10.0 30 | webpack-merge: ^5.8.0 31 | 32 | dependencies: 33 | clsx: 1.1.1 34 | react: 18.2.0 35 | react-dom: 18.2.0_react@18.2.0 36 | 37 | devDependencies: 38 | '@trivago/prettier-plugin-sort-imports': 3.2.0_prettier@2.7.1 39 | '@types/chrome': 0.0.190 40 | '@types/react': 18.0.14 41 | '@types/react-dom': 18.0.5 42 | '@typescript-eslint/eslint-plugin': 5.28.0_7yumg2qjgbp7maccqlfhx2vudu 43 | '@typescript-eslint/parser': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 44 | copy-webpack-plugin: 11.0.0_webpack@5.73.0 45 | css-loader: 6.7.1_webpack@5.73.0 46 | eslint: 8.17.0 47 | eslint-config-prettier: 8.5.0_eslint@8.17.0 48 | eslint-plugin-prettier: 4.0.0_hsbo72uvra2cjko46y2c4fgzzm 49 | eslint-plugin-react: 7.30.0_eslint@8.17.0 50 | eslint-plugin-react-hooks: 4.6.0_eslint@8.17.0 51 | lint-staged: 13.0.2 52 | prettier: 2.7.1 53 | rimraf: 3.0.2 54 | simple-git-hooks: 2.8.0 55 | style-loader: 3.3.1_webpack@5.73.0 56 | ts-loader: 9.3.0_jy5w4alwxi2du2dgjfsq7k3iza 57 | typescript: 4.7.3 58 | typescript-plugin-css-modules: 3.4.0_typescript@4.7.3 59 | webpack: 5.73.0_webpack-cli@4.10.0 60 | webpack-cli: 4.10.0_webpack@5.73.0 61 | webpack-merge: 5.8.0 62 | 63 | packages: 64 | 65 | /@babel/code-frame/7.16.7: 66 | resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} 67 | engines: {node: '>=6.9.0'} 68 | dependencies: 69 | '@babel/highlight': 7.17.12 70 | dev: true 71 | 72 | /@babel/compat-data/7.18.5: 73 | resolution: {integrity: sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg==} 74 | engines: {node: '>=6.9.0'} 75 | dev: true 76 | 77 | /@babel/core/7.13.10: 78 | resolution: {integrity: sha512-bfIYcT0BdKeAZrovpMqX2Mx5NrgAckGbwT982AkdS5GNfn3KMGiprlBAtmBcFZRUmpaufS6WZFP8trvx8ptFDw==} 79 | engines: {node: '>=6.9.0'} 80 | dependencies: 81 | '@babel/code-frame': 7.16.7 82 | '@babel/generator': 7.13.9 83 | '@babel/helper-compilation-targets': 7.18.2_@babel+core@7.13.10 84 | '@babel/helper-module-transforms': 7.18.0 85 | '@babel/helpers': 7.18.2 86 | '@babel/parser': 7.14.6 87 | '@babel/template': 7.16.7 88 | '@babel/traverse': 7.13.0 89 | '@babel/types': 7.13.0 90 | convert-source-map: 1.8.0 91 | debug: 4.3.4 92 | gensync: 1.0.0-beta.2 93 | json5: 2.2.1 94 | lodash: 4.17.21 95 | semver: 6.3.0 96 | source-map: 0.5.7 97 | transitivePeerDependencies: 98 | - supports-color 99 | dev: true 100 | 101 | /@babel/generator/7.13.9: 102 | resolution: {integrity: sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==} 103 | dependencies: 104 | '@babel/types': 7.13.0 105 | jsesc: 2.5.2 106 | source-map: 0.5.7 107 | dev: true 108 | 109 | /@babel/generator/7.18.2: 110 | resolution: {integrity: sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==} 111 | engines: {node: '>=6.9.0'} 112 | dependencies: 113 | '@babel/types': 7.18.4 114 | '@jridgewell/gen-mapping': 0.3.1 115 | jsesc: 2.5.2 116 | dev: true 117 | 118 | /@babel/helper-compilation-targets/7.18.2_@babel+core@7.13.10: 119 | resolution: {integrity: sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==} 120 | engines: {node: '>=6.9.0'} 121 | peerDependencies: 122 | '@babel/core': ^7.0.0 123 | dependencies: 124 | '@babel/compat-data': 7.18.5 125 | '@babel/core': 7.13.10 126 | '@babel/helper-validator-option': 7.16.7 127 | browserslist: 4.20.4 128 | semver: 6.3.0 129 | dev: true 130 | 131 | /@babel/helper-environment-visitor/7.18.2: 132 | resolution: {integrity: sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==} 133 | engines: {node: '>=6.9.0'} 134 | dev: true 135 | 136 | /@babel/helper-function-name/7.17.9: 137 | resolution: {integrity: sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==} 138 | engines: {node: '>=6.9.0'} 139 | dependencies: 140 | '@babel/template': 7.16.7 141 | '@babel/types': 7.18.4 142 | dev: true 143 | 144 | /@babel/helper-hoist-variables/7.16.7: 145 | resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==} 146 | engines: {node: '>=6.9.0'} 147 | dependencies: 148 | '@babel/types': 7.18.4 149 | dev: true 150 | 151 | /@babel/helper-module-imports/7.16.7: 152 | resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==} 153 | engines: {node: '>=6.9.0'} 154 | dependencies: 155 | '@babel/types': 7.18.4 156 | dev: true 157 | 158 | /@babel/helper-module-transforms/7.18.0: 159 | resolution: {integrity: sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==} 160 | engines: {node: '>=6.9.0'} 161 | dependencies: 162 | '@babel/helper-environment-visitor': 7.18.2 163 | '@babel/helper-module-imports': 7.16.7 164 | '@babel/helper-simple-access': 7.18.2 165 | '@babel/helper-split-export-declaration': 7.16.7 166 | '@babel/helper-validator-identifier': 7.16.7 167 | '@babel/template': 7.16.7 168 | '@babel/traverse': 7.18.5 169 | '@babel/types': 7.18.4 170 | transitivePeerDependencies: 171 | - supports-color 172 | dev: true 173 | 174 | /@babel/helper-simple-access/7.18.2: 175 | resolution: {integrity: sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==} 176 | engines: {node: '>=6.9.0'} 177 | dependencies: 178 | '@babel/types': 7.18.4 179 | dev: true 180 | 181 | /@babel/helper-split-export-declaration/7.16.7: 182 | resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==} 183 | engines: {node: '>=6.9.0'} 184 | dependencies: 185 | '@babel/types': 7.18.4 186 | dev: true 187 | 188 | /@babel/helper-validator-identifier/7.16.7: 189 | resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} 190 | engines: {node: '>=6.9.0'} 191 | dev: true 192 | 193 | /@babel/helper-validator-option/7.16.7: 194 | resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==} 195 | engines: {node: '>=6.9.0'} 196 | dev: true 197 | 198 | /@babel/helpers/7.18.2: 199 | resolution: {integrity: sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==} 200 | engines: {node: '>=6.9.0'} 201 | dependencies: 202 | '@babel/template': 7.16.7 203 | '@babel/traverse': 7.18.5 204 | '@babel/types': 7.18.4 205 | transitivePeerDependencies: 206 | - supports-color 207 | dev: true 208 | 209 | /@babel/highlight/7.17.12: 210 | resolution: {integrity: sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==} 211 | engines: {node: '>=6.9.0'} 212 | dependencies: 213 | '@babel/helper-validator-identifier': 7.16.7 214 | chalk: 2.4.2 215 | js-tokens: 4.0.0 216 | dev: true 217 | 218 | /@babel/parser/7.14.6: 219 | resolution: {integrity: sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ==} 220 | engines: {node: '>=6.0.0'} 221 | hasBin: true 222 | dependencies: 223 | '@babel/types': 7.13.0 224 | dev: true 225 | 226 | /@babel/parser/7.18.5: 227 | resolution: {integrity: sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==} 228 | engines: {node: '>=6.0.0'} 229 | hasBin: true 230 | dependencies: 231 | '@babel/types': 7.18.4 232 | dev: true 233 | 234 | /@babel/template/7.16.7: 235 | resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==} 236 | engines: {node: '>=6.9.0'} 237 | dependencies: 238 | '@babel/code-frame': 7.16.7 239 | '@babel/parser': 7.18.5 240 | '@babel/types': 7.18.4 241 | dev: true 242 | 243 | /@babel/traverse/7.13.0: 244 | resolution: {integrity: sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==} 245 | dependencies: 246 | '@babel/code-frame': 7.16.7 247 | '@babel/generator': 7.13.9 248 | '@babel/helper-function-name': 7.17.9 249 | '@babel/helper-split-export-declaration': 7.16.7 250 | '@babel/parser': 7.14.6 251 | '@babel/types': 7.13.0 252 | debug: 4.3.4 253 | globals: 11.12.0 254 | lodash: 4.17.21 255 | transitivePeerDependencies: 256 | - supports-color 257 | dev: true 258 | 259 | /@babel/traverse/7.18.5: 260 | resolution: {integrity: sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==} 261 | engines: {node: '>=6.9.0'} 262 | dependencies: 263 | '@babel/code-frame': 7.16.7 264 | '@babel/generator': 7.18.2 265 | '@babel/helper-environment-visitor': 7.18.2 266 | '@babel/helper-function-name': 7.17.9 267 | '@babel/helper-hoist-variables': 7.16.7 268 | '@babel/helper-split-export-declaration': 7.16.7 269 | '@babel/parser': 7.18.5 270 | '@babel/types': 7.18.4 271 | debug: 4.3.4 272 | globals: 11.12.0 273 | transitivePeerDependencies: 274 | - supports-color 275 | dev: true 276 | 277 | /@babel/types/7.13.0: 278 | resolution: {integrity: sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA==} 279 | dependencies: 280 | '@babel/helper-validator-identifier': 7.16.7 281 | lodash: 4.17.21 282 | to-fast-properties: 2.0.0 283 | dev: true 284 | 285 | /@babel/types/7.18.4: 286 | resolution: {integrity: sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==} 287 | engines: {node: '>=6.9.0'} 288 | dependencies: 289 | '@babel/helper-validator-identifier': 7.16.7 290 | to-fast-properties: 2.0.0 291 | dev: true 292 | 293 | /@discoveryjs/json-ext/0.5.7: 294 | resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} 295 | engines: {node: '>=10.0.0'} 296 | dev: true 297 | 298 | /@eslint/eslintrc/1.3.0: 299 | resolution: {integrity: sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==} 300 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 301 | dependencies: 302 | ajv: 6.12.6 303 | debug: 4.3.4 304 | espree: 9.3.2 305 | globals: 13.15.0 306 | ignore: 5.2.0 307 | import-fresh: 3.3.0 308 | js-yaml: 4.1.0 309 | minimatch: 3.1.2 310 | strip-json-comments: 3.1.1 311 | transitivePeerDependencies: 312 | - supports-color 313 | dev: true 314 | 315 | /@humanwhocodes/config-array/0.9.5: 316 | resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} 317 | engines: {node: '>=10.10.0'} 318 | dependencies: 319 | '@humanwhocodes/object-schema': 1.2.1 320 | debug: 4.3.4 321 | minimatch: 3.1.2 322 | transitivePeerDependencies: 323 | - supports-color 324 | dev: true 325 | 326 | /@humanwhocodes/object-schema/1.2.1: 327 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 328 | dev: true 329 | 330 | /@jridgewell/gen-mapping/0.3.1: 331 | resolution: {integrity: sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==} 332 | engines: {node: '>=6.0.0'} 333 | dependencies: 334 | '@jridgewell/set-array': 1.1.1 335 | '@jridgewell/sourcemap-codec': 1.4.13 336 | '@jridgewell/trace-mapping': 0.3.13 337 | dev: true 338 | 339 | /@jridgewell/resolve-uri/3.0.7: 340 | resolution: {integrity: sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==} 341 | engines: {node: '>=6.0.0'} 342 | dev: true 343 | 344 | /@jridgewell/set-array/1.1.1: 345 | resolution: {integrity: sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==} 346 | engines: {node: '>=6.0.0'} 347 | dev: true 348 | 349 | /@jridgewell/source-map/0.3.2: 350 | resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} 351 | dependencies: 352 | '@jridgewell/gen-mapping': 0.3.1 353 | '@jridgewell/trace-mapping': 0.3.13 354 | dev: true 355 | 356 | /@jridgewell/sourcemap-codec/1.4.13: 357 | resolution: {integrity: sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==} 358 | dev: true 359 | 360 | /@jridgewell/trace-mapping/0.3.13: 361 | resolution: {integrity: sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==} 362 | dependencies: 363 | '@jridgewell/resolve-uri': 3.0.7 364 | '@jridgewell/sourcemap-codec': 1.4.13 365 | dev: true 366 | 367 | /@nodelib/fs.scandir/2.1.5: 368 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 369 | engines: {node: '>= 8'} 370 | dependencies: 371 | '@nodelib/fs.stat': 2.0.5 372 | run-parallel: 1.2.0 373 | dev: true 374 | 375 | /@nodelib/fs.stat/2.0.5: 376 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 377 | engines: {node: '>= 8'} 378 | dev: true 379 | 380 | /@nodelib/fs.walk/1.2.8: 381 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 382 | engines: {node: '>= 8'} 383 | dependencies: 384 | '@nodelib/fs.scandir': 2.1.5 385 | fastq: 1.13.0 386 | dev: true 387 | 388 | /@trivago/prettier-plugin-sort-imports/3.2.0_prettier@2.7.1: 389 | resolution: {integrity: sha512-DnwLe+z8t/dZX5xBbYZV1+C5STkyK/P6SSq3Nk6NXlJZsgvDZX2eN4ND7bMFgGV/NL/YChWzcNf6ziGba1ktQQ==} 390 | peerDependencies: 391 | prettier: 2.x 392 | dependencies: 393 | '@babel/core': 7.13.10 394 | '@babel/generator': 7.13.9 395 | '@babel/parser': 7.14.6 396 | '@babel/traverse': 7.13.0 397 | '@babel/types': 7.13.0 398 | javascript-natural-sort: 0.7.1 399 | lodash: 4.17.21 400 | prettier: 2.7.1 401 | transitivePeerDependencies: 402 | - supports-color 403 | dev: true 404 | 405 | /@types/chrome/0.0.190: 406 | resolution: {integrity: sha512-lCwwIBfaD+PhG62qFB46mIBpD+xBIa+PedNB24KR9YnmJ0Zn9h0OwP1NQBhI8Cbu1rKwTQHTxhs7GhWGyUvinw==} 407 | dependencies: 408 | '@types/filesystem': 0.0.32 409 | '@types/har-format': 1.2.8 410 | dev: true 411 | 412 | /@types/eslint-scope/3.7.3: 413 | resolution: {integrity: sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==} 414 | dependencies: 415 | '@types/eslint': 8.4.3 416 | '@types/estree': 0.0.51 417 | dev: true 418 | 419 | /@types/eslint/8.4.3: 420 | resolution: {integrity: sha512-YP1S7YJRMPs+7KZKDb9G63n8YejIwW9BALq7a5j2+H4yl6iOv9CB29edho+cuFRrvmJbbaH2yiVChKLJVysDGw==} 421 | dependencies: 422 | '@types/estree': 0.0.51 423 | '@types/json-schema': 7.0.11 424 | dev: true 425 | 426 | /@types/estree/0.0.51: 427 | resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} 428 | dev: true 429 | 430 | /@types/filesystem/0.0.32: 431 | resolution: {integrity: sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==} 432 | dependencies: 433 | '@types/filewriter': 0.0.29 434 | dev: true 435 | 436 | /@types/filewriter/0.0.29: 437 | resolution: {integrity: sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==} 438 | dev: true 439 | 440 | /@types/har-format/1.2.8: 441 | resolution: {integrity: sha512-OP6L9VuZNdskgNN3zFQQ54ceYD8OLq5IbqO4VK91ORLfOm7WdT/CiT/pHEBSQEqCInJ2y3O6iCm/zGtPElpgJQ==} 442 | dev: true 443 | 444 | /@types/json-schema/7.0.11: 445 | resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} 446 | dev: true 447 | 448 | /@types/json5/0.0.29: 449 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 450 | dev: true 451 | 452 | /@types/node/18.0.0: 453 | resolution: {integrity: sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==} 454 | dev: true 455 | 456 | /@types/prop-types/15.7.5: 457 | resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} 458 | dev: true 459 | 460 | /@types/react-dom/18.0.5: 461 | resolution: {integrity: sha512-OWPWTUrY/NIrjsAPkAk1wW9LZeIjSvkXRhclsFO8CZcZGCOg2G0YZy4ft+rOyYxy8B7ui5iZzi9OkDebZ7/QSA==} 462 | dependencies: 463 | '@types/react': 18.0.14 464 | dev: true 465 | 466 | /@types/react/18.0.14: 467 | resolution: {integrity: sha512-x4gGuASSiWmo0xjDLpm5mPb52syZHJx02VKbqUKdLmKtAwIh63XClGsiTI1K6DO5q7ox4xAsQrU+Gl3+gGXF9Q==} 468 | dependencies: 469 | '@types/prop-types': 15.7.5 470 | '@types/scheduler': 0.16.2 471 | csstype: 3.1.0 472 | dev: true 473 | 474 | /@types/scheduler/0.16.2: 475 | resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} 476 | dev: true 477 | 478 | /@typescript-eslint/eslint-plugin/5.28.0_7yumg2qjgbp7maccqlfhx2vudu: 479 | resolution: {integrity: sha512-DXVU6Cg29H2M6EybqSg2A+x8DgO9TCUBRp4QEXQHJceLS7ogVDP0g3Lkg/SZCqcvkAP/RruuQqK0gdlkgmhSUA==} 480 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 481 | peerDependencies: 482 | '@typescript-eslint/parser': ^5.0.0 483 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 484 | typescript: '*' 485 | peerDependenciesMeta: 486 | typescript: 487 | optional: true 488 | dependencies: 489 | '@typescript-eslint/parser': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 490 | '@typescript-eslint/scope-manager': 5.28.0 491 | '@typescript-eslint/type-utils': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 492 | '@typescript-eslint/utils': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 493 | debug: 4.3.4 494 | eslint: 8.17.0 495 | functional-red-black-tree: 1.0.1 496 | ignore: 5.2.0 497 | regexpp: 3.2.0 498 | semver: 7.3.7 499 | tsutils: 3.21.0_typescript@4.7.3 500 | typescript: 4.7.3 501 | transitivePeerDependencies: 502 | - supports-color 503 | dev: true 504 | 505 | /@typescript-eslint/parser/5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4: 506 | resolution: {integrity: sha512-ekqoNRNK1lAcKhZESN/PdpVsWbP9jtiNqzFWkp/yAUdZvJalw2heCYuqRmM5eUJSIYEkgq5sGOjq+ZqsLMjtRA==} 507 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 508 | peerDependencies: 509 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 510 | typescript: '*' 511 | peerDependenciesMeta: 512 | typescript: 513 | optional: true 514 | dependencies: 515 | '@typescript-eslint/scope-manager': 5.28.0 516 | '@typescript-eslint/types': 5.28.0 517 | '@typescript-eslint/typescript-estree': 5.28.0_typescript@4.7.3 518 | debug: 4.3.4 519 | eslint: 8.17.0 520 | typescript: 4.7.3 521 | transitivePeerDependencies: 522 | - supports-color 523 | dev: true 524 | 525 | /@typescript-eslint/scope-manager/5.28.0: 526 | resolution: {integrity: sha512-LeBLTqF/he1Z+boRhSqnso6YrzcKMTQ8bO/YKEe+6+O/JGof9M0g3IJlIsqfrK/6K03MlFIlycbf1uQR1IjE+w==} 527 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 528 | dependencies: 529 | '@typescript-eslint/types': 5.28.0 530 | '@typescript-eslint/visitor-keys': 5.28.0 531 | dev: true 532 | 533 | /@typescript-eslint/type-utils/5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4: 534 | resolution: {integrity: sha512-SyKjKh4CXPglueyC6ceAFytjYWMoPHMswPQae236zqe1YbhvCVQyIawesYywGiu98L9DwrxsBN69vGIVxJ4mQQ==} 535 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 536 | peerDependencies: 537 | eslint: '*' 538 | typescript: '*' 539 | peerDependenciesMeta: 540 | typescript: 541 | optional: true 542 | dependencies: 543 | '@typescript-eslint/utils': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 544 | debug: 4.3.4 545 | eslint: 8.17.0 546 | tsutils: 3.21.0_typescript@4.7.3 547 | typescript: 4.7.3 548 | transitivePeerDependencies: 549 | - supports-color 550 | dev: true 551 | 552 | /@typescript-eslint/types/5.28.0: 553 | resolution: {integrity: sha512-2OOm8ZTOQxqkPbf+DAo8oc16sDlVR5owgJfKheBkxBKg1vAfw2JsSofH9+16VPlN9PWtv8Wzhklkqw3k/zCVxA==} 554 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 555 | dev: true 556 | 557 | /@typescript-eslint/typescript-estree/5.28.0_typescript@4.7.3: 558 | resolution: {integrity: sha512-9GX+GfpV+F4hdTtYc6OV9ZkyYilGXPmQpm6AThInpBmKJEyRSIjORJd1G9+bknb7OTFYL+Vd4FBJAO6T78OVqA==} 559 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 560 | peerDependencies: 561 | typescript: '*' 562 | peerDependenciesMeta: 563 | typescript: 564 | optional: true 565 | dependencies: 566 | '@typescript-eslint/types': 5.28.0 567 | '@typescript-eslint/visitor-keys': 5.28.0 568 | debug: 4.3.4 569 | globby: 11.1.0 570 | is-glob: 4.0.3 571 | semver: 7.3.7 572 | tsutils: 3.21.0_typescript@4.7.3 573 | typescript: 4.7.3 574 | transitivePeerDependencies: 575 | - supports-color 576 | dev: true 577 | 578 | /@typescript-eslint/utils/5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4: 579 | resolution: {integrity: sha512-E60N5L0fjv7iPJV3UGc4EC+A3Lcj4jle9zzR0gW7vXhflO7/J29kwiTGITA2RlrmPokKiZbBy2DgaclCaEUs6g==} 580 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 581 | peerDependencies: 582 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 583 | dependencies: 584 | '@types/json-schema': 7.0.11 585 | '@typescript-eslint/scope-manager': 5.28.0 586 | '@typescript-eslint/types': 5.28.0 587 | '@typescript-eslint/typescript-estree': 5.28.0_typescript@4.7.3 588 | eslint: 8.17.0 589 | eslint-scope: 5.1.1 590 | eslint-utils: 3.0.0_eslint@8.17.0 591 | transitivePeerDependencies: 592 | - supports-color 593 | - typescript 594 | dev: true 595 | 596 | /@typescript-eslint/visitor-keys/5.28.0: 597 | resolution: {integrity: sha512-BtfP1vCor8cWacovzzPFOoeW4kBQxzmhxGoOpt0v1SFvG+nJ0cWaVdJk7cky1ArTcFHHKNIxyo2LLr3oNkSuXA==} 598 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 599 | dependencies: 600 | '@typescript-eslint/types': 5.28.0 601 | eslint-visitor-keys: 3.3.0 602 | dev: true 603 | 604 | /@webassemblyjs/ast/1.11.1: 605 | resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} 606 | dependencies: 607 | '@webassemblyjs/helper-numbers': 1.11.1 608 | '@webassemblyjs/helper-wasm-bytecode': 1.11.1 609 | dev: true 610 | 611 | /@webassemblyjs/floating-point-hex-parser/1.11.1: 612 | resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} 613 | dev: true 614 | 615 | /@webassemblyjs/helper-api-error/1.11.1: 616 | resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} 617 | dev: true 618 | 619 | /@webassemblyjs/helper-buffer/1.11.1: 620 | resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} 621 | dev: true 622 | 623 | /@webassemblyjs/helper-numbers/1.11.1: 624 | resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} 625 | dependencies: 626 | '@webassemblyjs/floating-point-hex-parser': 1.11.1 627 | '@webassemblyjs/helper-api-error': 1.11.1 628 | '@xtuc/long': 4.2.2 629 | dev: true 630 | 631 | /@webassemblyjs/helper-wasm-bytecode/1.11.1: 632 | resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} 633 | dev: true 634 | 635 | /@webassemblyjs/helper-wasm-section/1.11.1: 636 | resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} 637 | dependencies: 638 | '@webassemblyjs/ast': 1.11.1 639 | '@webassemblyjs/helper-buffer': 1.11.1 640 | '@webassemblyjs/helper-wasm-bytecode': 1.11.1 641 | '@webassemblyjs/wasm-gen': 1.11.1 642 | dev: true 643 | 644 | /@webassemblyjs/ieee754/1.11.1: 645 | resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} 646 | dependencies: 647 | '@xtuc/ieee754': 1.2.0 648 | dev: true 649 | 650 | /@webassemblyjs/leb128/1.11.1: 651 | resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} 652 | dependencies: 653 | '@xtuc/long': 4.2.2 654 | dev: true 655 | 656 | /@webassemblyjs/utf8/1.11.1: 657 | resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} 658 | dev: true 659 | 660 | /@webassemblyjs/wasm-edit/1.11.1: 661 | resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} 662 | dependencies: 663 | '@webassemblyjs/ast': 1.11.1 664 | '@webassemblyjs/helper-buffer': 1.11.1 665 | '@webassemblyjs/helper-wasm-bytecode': 1.11.1 666 | '@webassemblyjs/helper-wasm-section': 1.11.1 667 | '@webassemblyjs/wasm-gen': 1.11.1 668 | '@webassemblyjs/wasm-opt': 1.11.1 669 | '@webassemblyjs/wasm-parser': 1.11.1 670 | '@webassemblyjs/wast-printer': 1.11.1 671 | dev: true 672 | 673 | /@webassemblyjs/wasm-gen/1.11.1: 674 | resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} 675 | dependencies: 676 | '@webassemblyjs/ast': 1.11.1 677 | '@webassemblyjs/helper-wasm-bytecode': 1.11.1 678 | '@webassemblyjs/ieee754': 1.11.1 679 | '@webassemblyjs/leb128': 1.11.1 680 | '@webassemblyjs/utf8': 1.11.1 681 | dev: true 682 | 683 | /@webassemblyjs/wasm-opt/1.11.1: 684 | resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} 685 | dependencies: 686 | '@webassemblyjs/ast': 1.11.1 687 | '@webassemblyjs/helper-buffer': 1.11.1 688 | '@webassemblyjs/wasm-gen': 1.11.1 689 | '@webassemblyjs/wasm-parser': 1.11.1 690 | dev: true 691 | 692 | /@webassemblyjs/wasm-parser/1.11.1: 693 | resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} 694 | dependencies: 695 | '@webassemblyjs/ast': 1.11.1 696 | '@webassemblyjs/helper-api-error': 1.11.1 697 | '@webassemblyjs/helper-wasm-bytecode': 1.11.1 698 | '@webassemblyjs/ieee754': 1.11.1 699 | '@webassemblyjs/leb128': 1.11.1 700 | '@webassemblyjs/utf8': 1.11.1 701 | dev: true 702 | 703 | /@webassemblyjs/wast-printer/1.11.1: 704 | resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} 705 | dependencies: 706 | '@webassemblyjs/ast': 1.11.1 707 | '@xtuc/long': 4.2.2 708 | dev: true 709 | 710 | /@webpack-cli/configtest/1.2.0_77l47gmqkrqiei5z7sbwz5iaj4: 711 | resolution: {integrity: sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==} 712 | peerDependencies: 713 | webpack: 4.x.x || 5.x.x 714 | webpack-cli: 4.x.x 715 | dependencies: 716 | webpack: 5.73.0_webpack-cli@4.10.0 717 | webpack-cli: 4.10.0_webpack@5.73.0 718 | dev: true 719 | 720 | /@webpack-cli/info/1.5.0_webpack-cli@4.10.0: 721 | resolution: {integrity: sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==} 722 | peerDependencies: 723 | webpack-cli: 4.x.x 724 | dependencies: 725 | envinfo: 7.8.1 726 | webpack-cli: 4.10.0_webpack@5.73.0 727 | dev: true 728 | 729 | /@webpack-cli/serve/1.7.0_webpack-cli@4.10.0: 730 | resolution: {integrity: sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==} 731 | peerDependencies: 732 | webpack-cli: 4.x.x 733 | webpack-dev-server: '*' 734 | peerDependenciesMeta: 735 | webpack-dev-server: 736 | optional: true 737 | dependencies: 738 | webpack-cli: 4.10.0_webpack@5.73.0 739 | dev: true 740 | 741 | /@xtuc/ieee754/1.2.0: 742 | resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} 743 | dev: true 744 | 745 | /@xtuc/long/4.2.2: 746 | resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} 747 | dev: true 748 | 749 | /acorn-import-assertions/1.8.0_acorn@8.7.1: 750 | resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} 751 | peerDependencies: 752 | acorn: ^8 753 | dependencies: 754 | acorn: 8.7.1 755 | dev: true 756 | 757 | /acorn-jsx/5.3.2_acorn@8.7.1: 758 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 759 | peerDependencies: 760 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 761 | dependencies: 762 | acorn: 8.7.1 763 | dev: true 764 | 765 | /acorn/8.7.1: 766 | resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==} 767 | engines: {node: '>=0.4.0'} 768 | hasBin: true 769 | dev: true 770 | 771 | /aggregate-error/3.1.0: 772 | resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} 773 | engines: {node: '>=8'} 774 | dependencies: 775 | clean-stack: 2.2.0 776 | indent-string: 4.0.0 777 | dev: true 778 | 779 | /ajv-formats/2.1.1: 780 | resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} 781 | peerDependenciesMeta: 782 | ajv: 783 | optional: true 784 | dependencies: 785 | ajv: 8.11.0 786 | dev: true 787 | 788 | /ajv-keywords/3.5.2_ajv@6.12.6: 789 | resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} 790 | peerDependencies: 791 | ajv: ^6.9.1 792 | dependencies: 793 | ajv: 6.12.6 794 | dev: true 795 | 796 | /ajv-keywords/5.1.0_ajv@8.11.0: 797 | resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} 798 | peerDependencies: 799 | ajv: ^8.8.2 800 | dependencies: 801 | ajv: 8.11.0 802 | fast-deep-equal: 3.1.3 803 | dev: true 804 | 805 | /ajv/6.12.6: 806 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 807 | dependencies: 808 | fast-deep-equal: 3.1.3 809 | fast-json-stable-stringify: 2.1.0 810 | json-schema-traverse: 0.4.1 811 | uri-js: 4.4.1 812 | dev: true 813 | 814 | /ajv/8.11.0: 815 | resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==} 816 | dependencies: 817 | fast-deep-equal: 3.1.3 818 | json-schema-traverse: 1.0.0 819 | require-from-string: 2.0.2 820 | uri-js: 4.4.1 821 | dev: true 822 | 823 | /ansi-escapes/4.3.2: 824 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 825 | engines: {node: '>=8'} 826 | dependencies: 827 | type-fest: 0.21.3 828 | dev: true 829 | 830 | /ansi-regex/5.0.1: 831 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 832 | engines: {node: '>=8'} 833 | dev: true 834 | 835 | /ansi-regex/6.0.1: 836 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 837 | engines: {node: '>=12'} 838 | dev: true 839 | 840 | /ansi-styles/3.2.1: 841 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 842 | engines: {node: '>=4'} 843 | dependencies: 844 | color-convert: 1.9.3 845 | dev: true 846 | 847 | /ansi-styles/4.3.0: 848 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 849 | engines: {node: '>=8'} 850 | dependencies: 851 | color-convert: 2.0.1 852 | dev: true 853 | 854 | /ansi-styles/6.1.0: 855 | resolution: {integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==} 856 | engines: {node: '>=12'} 857 | dev: true 858 | 859 | /anymatch/3.1.2: 860 | resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} 861 | engines: {node: '>= 8'} 862 | dependencies: 863 | normalize-path: 3.0.0 864 | picomatch: 2.3.1 865 | dev: true 866 | 867 | /argparse/2.0.1: 868 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 869 | dev: true 870 | 871 | /array-includes/3.1.5: 872 | resolution: {integrity: sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==} 873 | engines: {node: '>= 0.4'} 874 | dependencies: 875 | call-bind: 1.0.2 876 | define-properties: 1.1.4 877 | es-abstract: 1.20.1 878 | get-intrinsic: 1.1.2 879 | is-string: 1.0.7 880 | dev: true 881 | 882 | /array-union/2.1.0: 883 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 884 | engines: {node: '>=8'} 885 | dev: true 886 | 887 | /array.prototype.flatmap/1.3.0: 888 | resolution: {integrity: sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==} 889 | engines: {node: '>= 0.4'} 890 | dependencies: 891 | call-bind: 1.0.2 892 | define-properties: 1.1.4 893 | es-abstract: 1.20.1 894 | es-shim-unscopables: 1.0.0 895 | dev: true 896 | 897 | /astral-regex/2.0.0: 898 | resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} 899 | engines: {node: '>=8'} 900 | dev: true 901 | 902 | /atob/2.1.2: 903 | resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} 904 | engines: {node: '>= 4.5.0'} 905 | hasBin: true 906 | dev: true 907 | 908 | /balanced-match/1.0.2: 909 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 910 | dev: true 911 | 912 | /big.js/3.2.0: 913 | resolution: {integrity: sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==} 914 | dev: true 915 | 916 | /binary-extensions/2.2.0: 917 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 918 | engines: {node: '>=8'} 919 | dev: true 920 | 921 | /brace-expansion/1.1.11: 922 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 923 | dependencies: 924 | balanced-match: 1.0.2 925 | concat-map: 0.0.1 926 | dev: true 927 | 928 | /braces/3.0.2: 929 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 930 | engines: {node: '>=8'} 931 | dependencies: 932 | fill-range: 7.0.1 933 | dev: true 934 | 935 | /browserslist/4.20.4: 936 | resolution: {integrity: sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw==} 937 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 938 | hasBin: true 939 | dependencies: 940 | caniuse-lite: 1.0.30001355 941 | electron-to-chromium: 1.4.160 942 | escalade: 3.1.1 943 | node-releases: 2.0.5 944 | picocolors: 1.0.0 945 | dev: true 946 | 947 | /buffer-from/1.1.2: 948 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 949 | dev: true 950 | 951 | /call-bind/1.0.2: 952 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 953 | dependencies: 954 | function-bind: 1.1.1 955 | get-intrinsic: 1.1.2 956 | dev: true 957 | 958 | /callsites/3.1.0: 959 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 960 | engines: {node: '>=6'} 961 | dev: true 962 | 963 | /caniuse-lite/1.0.30001355: 964 | resolution: {integrity: sha512-Sd6pjJHF27LzCB7pT7qs+kuX2ndurzCzkpJl6Qct7LPSZ9jn0bkOA8mdgMgmqnQAWLVOOGjLpc+66V57eLtb1g==} 965 | dev: true 966 | 967 | /chalk/2.4.2: 968 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 969 | engines: {node: '>=4'} 970 | dependencies: 971 | ansi-styles: 3.2.1 972 | escape-string-regexp: 1.0.5 973 | supports-color: 5.5.0 974 | dev: true 975 | 976 | /chalk/4.1.2: 977 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 978 | engines: {node: '>=10'} 979 | dependencies: 980 | ansi-styles: 4.3.0 981 | supports-color: 7.2.0 982 | dev: true 983 | 984 | /chokidar/3.5.3: 985 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 986 | engines: {node: '>= 8.10.0'} 987 | dependencies: 988 | anymatch: 3.1.2 989 | braces: 3.0.2 990 | glob-parent: 5.1.2 991 | is-binary-path: 2.1.0 992 | is-glob: 4.0.3 993 | normalize-path: 3.0.0 994 | readdirp: 3.6.0 995 | optionalDependencies: 996 | fsevents: 2.3.2 997 | dev: true 998 | 999 | /chrome-trace-event/1.0.3: 1000 | resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} 1001 | engines: {node: '>=6.0'} 1002 | dev: true 1003 | 1004 | /clean-stack/2.2.0: 1005 | resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} 1006 | engines: {node: '>=6'} 1007 | dev: true 1008 | 1009 | /cli-cursor/3.1.0: 1010 | resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} 1011 | engines: {node: '>=8'} 1012 | dependencies: 1013 | restore-cursor: 3.1.0 1014 | dev: true 1015 | 1016 | /cli-truncate/2.1.0: 1017 | resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} 1018 | engines: {node: '>=8'} 1019 | dependencies: 1020 | slice-ansi: 3.0.0 1021 | string-width: 4.2.3 1022 | dev: true 1023 | 1024 | /cli-truncate/3.1.0: 1025 | resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} 1026 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1027 | dependencies: 1028 | slice-ansi: 5.0.0 1029 | string-width: 5.1.2 1030 | dev: true 1031 | 1032 | /clone-deep/4.0.1: 1033 | resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} 1034 | engines: {node: '>=6'} 1035 | dependencies: 1036 | is-plain-object: 2.0.4 1037 | kind-of: 6.0.3 1038 | shallow-clone: 3.0.1 1039 | dev: true 1040 | 1041 | /clsx/1.1.1: 1042 | resolution: {integrity: sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==} 1043 | engines: {node: '>=6'} 1044 | dev: false 1045 | 1046 | /color-convert/1.9.3: 1047 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 1048 | dependencies: 1049 | color-name: 1.1.3 1050 | dev: true 1051 | 1052 | /color-convert/2.0.1: 1053 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1054 | engines: {node: '>=7.0.0'} 1055 | dependencies: 1056 | color-name: 1.1.4 1057 | dev: true 1058 | 1059 | /color-name/1.1.3: 1060 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 1061 | dev: true 1062 | 1063 | /color-name/1.1.4: 1064 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1065 | dev: true 1066 | 1067 | /colorette/2.0.19: 1068 | resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} 1069 | dev: true 1070 | 1071 | /commander/2.20.3: 1072 | resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} 1073 | dev: true 1074 | 1075 | /commander/7.2.0: 1076 | resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} 1077 | engines: {node: '>= 10'} 1078 | dev: true 1079 | 1080 | /commander/9.3.0: 1081 | resolution: {integrity: sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==} 1082 | engines: {node: ^12.20.0 || >=14} 1083 | dev: true 1084 | 1085 | /concat-map/0.0.1: 1086 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} 1087 | dev: true 1088 | 1089 | /convert-source-map/1.8.0: 1090 | resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} 1091 | dependencies: 1092 | safe-buffer: 5.1.2 1093 | dev: true 1094 | 1095 | /copy-anything/2.0.6: 1096 | resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} 1097 | dependencies: 1098 | is-what: 3.14.1 1099 | dev: true 1100 | 1101 | /copy-webpack-plugin/11.0.0_webpack@5.73.0: 1102 | resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} 1103 | engines: {node: '>= 14.15.0'} 1104 | peerDependencies: 1105 | webpack: ^5.1.0 1106 | dependencies: 1107 | fast-glob: 3.2.11 1108 | glob-parent: 6.0.2 1109 | globby: 13.1.2 1110 | normalize-path: 3.0.0 1111 | schema-utils: 4.0.0 1112 | serialize-javascript: 6.0.0 1113 | webpack: 5.73.0_webpack-cli@4.10.0 1114 | dev: true 1115 | 1116 | /cross-spawn/7.0.3: 1117 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 1118 | engines: {node: '>= 8'} 1119 | dependencies: 1120 | path-key: 3.1.1 1121 | shebang-command: 2.0.0 1122 | which: 2.0.2 1123 | dev: true 1124 | 1125 | /css-loader/6.7.1_webpack@5.73.0: 1126 | resolution: {integrity: sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==} 1127 | engines: {node: '>= 12.13.0'} 1128 | peerDependencies: 1129 | webpack: ^5.0.0 1130 | dependencies: 1131 | icss-utils: 5.1.0_postcss@8.4.14 1132 | postcss: 8.4.14 1133 | postcss-modules-extract-imports: 3.0.0_postcss@8.4.14 1134 | postcss-modules-local-by-default: 4.0.0_postcss@8.4.14 1135 | postcss-modules-scope: 3.0.0_postcss@8.4.14 1136 | postcss-modules-values: 4.0.0_postcss@8.4.14 1137 | postcss-value-parser: 4.2.0 1138 | semver: 7.3.7 1139 | webpack: 5.73.0_webpack-cli@4.10.0 1140 | dev: true 1141 | 1142 | /css-parse/2.0.0: 1143 | resolution: {integrity: sha512-UNIFik2RgSbiTwIW1IsFwXWn6vs+bYdq83LKTSOsx7NJR7WII9dxewkHLltfTLVppoUApHV0118a4RZRI9FLwA==} 1144 | dependencies: 1145 | css: 2.2.4 1146 | dev: true 1147 | 1148 | /css-selector-tokenizer/0.7.3: 1149 | resolution: {integrity: sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==} 1150 | dependencies: 1151 | cssesc: 3.0.0 1152 | fastparse: 1.1.2 1153 | dev: true 1154 | 1155 | /css/2.2.4: 1156 | resolution: {integrity: sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==} 1157 | dependencies: 1158 | inherits: 2.0.4 1159 | source-map: 0.6.1 1160 | source-map-resolve: 0.5.3 1161 | urix: 0.1.0 1162 | dev: true 1163 | 1164 | /cssesc/3.0.0: 1165 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 1166 | engines: {node: '>=4'} 1167 | hasBin: true 1168 | dev: true 1169 | 1170 | /csstype/3.1.0: 1171 | resolution: {integrity: sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==} 1172 | dev: true 1173 | 1174 | /debug/3.1.0: 1175 | resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} 1176 | peerDependencies: 1177 | supports-color: '*' 1178 | peerDependenciesMeta: 1179 | supports-color: 1180 | optional: true 1181 | dependencies: 1182 | ms: 2.0.0 1183 | dev: true 1184 | 1185 | /debug/3.2.7: 1186 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 1187 | peerDependencies: 1188 | supports-color: '*' 1189 | peerDependenciesMeta: 1190 | supports-color: 1191 | optional: true 1192 | dependencies: 1193 | ms: 2.1.2 1194 | dev: true 1195 | optional: true 1196 | 1197 | /debug/4.3.4: 1198 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1199 | engines: {node: '>=6.0'} 1200 | peerDependencies: 1201 | supports-color: '*' 1202 | peerDependenciesMeta: 1203 | supports-color: 1204 | optional: true 1205 | dependencies: 1206 | ms: 2.1.2 1207 | dev: true 1208 | 1209 | /decode-uri-component/0.2.0: 1210 | resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==} 1211 | engines: {node: '>=0.10'} 1212 | dev: true 1213 | 1214 | /deep-is/0.1.4: 1215 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 1216 | dev: true 1217 | 1218 | /define-properties/1.1.4: 1219 | resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} 1220 | engines: {node: '>= 0.4'} 1221 | dependencies: 1222 | has-property-descriptors: 1.0.0 1223 | object-keys: 1.1.1 1224 | dev: true 1225 | 1226 | /dir-glob/3.0.1: 1227 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1228 | engines: {node: '>=8'} 1229 | dependencies: 1230 | path-type: 4.0.0 1231 | dev: true 1232 | 1233 | /doctrine/2.1.0: 1234 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 1235 | engines: {node: '>=0.10.0'} 1236 | dependencies: 1237 | esutils: 2.0.3 1238 | dev: true 1239 | 1240 | /doctrine/3.0.0: 1241 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 1242 | engines: {node: '>=6.0.0'} 1243 | dependencies: 1244 | esutils: 2.0.3 1245 | dev: true 1246 | 1247 | /dotenv/10.0.0: 1248 | resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} 1249 | engines: {node: '>=10'} 1250 | dev: true 1251 | 1252 | /eastasianwidth/0.2.0: 1253 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 1254 | dev: true 1255 | 1256 | /electron-to-chromium/1.4.160: 1257 | resolution: {integrity: sha512-O1Z12YfyeX2LXYO7MdHIPazGXzLzQnr1ADW55U2ARQsJBPgfpJz3u+g3Mo2l1wSyfOCdiGqaX9qtV4XKZ0HNRA==} 1258 | dev: true 1259 | 1260 | /emoji-regex/8.0.0: 1261 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1262 | dev: true 1263 | 1264 | /emoji-regex/9.2.2: 1265 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 1266 | dev: true 1267 | 1268 | /emojis-list/2.1.0: 1269 | resolution: {integrity: sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==} 1270 | engines: {node: '>= 0.10'} 1271 | dev: true 1272 | 1273 | /enhanced-resolve/5.9.3: 1274 | resolution: {integrity: sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==} 1275 | engines: {node: '>=10.13.0'} 1276 | dependencies: 1277 | graceful-fs: 4.2.10 1278 | tapable: 2.2.1 1279 | dev: true 1280 | 1281 | /envinfo/7.8.1: 1282 | resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==} 1283 | engines: {node: '>=4'} 1284 | hasBin: true 1285 | dev: true 1286 | 1287 | /errno/0.1.8: 1288 | resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} 1289 | hasBin: true 1290 | requiresBuild: true 1291 | dependencies: 1292 | prr: 1.0.1 1293 | dev: true 1294 | optional: true 1295 | 1296 | /es-abstract/1.20.1: 1297 | resolution: {integrity: sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==} 1298 | engines: {node: '>= 0.4'} 1299 | dependencies: 1300 | call-bind: 1.0.2 1301 | es-to-primitive: 1.2.1 1302 | function-bind: 1.1.1 1303 | function.prototype.name: 1.1.5 1304 | get-intrinsic: 1.1.2 1305 | get-symbol-description: 1.0.0 1306 | has: 1.0.3 1307 | has-property-descriptors: 1.0.0 1308 | has-symbols: 1.0.3 1309 | internal-slot: 1.0.3 1310 | is-callable: 1.2.4 1311 | is-negative-zero: 2.0.2 1312 | is-regex: 1.1.4 1313 | is-shared-array-buffer: 1.0.2 1314 | is-string: 1.0.7 1315 | is-weakref: 1.0.2 1316 | object-inspect: 1.12.2 1317 | object-keys: 1.1.1 1318 | object.assign: 4.1.2 1319 | regexp.prototype.flags: 1.4.3 1320 | string.prototype.trimend: 1.0.5 1321 | string.prototype.trimstart: 1.0.5 1322 | unbox-primitive: 1.0.2 1323 | dev: true 1324 | 1325 | /es-module-lexer/0.9.3: 1326 | resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} 1327 | dev: true 1328 | 1329 | /es-shim-unscopables/1.0.0: 1330 | resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} 1331 | dependencies: 1332 | has: 1.0.3 1333 | dev: true 1334 | 1335 | /es-to-primitive/1.2.1: 1336 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 1337 | engines: {node: '>= 0.4'} 1338 | dependencies: 1339 | is-callable: 1.2.4 1340 | is-date-object: 1.0.5 1341 | is-symbol: 1.0.4 1342 | dev: true 1343 | 1344 | /escalade/3.1.1: 1345 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1346 | engines: {node: '>=6'} 1347 | dev: true 1348 | 1349 | /escape-string-regexp/1.0.5: 1350 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1351 | engines: {node: '>=0.8.0'} 1352 | dev: true 1353 | 1354 | /escape-string-regexp/4.0.0: 1355 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1356 | engines: {node: '>=10'} 1357 | dev: true 1358 | 1359 | /eslint-config-prettier/8.5.0_eslint@8.17.0: 1360 | resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} 1361 | hasBin: true 1362 | peerDependencies: 1363 | eslint: '>=7.0.0' 1364 | dependencies: 1365 | eslint: 8.17.0 1366 | dev: true 1367 | 1368 | /eslint-plugin-prettier/4.0.0_hsbo72uvra2cjko46y2c4fgzzm: 1369 | resolution: {integrity: sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==} 1370 | engines: {node: '>=6.0.0'} 1371 | peerDependencies: 1372 | eslint: '>=7.28.0' 1373 | eslint-config-prettier: '*' 1374 | prettier: '>=2.0.0' 1375 | peerDependenciesMeta: 1376 | eslint-config-prettier: 1377 | optional: true 1378 | dependencies: 1379 | eslint: 8.17.0 1380 | eslint-config-prettier: 8.5.0_eslint@8.17.0 1381 | prettier: 2.7.1 1382 | prettier-linter-helpers: 1.0.0 1383 | dev: true 1384 | 1385 | /eslint-plugin-react-hooks/4.6.0_eslint@8.17.0: 1386 | resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} 1387 | engines: {node: '>=10'} 1388 | peerDependencies: 1389 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 1390 | dependencies: 1391 | eslint: 8.17.0 1392 | dev: true 1393 | 1394 | /eslint-plugin-react/7.30.0_eslint@8.17.0: 1395 | resolution: {integrity: sha512-RgwH7hjW48BleKsYyHK5vUAvxtE9SMPDKmcPRQgtRCYaZA0XQPt5FSkrU3nhz5ifzMZcA8opwmRJ2cmOO8tr5A==} 1396 | engines: {node: '>=4'} 1397 | peerDependencies: 1398 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1399 | dependencies: 1400 | array-includes: 3.1.5 1401 | array.prototype.flatmap: 1.3.0 1402 | doctrine: 2.1.0 1403 | eslint: 8.17.0 1404 | estraverse: 5.3.0 1405 | jsx-ast-utils: 3.3.0 1406 | minimatch: 3.1.2 1407 | object.entries: 1.1.5 1408 | object.fromentries: 2.0.5 1409 | object.hasown: 1.1.1 1410 | object.values: 1.1.5 1411 | prop-types: 15.8.1 1412 | resolve: 2.0.0-next.3 1413 | semver: 6.3.0 1414 | string.prototype.matchall: 4.0.7 1415 | dev: true 1416 | 1417 | /eslint-scope/5.1.1: 1418 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 1419 | engines: {node: '>=8.0.0'} 1420 | dependencies: 1421 | esrecurse: 4.3.0 1422 | estraverse: 4.3.0 1423 | dev: true 1424 | 1425 | /eslint-scope/7.1.1: 1426 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} 1427 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1428 | dependencies: 1429 | esrecurse: 4.3.0 1430 | estraverse: 5.3.0 1431 | dev: true 1432 | 1433 | /eslint-utils/3.0.0_eslint@8.17.0: 1434 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} 1435 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} 1436 | peerDependencies: 1437 | eslint: '>=5' 1438 | dependencies: 1439 | eslint: 8.17.0 1440 | eslint-visitor-keys: 2.1.0 1441 | dev: true 1442 | 1443 | /eslint-visitor-keys/2.1.0: 1444 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} 1445 | engines: {node: '>=10'} 1446 | dev: true 1447 | 1448 | /eslint-visitor-keys/3.3.0: 1449 | resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} 1450 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1451 | dev: true 1452 | 1453 | /eslint/8.17.0: 1454 | resolution: {integrity: sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==} 1455 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1456 | hasBin: true 1457 | dependencies: 1458 | '@eslint/eslintrc': 1.3.0 1459 | '@humanwhocodes/config-array': 0.9.5 1460 | ajv: 6.12.6 1461 | chalk: 4.1.2 1462 | cross-spawn: 7.0.3 1463 | debug: 4.3.4 1464 | doctrine: 3.0.0 1465 | escape-string-regexp: 4.0.0 1466 | eslint-scope: 7.1.1 1467 | eslint-utils: 3.0.0_eslint@8.17.0 1468 | eslint-visitor-keys: 3.3.0 1469 | espree: 9.3.2 1470 | esquery: 1.4.0 1471 | esutils: 2.0.3 1472 | fast-deep-equal: 3.1.3 1473 | file-entry-cache: 6.0.1 1474 | functional-red-black-tree: 1.0.1 1475 | glob-parent: 6.0.2 1476 | globals: 13.15.0 1477 | ignore: 5.2.0 1478 | import-fresh: 3.3.0 1479 | imurmurhash: 0.1.4 1480 | is-glob: 4.0.3 1481 | js-yaml: 4.1.0 1482 | json-stable-stringify-without-jsonify: 1.0.1 1483 | levn: 0.4.1 1484 | lodash.merge: 4.6.2 1485 | minimatch: 3.1.2 1486 | natural-compare: 1.4.0 1487 | optionator: 0.9.1 1488 | regexpp: 3.2.0 1489 | strip-ansi: 6.0.1 1490 | strip-json-comments: 3.1.1 1491 | text-table: 0.2.0 1492 | v8-compile-cache: 2.3.0 1493 | transitivePeerDependencies: 1494 | - supports-color 1495 | dev: true 1496 | 1497 | /espree/9.3.2: 1498 | resolution: {integrity: sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==} 1499 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1500 | dependencies: 1501 | acorn: 8.7.1 1502 | acorn-jsx: 5.3.2_acorn@8.7.1 1503 | eslint-visitor-keys: 3.3.0 1504 | dev: true 1505 | 1506 | /esquery/1.4.0: 1507 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} 1508 | engines: {node: '>=0.10'} 1509 | dependencies: 1510 | estraverse: 5.3.0 1511 | dev: true 1512 | 1513 | /esrecurse/4.3.0: 1514 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1515 | engines: {node: '>=4.0'} 1516 | dependencies: 1517 | estraverse: 5.3.0 1518 | dev: true 1519 | 1520 | /estraverse/4.3.0: 1521 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 1522 | engines: {node: '>=4.0'} 1523 | dev: true 1524 | 1525 | /estraverse/5.3.0: 1526 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1527 | engines: {node: '>=4.0'} 1528 | dev: true 1529 | 1530 | /esutils/2.0.3: 1531 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1532 | engines: {node: '>=0.10.0'} 1533 | dev: true 1534 | 1535 | /events/3.3.0: 1536 | resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} 1537 | engines: {node: '>=0.8.x'} 1538 | dev: true 1539 | 1540 | /execa/6.1.0: 1541 | resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} 1542 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1543 | dependencies: 1544 | cross-spawn: 7.0.3 1545 | get-stream: 6.0.1 1546 | human-signals: 3.0.1 1547 | is-stream: 3.0.0 1548 | merge-stream: 2.0.0 1549 | npm-run-path: 5.1.0 1550 | onetime: 6.0.0 1551 | signal-exit: 3.0.7 1552 | strip-final-newline: 3.0.0 1553 | dev: true 1554 | 1555 | /fast-deep-equal/3.1.3: 1556 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1557 | dev: true 1558 | 1559 | /fast-diff/1.2.0: 1560 | resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} 1561 | dev: true 1562 | 1563 | /fast-glob/3.2.11: 1564 | resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} 1565 | engines: {node: '>=8.6.0'} 1566 | dependencies: 1567 | '@nodelib/fs.stat': 2.0.5 1568 | '@nodelib/fs.walk': 1.2.8 1569 | glob-parent: 5.1.2 1570 | merge2: 1.4.1 1571 | micromatch: 4.0.5 1572 | dev: true 1573 | 1574 | /fast-json-stable-stringify/2.1.0: 1575 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1576 | dev: true 1577 | 1578 | /fast-levenshtein/2.0.6: 1579 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1580 | dev: true 1581 | 1582 | /fastest-levenshtein/1.0.12: 1583 | resolution: {integrity: sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==} 1584 | dev: true 1585 | 1586 | /fastparse/1.1.2: 1587 | resolution: {integrity: sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==} 1588 | dev: true 1589 | 1590 | /fastq/1.13.0: 1591 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} 1592 | dependencies: 1593 | reusify: 1.0.4 1594 | dev: true 1595 | 1596 | /file-entry-cache/6.0.1: 1597 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1598 | engines: {node: ^10.12.0 || >=12.0.0} 1599 | dependencies: 1600 | flat-cache: 3.0.4 1601 | dev: true 1602 | 1603 | /fill-range/7.0.1: 1604 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1605 | engines: {node: '>=8'} 1606 | dependencies: 1607 | to-regex-range: 5.0.1 1608 | dev: true 1609 | 1610 | /find-up/4.1.0: 1611 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 1612 | engines: {node: '>=8'} 1613 | dependencies: 1614 | locate-path: 5.0.0 1615 | path-exists: 4.0.0 1616 | dev: true 1617 | 1618 | /flat-cache/3.0.4: 1619 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 1620 | engines: {node: ^10.12.0 || >=12.0.0} 1621 | dependencies: 1622 | flatted: 3.2.5 1623 | rimraf: 3.0.2 1624 | dev: true 1625 | 1626 | /flatted/3.2.5: 1627 | resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} 1628 | dev: true 1629 | 1630 | /fs.realpath/1.0.0: 1631 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1632 | dev: true 1633 | 1634 | /fsevents/2.3.2: 1635 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1636 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1637 | os: [darwin] 1638 | requiresBuild: true 1639 | dev: true 1640 | optional: true 1641 | 1642 | /function-bind/1.1.1: 1643 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1644 | dev: true 1645 | 1646 | /function.prototype.name/1.1.5: 1647 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} 1648 | engines: {node: '>= 0.4'} 1649 | dependencies: 1650 | call-bind: 1.0.2 1651 | define-properties: 1.1.4 1652 | es-abstract: 1.20.1 1653 | functions-have-names: 1.2.3 1654 | dev: true 1655 | 1656 | /functional-red-black-tree/1.0.1: 1657 | resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} 1658 | dev: true 1659 | 1660 | /functions-have-names/1.2.3: 1661 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1662 | dev: true 1663 | 1664 | /generic-names/1.0.3: 1665 | resolution: {integrity: sha512-b6OHfQuKasIKM9b6YPkX+KUj/TLBTx3B/1aT1T5F12FEuEqyFMdr59OMS53aoaSw8eVtapdqieX6lbg5opaOhA==} 1666 | dependencies: 1667 | loader-utils: 0.2.17 1668 | dev: true 1669 | 1670 | /gensync/1.0.0-beta.2: 1671 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1672 | engines: {node: '>=6.9.0'} 1673 | dev: true 1674 | 1675 | /get-intrinsic/1.1.2: 1676 | resolution: {integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==} 1677 | dependencies: 1678 | function-bind: 1.1.1 1679 | has: 1.0.3 1680 | has-symbols: 1.0.3 1681 | dev: true 1682 | 1683 | /get-stream/6.0.1: 1684 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1685 | engines: {node: '>=10'} 1686 | dev: true 1687 | 1688 | /get-symbol-description/1.0.0: 1689 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 1690 | engines: {node: '>= 0.4'} 1691 | dependencies: 1692 | call-bind: 1.0.2 1693 | get-intrinsic: 1.1.2 1694 | dev: true 1695 | 1696 | /glob-parent/5.1.2: 1697 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1698 | engines: {node: '>= 6'} 1699 | dependencies: 1700 | is-glob: 4.0.3 1701 | dev: true 1702 | 1703 | /glob-parent/6.0.2: 1704 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1705 | engines: {node: '>=10.13.0'} 1706 | dependencies: 1707 | is-glob: 4.0.3 1708 | dev: true 1709 | 1710 | /glob-to-regexp/0.4.1: 1711 | resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} 1712 | dev: true 1713 | 1714 | /glob/7.2.3: 1715 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1716 | dependencies: 1717 | fs.realpath: 1.0.0 1718 | inflight: 1.0.6 1719 | inherits: 2.0.4 1720 | minimatch: 3.1.2 1721 | once: 1.4.0 1722 | path-is-absolute: 1.0.1 1723 | dev: true 1724 | 1725 | /globals/11.12.0: 1726 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1727 | engines: {node: '>=4'} 1728 | dev: true 1729 | 1730 | /globals/13.15.0: 1731 | resolution: {integrity: sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==} 1732 | engines: {node: '>=8'} 1733 | dependencies: 1734 | type-fest: 0.20.2 1735 | dev: true 1736 | 1737 | /globby/11.1.0: 1738 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1739 | engines: {node: '>=10'} 1740 | dependencies: 1741 | array-union: 2.1.0 1742 | dir-glob: 3.0.1 1743 | fast-glob: 3.2.11 1744 | ignore: 5.2.0 1745 | merge2: 1.4.1 1746 | slash: 3.0.0 1747 | dev: true 1748 | 1749 | /globby/13.1.2: 1750 | resolution: {integrity: sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==} 1751 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1752 | dependencies: 1753 | dir-glob: 3.0.1 1754 | fast-glob: 3.2.11 1755 | ignore: 5.2.0 1756 | merge2: 1.4.1 1757 | slash: 4.0.0 1758 | dev: true 1759 | 1760 | /graceful-fs/4.2.10: 1761 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} 1762 | dev: true 1763 | 1764 | /has-bigints/1.0.2: 1765 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 1766 | dev: true 1767 | 1768 | /has-flag/3.0.0: 1769 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1770 | engines: {node: '>=4'} 1771 | dev: true 1772 | 1773 | /has-flag/4.0.0: 1774 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1775 | engines: {node: '>=8'} 1776 | dev: true 1777 | 1778 | /has-property-descriptors/1.0.0: 1779 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 1780 | dependencies: 1781 | get-intrinsic: 1.1.2 1782 | dev: true 1783 | 1784 | /has-symbols/1.0.3: 1785 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1786 | engines: {node: '>= 0.4'} 1787 | dev: true 1788 | 1789 | /has-tostringtag/1.0.0: 1790 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 1791 | engines: {node: '>= 0.4'} 1792 | dependencies: 1793 | has-symbols: 1.0.3 1794 | dev: true 1795 | 1796 | /has/1.0.3: 1797 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1798 | engines: {node: '>= 0.4.0'} 1799 | dependencies: 1800 | function-bind: 1.1.1 1801 | dev: true 1802 | 1803 | /human-signals/3.0.1: 1804 | resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} 1805 | engines: {node: '>=12.20.0'} 1806 | dev: true 1807 | 1808 | /iconv-lite/0.6.3: 1809 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 1810 | engines: {node: '>=0.10.0'} 1811 | dependencies: 1812 | safer-buffer: 2.1.2 1813 | dev: true 1814 | optional: true 1815 | 1816 | /icss-utils/3.0.1: 1817 | resolution: {integrity: sha512-ANhVLoEfe0KoC9+z4yiTaXOneB49K6JIXdS+yAgH0NERELpdIT7kkj2XxUPuHafeHnn8umXnECSpsfk1RTaUew==} 1818 | dependencies: 1819 | postcss: 6.0.23 1820 | dev: true 1821 | 1822 | /icss-utils/5.1.0_postcss@8.4.14: 1823 | resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} 1824 | engines: {node: ^10 || ^12 || >= 14} 1825 | peerDependencies: 1826 | postcss: ^8.1.0 1827 | dependencies: 1828 | postcss: 8.4.14 1829 | dev: true 1830 | 1831 | /ignore/5.2.0: 1832 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} 1833 | engines: {node: '>= 4'} 1834 | dev: true 1835 | 1836 | /image-size/0.5.5: 1837 | resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} 1838 | engines: {node: '>=0.10.0'} 1839 | hasBin: true 1840 | requiresBuild: true 1841 | dev: true 1842 | optional: true 1843 | 1844 | /immutable/4.1.0: 1845 | resolution: {integrity: sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==} 1846 | dev: true 1847 | 1848 | /import-fresh/3.3.0: 1849 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1850 | engines: {node: '>=6'} 1851 | dependencies: 1852 | parent-module: 1.0.1 1853 | resolve-from: 4.0.0 1854 | dev: true 1855 | 1856 | /import-local/3.1.0: 1857 | resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} 1858 | engines: {node: '>=8'} 1859 | hasBin: true 1860 | dependencies: 1861 | pkg-dir: 4.2.0 1862 | resolve-cwd: 3.0.0 1863 | dev: true 1864 | 1865 | /imurmurhash/0.1.4: 1866 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1867 | engines: {node: '>=0.8.19'} 1868 | dev: true 1869 | 1870 | /indent-string/4.0.0: 1871 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 1872 | engines: {node: '>=8'} 1873 | dev: true 1874 | 1875 | /inflight/1.0.6: 1876 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1877 | dependencies: 1878 | once: 1.4.0 1879 | wrappy: 1.0.2 1880 | dev: true 1881 | 1882 | /inherits/2.0.4: 1883 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1884 | dev: true 1885 | 1886 | /internal-slot/1.0.3: 1887 | resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} 1888 | engines: {node: '>= 0.4'} 1889 | dependencies: 1890 | get-intrinsic: 1.1.2 1891 | has: 1.0.3 1892 | side-channel: 1.0.4 1893 | dev: true 1894 | 1895 | /interpret/2.2.0: 1896 | resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==} 1897 | engines: {node: '>= 0.10'} 1898 | dev: true 1899 | 1900 | /is-bigint/1.0.4: 1901 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 1902 | dependencies: 1903 | has-bigints: 1.0.2 1904 | dev: true 1905 | 1906 | /is-binary-path/2.1.0: 1907 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1908 | engines: {node: '>=8'} 1909 | dependencies: 1910 | binary-extensions: 2.2.0 1911 | dev: true 1912 | 1913 | /is-boolean-object/1.1.2: 1914 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 1915 | engines: {node: '>= 0.4'} 1916 | dependencies: 1917 | call-bind: 1.0.2 1918 | has-tostringtag: 1.0.0 1919 | dev: true 1920 | 1921 | /is-callable/1.2.4: 1922 | resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} 1923 | engines: {node: '>= 0.4'} 1924 | dev: true 1925 | 1926 | /is-core-module/2.9.0: 1927 | resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} 1928 | dependencies: 1929 | has: 1.0.3 1930 | dev: true 1931 | 1932 | /is-date-object/1.0.5: 1933 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 1934 | engines: {node: '>= 0.4'} 1935 | dependencies: 1936 | has-tostringtag: 1.0.0 1937 | dev: true 1938 | 1939 | /is-extglob/2.1.1: 1940 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1941 | engines: {node: '>=0.10.0'} 1942 | dev: true 1943 | 1944 | /is-fullwidth-code-point/3.0.0: 1945 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1946 | engines: {node: '>=8'} 1947 | dev: true 1948 | 1949 | /is-fullwidth-code-point/4.0.0: 1950 | resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} 1951 | engines: {node: '>=12'} 1952 | dev: true 1953 | 1954 | /is-glob/4.0.3: 1955 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1956 | engines: {node: '>=0.10.0'} 1957 | dependencies: 1958 | is-extglob: 2.1.1 1959 | dev: true 1960 | 1961 | /is-negative-zero/2.0.2: 1962 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 1963 | engines: {node: '>= 0.4'} 1964 | dev: true 1965 | 1966 | /is-number-object/1.0.7: 1967 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 1968 | engines: {node: '>= 0.4'} 1969 | dependencies: 1970 | has-tostringtag: 1.0.0 1971 | dev: true 1972 | 1973 | /is-number/7.0.0: 1974 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1975 | engines: {node: '>=0.12.0'} 1976 | dev: true 1977 | 1978 | /is-plain-object/2.0.4: 1979 | resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} 1980 | engines: {node: '>=0.10.0'} 1981 | dependencies: 1982 | isobject: 3.0.1 1983 | dev: true 1984 | 1985 | /is-regex/1.1.4: 1986 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 1987 | engines: {node: '>= 0.4'} 1988 | dependencies: 1989 | call-bind: 1.0.2 1990 | has-tostringtag: 1.0.0 1991 | dev: true 1992 | 1993 | /is-shared-array-buffer/1.0.2: 1994 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 1995 | dependencies: 1996 | call-bind: 1.0.2 1997 | dev: true 1998 | 1999 | /is-stream/3.0.0: 2000 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 2001 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2002 | dev: true 2003 | 2004 | /is-string/1.0.7: 2005 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 2006 | engines: {node: '>= 0.4'} 2007 | dependencies: 2008 | has-tostringtag: 1.0.0 2009 | dev: true 2010 | 2011 | /is-symbol/1.0.4: 2012 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 2013 | engines: {node: '>= 0.4'} 2014 | dependencies: 2015 | has-symbols: 1.0.3 2016 | dev: true 2017 | 2018 | /is-weakref/1.0.2: 2019 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 2020 | dependencies: 2021 | call-bind: 1.0.2 2022 | dev: true 2023 | 2024 | /is-what/3.14.1: 2025 | resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} 2026 | dev: true 2027 | 2028 | /isexe/2.0.0: 2029 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 2030 | dev: true 2031 | 2032 | /isobject/3.0.1: 2033 | resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} 2034 | engines: {node: '>=0.10.0'} 2035 | dev: true 2036 | 2037 | /javascript-natural-sort/0.7.1: 2038 | resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} 2039 | dev: true 2040 | 2041 | /jest-worker/27.5.1: 2042 | resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} 2043 | engines: {node: '>= 10.13.0'} 2044 | dependencies: 2045 | '@types/node': 18.0.0 2046 | merge-stream: 2.0.0 2047 | supports-color: 8.1.1 2048 | dev: true 2049 | 2050 | /js-tokens/4.0.0: 2051 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 2052 | 2053 | /js-yaml/4.1.0: 2054 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 2055 | hasBin: true 2056 | dependencies: 2057 | argparse: 2.0.1 2058 | dev: true 2059 | 2060 | /jsesc/2.5.2: 2061 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 2062 | engines: {node: '>=4'} 2063 | hasBin: true 2064 | dev: true 2065 | 2066 | /json-parse-even-better-errors/2.3.1: 2067 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 2068 | dev: true 2069 | 2070 | /json-schema-traverse/0.4.1: 2071 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 2072 | dev: true 2073 | 2074 | /json-schema-traverse/1.0.0: 2075 | resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} 2076 | dev: true 2077 | 2078 | /json-stable-stringify-without-jsonify/1.0.1: 2079 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 2080 | dev: true 2081 | 2082 | /json5/0.5.1: 2083 | resolution: {integrity: sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==} 2084 | hasBin: true 2085 | dev: true 2086 | 2087 | /json5/1.0.1: 2088 | resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} 2089 | hasBin: true 2090 | dependencies: 2091 | minimist: 1.2.6 2092 | dev: true 2093 | 2094 | /json5/2.2.1: 2095 | resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} 2096 | engines: {node: '>=6'} 2097 | hasBin: true 2098 | dev: true 2099 | 2100 | /jsx-ast-utils/3.3.0: 2101 | resolution: {integrity: sha512-XzO9luP6L0xkxwhIJMTJQpZo/eeN60K08jHdexfD569AGxeNug6UketeHXEhROoM8aR7EcUoOQmIhcJQjcuq8Q==} 2102 | engines: {node: '>=4.0'} 2103 | dependencies: 2104 | array-includes: 3.1.5 2105 | object.assign: 4.1.2 2106 | dev: true 2107 | 2108 | /kind-of/6.0.3: 2109 | resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} 2110 | engines: {node: '>=0.10.0'} 2111 | dev: true 2112 | 2113 | /less/4.1.3: 2114 | resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==} 2115 | engines: {node: '>=6'} 2116 | hasBin: true 2117 | dependencies: 2118 | copy-anything: 2.0.6 2119 | parse-node-version: 1.0.1 2120 | tslib: 2.4.0 2121 | optionalDependencies: 2122 | errno: 0.1.8 2123 | graceful-fs: 4.2.10 2124 | image-size: 0.5.5 2125 | make-dir: 2.1.0 2126 | mime: 1.6.0 2127 | needle: 3.1.0 2128 | source-map: 0.6.1 2129 | transitivePeerDependencies: 2130 | - supports-color 2131 | dev: true 2132 | 2133 | /levn/0.4.1: 2134 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 2135 | engines: {node: '>= 0.8.0'} 2136 | dependencies: 2137 | prelude-ls: 1.2.1 2138 | type-check: 0.4.0 2139 | dev: true 2140 | 2141 | /lilconfig/2.0.5: 2142 | resolution: {integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==} 2143 | engines: {node: '>=10'} 2144 | dev: true 2145 | 2146 | /lint-staged/13.0.2: 2147 | resolution: {integrity: sha512-qQLfLTh9z34eMzfEHENC+QBskZfxjomrf+snF3xJ4BzilORbD989NLqQ00ughsF/A+PT41e87+WsMFabf9++pQ==} 2148 | engines: {node: ^14.13.1 || >=16.0.0} 2149 | hasBin: true 2150 | dependencies: 2151 | cli-truncate: 3.1.0 2152 | colorette: 2.0.19 2153 | commander: 9.3.0 2154 | debug: 4.3.4 2155 | execa: 6.1.0 2156 | lilconfig: 2.0.5 2157 | listr2: 4.0.5 2158 | micromatch: 4.0.5 2159 | normalize-path: 3.0.0 2160 | object-inspect: 1.12.2 2161 | pidtree: 0.6.0 2162 | string-argv: 0.3.1 2163 | yaml: 2.1.1 2164 | transitivePeerDependencies: 2165 | - enquirer 2166 | - supports-color 2167 | dev: true 2168 | 2169 | /listr2/4.0.5: 2170 | resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} 2171 | engines: {node: '>=12'} 2172 | peerDependencies: 2173 | enquirer: '>= 2.3.0 < 3' 2174 | peerDependenciesMeta: 2175 | enquirer: 2176 | optional: true 2177 | dependencies: 2178 | cli-truncate: 2.1.0 2179 | colorette: 2.0.19 2180 | log-update: 4.0.0 2181 | p-map: 4.0.0 2182 | rfdc: 1.3.0 2183 | rxjs: 7.5.5 2184 | through: 2.3.8 2185 | wrap-ansi: 7.0.0 2186 | dev: true 2187 | 2188 | /loader-runner/4.3.0: 2189 | resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} 2190 | engines: {node: '>=6.11.5'} 2191 | dev: true 2192 | 2193 | /loader-utils/0.2.17: 2194 | resolution: {integrity: sha512-tiv66G0SmiOx+pLWMtGEkfSEejxvb6N6uRrQjfWJIT79W9GMpgKeCAmm9aVBKtd4WEgntciI8CsGqjpDoCWJug==} 2195 | dependencies: 2196 | big.js: 3.2.0 2197 | emojis-list: 2.1.0 2198 | json5: 0.5.1 2199 | object-assign: 4.1.1 2200 | dev: true 2201 | 2202 | /locate-path/5.0.0: 2203 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 2204 | engines: {node: '>=8'} 2205 | dependencies: 2206 | p-locate: 4.1.0 2207 | dev: true 2208 | 2209 | /lodash.camelcase/4.3.0: 2210 | resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} 2211 | dev: true 2212 | 2213 | /lodash.merge/4.6.2: 2214 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 2215 | dev: true 2216 | 2217 | /lodash/4.17.21: 2218 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 2219 | dev: true 2220 | 2221 | /log-update/4.0.0: 2222 | resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} 2223 | engines: {node: '>=10'} 2224 | dependencies: 2225 | ansi-escapes: 4.3.2 2226 | cli-cursor: 3.1.0 2227 | slice-ansi: 4.0.0 2228 | wrap-ansi: 6.2.0 2229 | dev: true 2230 | 2231 | /loose-envify/1.4.0: 2232 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 2233 | hasBin: true 2234 | dependencies: 2235 | js-tokens: 4.0.0 2236 | 2237 | /lru-cache/6.0.0: 2238 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 2239 | engines: {node: '>=10'} 2240 | dependencies: 2241 | yallist: 4.0.0 2242 | dev: true 2243 | 2244 | /make-dir/2.1.0: 2245 | resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} 2246 | engines: {node: '>=6'} 2247 | requiresBuild: true 2248 | dependencies: 2249 | pify: 4.0.1 2250 | semver: 5.7.1 2251 | dev: true 2252 | optional: true 2253 | 2254 | /merge-stream/2.0.0: 2255 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 2256 | dev: true 2257 | 2258 | /merge2/1.4.1: 2259 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2260 | engines: {node: '>= 8'} 2261 | dev: true 2262 | 2263 | /micromatch/4.0.5: 2264 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 2265 | engines: {node: '>=8.6'} 2266 | dependencies: 2267 | braces: 3.0.2 2268 | picomatch: 2.3.1 2269 | dev: true 2270 | 2271 | /mime-db/1.52.0: 2272 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 2273 | engines: {node: '>= 0.6'} 2274 | dev: true 2275 | 2276 | /mime-types/2.1.35: 2277 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 2278 | engines: {node: '>= 0.6'} 2279 | dependencies: 2280 | mime-db: 1.52.0 2281 | dev: true 2282 | 2283 | /mime/1.6.0: 2284 | resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} 2285 | engines: {node: '>=4'} 2286 | hasBin: true 2287 | requiresBuild: true 2288 | dev: true 2289 | optional: true 2290 | 2291 | /mimic-fn/2.1.0: 2292 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 2293 | engines: {node: '>=6'} 2294 | dev: true 2295 | 2296 | /mimic-fn/4.0.0: 2297 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 2298 | engines: {node: '>=12'} 2299 | dev: true 2300 | 2301 | /minimatch/3.1.2: 2302 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2303 | dependencies: 2304 | brace-expansion: 1.1.11 2305 | dev: true 2306 | 2307 | /minimist/1.2.6: 2308 | resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} 2309 | dev: true 2310 | 2311 | /mkdirp/1.0.4: 2312 | resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} 2313 | engines: {node: '>=10'} 2314 | hasBin: true 2315 | dev: true 2316 | 2317 | /ms/2.0.0: 2318 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} 2319 | dev: true 2320 | 2321 | /ms/2.1.2: 2322 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2323 | dev: true 2324 | 2325 | /nanoid/3.3.4: 2326 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} 2327 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2328 | hasBin: true 2329 | dev: true 2330 | 2331 | /natural-compare/1.4.0: 2332 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 2333 | dev: true 2334 | 2335 | /needle/3.1.0: 2336 | resolution: {integrity: sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==} 2337 | engines: {node: '>= 4.4.x'} 2338 | hasBin: true 2339 | requiresBuild: true 2340 | dependencies: 2341 | debug: 3.2.7 2342 | iconv-lite: 0.6.3 2343 | sax: 1.2.4 2344 | transitivePeerDependencies: 2345 | - supports-color 2346 | dev: true 2347 | optional: true 2348 | 2349 | /neo-async/2.6.2: 2350 | resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} 2351 | dev: true 2352 | 2353 | /node-releases/2.0.5: 2354 | resolution: {integrity: sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==} 2355 | dev: true 2356 | 2357 | /normalize-path/3.0.0: 2358 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 2359 | engines: {node: '>=0.10.0'} 2360 | dev: true 2361 | 2362 | /npm-run-path/5.1.0: 2363 | resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} 2364 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2365 | dependencies: 2366 | path-key: 4.0.0 2367 | dev: true 2368 | 2369 | /object-assign/4.1.1: 2370 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 2371 | engines: {node: '>=0.10.0'} 2372 | dev: true 2373 | 2374 | /object-inspect/1.12.2: 2375 | resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} 2376 | dev: true 2377 | 2378 | /object-keys/1.1.1: 2379 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 2380 | engines: {node: '>= 0.4'} 2381 | dev: true 2382 | 2383 | /object.assign/4.1.2: 2384 | resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} 2385 | engines: {node: '>= 0.4'} 2386 | dependencies: 2387 | call-bind: 1.0.2 2388 | define-properties: 1.1.4 2389 | has-symbols: 1.0.3 2390 | object-keys: 1.1.1 2391 | dev: true 2392 | 2393 | /object.entries/1.1.5: 2394 | resolution: {integrity: sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==} 2395 | engines: {node: '>= 0.4'} 2396 | dependencies: 2397 | call-bind: 1.0.2 2398 | define-properties: 1.1.4 2399 | es-abstract: 1.20.1 2400 | dev: true 2401 | 2402 | /object.fromentries/2.0.5: 2403 | resolution: {integrity: sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==} 2404 | engines: {node: '>= 0.4'} 2405 | dependencies: 2406 | call-bind: 1.0.2 2407 | define-properties: 1.1.4 2408 | es-abstract: 1.20.1 2409 | dev: true 2410 | 2411 | /object.hasown/1.1.1: 2412 | resolution: {integrity: sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==} 2413 | dependencies: 2414 | define-properties: 1.1.4 2415 | es-abstract: 1.20.1 2416 | dev: true 2417 | 2418 | /object.values/1.1.5: 2419 | resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==} 2420 | engines: {node: '>= 0.4'} 2421 | dependencies: 2422 | call-bind: 1.0.2 2423 | define-properties: 1.1.4 2424 | es-abstract: 1.20.1 2425 | dev: true 2426 | 2427 | /once/1.4.0: 2428 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2429 | dependencies: 2430 | wrappy: 1.0.2 2431 | dev: true 2432 | 2433 | /onetime/5.1.2: 2434 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 2435 | engines: {node: '>=6'} 2436 | dependencies: 2437 | mimic-fn: 2.1.0 2438 | dev: true 2439 | 2440 | /onetime/6.0.0: 2441 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 2442 | engines: {node: '>=12'} 2443 | dependencies: 2444 | mimic-fn: 4.0.0 2445 | dev: true 2446 | 2447 | /optionator/0.9.1: 2448 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 2449 | engines: {node: '>= 0.8.0'} 2450 | dependencies: 2451 | deep-is: 0.1.4 2452 | fast-levenshtein: 2.0.6 2453 | levn: 0.4.1 2454 | prelude-ls: 1.2.1 2455 | type-check: 0.4.0 2456 | word-wrap: 1.2.3 2457 | dev: true 2458 | 2459 | /p-limit/2.3.0: 2460 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 2461 | engines: {node: '>=6'} 2462 | dependencies: 2463 | p-try: 2.2.0 2464 | dev: true 2465 | 2466 | /p-locate/4.1.0: 2467 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 2468 | engines: {node: '>=8'} 2469 | dependencies: 2470 | p-limit: 2.3.0 2471 | dev: true 2472 | 2473 | /p-map/4.0.0: 2474 | resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} 2475 | engines: {node: '>=10'} 2476 | dependencies: 2477 | aggregate-error: 3.1.0 2478 | dev: true 2479 | 2480 | /p-try/2.2.0: 2481 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 2482 | engines: {node: '>=6'} 2483 | dev: true 2484 | 2485 | /parent-module/1.0.1: 2486 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2487 | engines: {node: '>=6'} 2488 | dependencies: 2489 | callsites: 3.1.0 2490 | dev: true 2491 | 2492 | /parse-node-version/1.0.1: 2493 | resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} 2494 | engines: {node: '>= 0.10'} 2495 | dev: true 2496 | 2497 | /path-exists/4.0.0: 2498 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2499 | engines: {node: '>=8'} 2500 | dev: true 2501 | 2502 | /path-is-absolute/1.0.1: 2503 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2504 | engines: {node: '>=0.10.0'} 2505 | dev: true 2506 | 2507 | /path-key/3.1.1: 2508 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2509 | engines: {node: '>=8'} 2510 | dev: true 2511 | 2512 | /path-key/4.0.0: 2513 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 2514 | engines: {node: '>=12'} 2515 | dev: true 2516 | 2517 | /path-parse/1.0.7: 2518 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2519 | dev: true 2520 | 2521 | /path-type/4.0.0: 2522 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2523 | engines: {node: '>=8'} 2524 | dev: true 2525 | 2526 | /picocolors/1.0.0: 2527 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2528 | dev: true 2529 | 2530 | /picomatch/2.3.1: 2531 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2532 | engines: {node: '>=8.6'} 2533 | dev: true 2534 | 2535 | /pidtree/0.6.0: 2536 | resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} 2537 | engines: {node: '>=0.10'} 2538 | hasBin: true 2539 | dev: true 2540 | 2541 | /pify/4.0.1: 2542 | resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} 2543 | engines: {node: '>=6'} 2544 | dev: true 2545 | optional: true 2546 | 2547 | /pkg-dir/4.2.0: 2548 | resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} 2549 | engines: {node: '>=8'} 2550 | dependencies: 2551 | find-up: 4.1.0 2552 | dev: true 2553 | 2554 | /postcss-filter-plugins/3.0.1: 2555 | resolution: {integrity: sha512-tRKbW4wWBEkSSFuJtamV2wkiV9rj6Yy7P3Y13+zaynlPEEZt8EgYKn3y/RBpMeIhNmHXFlSdzofml65hD5OafA==} 2556 | dependencies: 2557 | postcss: 6.0.23 2558 | dev: true 2559 | 2560 | /postcss-icss-keyframes/0.2.1: 2561 | resolution: {integrity: sha512-4m+hLY5TVqoTM198KKnzdNudyu1OvtqwD+8kVZ9PNiEO4+IfHYoyVvEXsOHjV8nZ1k6xowf+nY4HlUfZhOFvvw==} 2562 | dependencies: 2563 | icss-utils: 3.0.1 2564 | postcss: 6.0.23 2565 | postcss-value-parser: 3.3.1 2566 | dev: true 2567 | 2568 | /postcss-icss-selectors/2.0.3: 2569 | resolution: {integrity: sha512-dxFtq+wscbU9faJaH8kIi98vvCPDbt+qg1g9GoG0os1PY3UvgY1Y2G06iZrZb1iVC9cyFfafwSY1IS+IQpRQ4w==} 2570 | dependencies: 2571 | css-selector-tokenizer: 0.7.3 2572 | generic-names: 1.0.3 2573 | icss-utils: 3.0.1 2574 | lodash: 4.17.21 2575 | postcss: 6.0.23 2576 | dev: true 2577 | 2578 | /postcss-load-config/3.1.4_postcss@8.4.14: 2579 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} 2580 | engines: {node: '>= 10'} 2581 | peerDependencies: 2582 | postcss: '>=8.0.9' 2583 | ts-node: '>=9.0.0' 2584 | peerDependenciesMeta: 2585 | postcss: 2586 | optional: true 2587 | ts-node: 2588 | optional: true 2589 | dependencies: 2590 | lilconfig: 2.0.5 2591 | postcss: 8.4.14 2592 | yaml: 1.10.2 2593 | dev: true 2594 | 2595 | /postcss-modules-extract-imports/3.0.0_postcss@8.4.14: 2596 | resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} 2597 | engines: {node: ^10 || ^12 || >= 14} 2598 | peerDependencies: 2599 | postcss: ^8.1.0 2600 | dependencies: 2601 | postcss: 8.4.14 2602 | dev: true 2603 | 2604 | /postcss-modules-local-by-default/4.0.0_postcss@8.4.14: 2605 | resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} 2606 | engines: {node: ^10 || ^12 || >= 14} 2607 | peerDependencies: 2608 | postcss: ^8.1.0 2609 | dependencies: 2610 | icss-utils: 5.1.0_postcss@8.4.14 2611 | postcss: 8.4.14 2612 | postcss-selector-parser: 6.0.10 2613 | postcss-value-parser: 4.2.0 2614 | dev: true 2615 | 2616 | /postcss-modules-scope/3.0.0_postcss@8.4.14: 2617 | resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} 2618 | engines: {node: ^10 || ^12 || >= 14} 2619 | peerDependencies: 2620 | postcss: ^8.1.0 2621 | dependencies: 2622 | postcss: 8.4.14 2623 | postcss-selector-parser: 6.0.10 2624 | dev: true 2625 | 2626 | /postcss-modules-values/4.0.0_postcss@8.4.14: 2627 | resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} 2628 | engines: {node: ^10 || ^12 || >= 14} 2629 | peerDependencies: 2630 | postcss: ^8.1.0 2631 | dependencies: 2632 | icss-utils: 5.1.0_postcss@8.4.14 2633 | postcss: 8.4.14 2634 | dev: true 2635 | 2636 | /postcss-selector-parser/6.0.10: 2637 | resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} 2638 | engines: {node: '>=4'} 2639 | dependencies: 2640 | cssesc: 3.0.0 2641 | util-deprecate: 1.0.2 2642 | dev: true 2643 | 2644 | /postcss-value-parser/3.3.1: 2645 | resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} 2646 | dev: true 2647 | 2648 | /postcss-value-parser/4.2.0: 2649 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 2650 | dev: true 2651 | 2652 | /postcss/6.0.23: 2653 | resolution: {integrity: sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==} 2654 | engines: {node: '>=4.0.0'} 2655 | dependencies: 2656 | chalk: 2.4.2 2657 | source-map: 0.6.1 2658 | supports-color: 5.5.0 2659 | dev: true 2660 | 2661 | /postcss/8.4.14: 2662 | resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} 2663 | engines: {node: ^10 || ^12 || >=14} 2664 | dependencies: 2665 | nanoid: 3.3.4 2666 | picocolors: 1.0.0 2667 | source-map-js: 1.0.2 2668 | dev: true 2669 | 2670 | /prelude-ls/1.2.1: 2671 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2672 | engines: {node: '>= 0.8.0'} 2673 | dev: true 2674 | 2675 | /prettier-linter-helpers/1.0.0: 2676 | resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} 2677 | engines: {node: '>=6.0.0'} 2678 | dependencies: 2679 | fast-diff: 1.2.0 2680 | dev: true 2681 | 2682 | /prettier/2.7.1: 2683 | resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==} 2684 | engines: {node: '>=10.13.0'} 2685 | hasBin: true 2686 | dev: true 2687 | 2688 | /prop-types/15.8.1: 2689 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 2690 | dependencies: 2691 | loose-envify: 1.4.0 2692 | object-assign: 4.1.1 2693 | react-is: 16.13.1 2694 | dev: true 2695 | 2696 | /prr/1.0.1: 2697 | resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} 2698 | dev: true 2699 | optional: true 2700 | 2701 | /punycode/2.1.1: 2702 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} 2703 | engines: {node: '>=6'} 2704 | dev: true 2705 | 2706 | /queue-microtask/1.2.3: 2707 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2708 | dev: true 2709 | 2710 | /randombytes/2.1.0: 2711 | resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} 2712 | dependencies: 2713 | safe-buffer: 5.1.2 2714 | dev: true 2715 | 2716 | /react-dom/18.2.0_react@18.2.0: 2717 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} 2718 | peerDependencies: 2719 | react: ^18.2.0 2720 | dependencies: 2721 | loose-envify: 1.4.0 2722 | react: 18.2.0 2723 | scheduler: 0.23.0 2724 | dev: false 2725 | 2726 | /react-is/16.13.1: 2727 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 2728 | dev: true 2729 | 2730 | /react/18.2.0: 2731 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} 2732 | engines: {node: '>=0.10.0'} 2733 | dependencies: 2734 | loose-envify: 1.4.0 2735 | dev: false 2736 | 2737 | /readdirp/3.6.0: 2738 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2739 | engines: {node: '>=8.10.0'} 2740 | dependencies: 2741 | picomatch: 2.3.1 2742 | dev: true 2743 | 2744 | /rechoir/0.7.1: 2745 | resolution: {integrity: sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==} 2746 | engines: {node: '>= 0.10'} 2747 | dependencies: 2748 | resolve: 1.22.0 2749 | dev: true 2750 | 2751 | /regexp.prototype.flags/1.4.3: 2752 | resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} 2753 | engines: {node: '>= 0.4'} 2754 | dependencies: 2755 | call-bind: 1.0.2 2756 | define-properties: 1.1.4 2757 | functions-have-names: 1.2.3 2758 | dev: true 2759 | 2760 | /regexpp/3.2.0: 2761 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} 2762 | engines: {node: '>=8'} 2763 | dev: true 2764 | 2765 | /require-from-string/2.0.2: 2766 | resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} 2767 | engines: {node: '>=0.10.0'} 2768 | dev: true 2769 | 2770 | /reserved-words/0.1.2: 2771 | resolution: {integrity: sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw==} 2772 | dev: true 2773 | 2774 | /resolve-cwd/3.0.0: 2775 | resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} 2776 | engines: {node: '>=8'} 2777 | dependencies: 2778 | resolve-from: 5.0.0 2779 | dev: true 2780 | 2781 | /resolve-from/4.0.0: 2782 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2783 | engines: {node: '>=4'} 2784 | dev: true 2785 | 2786 | /resolve-from/5.0.0: 2787 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 2788 | engines: {node: '>=8'} 2789 | dev: true 2790 | 2791 | /resolve-url/0.2.1: 2792 | resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} 2793 | deprecated: https://github.com/lydell/resolve-url#deprecated 2794 | dev: true 2795 | 2796 | /resolve/1.22.0: 2797 | resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} 2798 | hasBin: true 2799 | dependencies: 2800 | is-core-module: 2.9.0 2801 | path-parse: 1.0.7 2802 | supports-preserve-symlinks-flag: 1.0.0 2803 | dev: true 2804 | 2805 | /resolve/2.0.0-next.3: 2806 | resolution: {integrity: sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==} 2807 | dependencies: 2808 | is-core-module: 2.9.0 2809 | path-parse: 1.0.7 2810 | dev: true 2811 | 2812 | /restore-cursor/3.1.0: 2813 | resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} 2814 | engines: {node: '>=8'} 2815 | dependencies: 2816 | onetime: 5.1.2 2817 | signal-exit: 3.0.7 2818 | dev: true 2819 | 2820 | /reusify/1.0.4: 2821 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2822 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2823 | dev: true 2824 | 2825 | /rfdc/1.3.0: 2826 | resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} 2827 | dev: true 2828 | 2829 | /rimraf/3.0.2: 2830 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2831 | hasBin: true 2832 | dependencies: 2833 | glob: 7.2.3 2834 | dev: true 2835 | 2836 | /run-parallel/1.2.0: 2837 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2838 | dependencies: 2839 | queue-microtask: 1.2.3 2840 | dev: true 2841 | 2842 | /rxjs/7.5.5: 2843 | resolution: {integrity: sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==} 2844 | dependencies: 2845 | tslib: 2.4.0 2846 | dev: true 2847 | 2848 | /safe-buffer/5.1.2: 2849 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 2850 | dev: true 2851 | 2852 | /safer-buffer/2.1.2: 2853 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 2854 | dev: true 2855 | 2856 | /sass/1.53.0: 2857 | resolution: {integrity: sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ==} 2858 | engines: {node: '>=12.0.0'} 2859 | hasBin: true 2860 | dependencies: 2861 | chokidar: 3.5.3 2862 | immutable: 4.1.0 2863 | source-map-js: 1.0.2 2864 | dev: true 2865 | 2866 | /sax/1.2.4: 2867 | resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} 2868 | dev: true 2869 | 2870 | /scheduler/0.23.0: 2871 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} 2872 | dependencies: 2873 | loose-envify: 1.4.0 2874 | dev: false 2875 | 2876 | /schema-utils/3.1.1: 2877 | resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} 2878 | engines: {node: '>= 10.13.0'} 2879 | dependencies: 2880 | '@types/json-schema': 7.0.11 2881 | ajv: 6.12.6 2882 | ajv-keywords: 3.5.2_ajv@6.12.6 2883 | dev: true 2884 | 2885 | /schema-utils/4.0.0: 2886 | resolution: {integrity: sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==} 2887 | engines: {node: '>= 12.13.0'} 2888 | dependencies: 2889 | '@types/json-schema': 7.0.11 2890 | ajv: 8.11.0 2891 | ajv-formats: 2.1.1 2892 | ajv-keywords: 5.1.0_ajv@8.11.0 2893 | dev: true 2894 | 2895 | /semver/5.7.1: 2896 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 2897 | hasBin: true 2898 | dev: true 2899 | optional: true 2900 | 2901 | /semver/6.3.0: 2902 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 2903 | hasBin: true 2904 | dev: true 2905 | 2906 | /semver/7.3.7: 2907 | resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} 2908 | engines: {node: '>=10'} 2909 | hasBin: true 2910 | dependencies: 2911 | lru-cache: 6.0.0 2912 | dev: true 2913 | 2914 | /serialize-javascript/6.0.0: 2915 | resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} 2916 | dependencies: 2917 | randombytes: 2.1.0 2918 | dev: true 2919 | 2920 | /shallow-clone/3.0.1: 2921 | resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} 2922 | engines: {node: '>=8'} 2923 | dependencies: 2924 | kind-of: 6.0.3 2925 | dev: true 2926 | 2927 | /shebang-command/2.0.0: 2928 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2929 | engines: {node: '>=8'} 2930 | dependencies: 2931 | shebang-regex: 3.0.0 2932 | dev: true 2933 | 2934 | /shebang-regex/3.0.0: 2935 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2936 | engines: {node: '>=8'} 2937 | dev: true 2938 | 2939 | /side-channel/1.0.4: 2940 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 2941 | dependencies: 2942 | call-bind: 1.0.2 2943 | get-intrinsic: 1.1.2 2944 | object-inspect: 1.12.2 2945 | dev: true 2946 | 2947 | /signal-exit/3.0.7: 2948 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 2949 | dev: true 2950 | 2951 | /simple-git-hooks/2.8.0: 2952 | resolution: {integrity: sha512-ocmZQORwa6x9mxg+gVIAp5o4wXiWOHGXyrDBA0+UxGKIEKOyFtL4LWNKkP/2ornQPdlnlDGDteVeYP5FjhIoWA==} 2953 | hasBin: true 2954 | requiresBuild: true 2955 | dev: true 2956 | 2957 | /slash/3.0.0: 2958 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2959 | engines: {node: '>=8'} 2960 | dev: true 2961 | 2962 | /slash/4.0.0: 2963 | resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} 2964 | engines: {node: '>=12'} 2965 | dev: true 2966 | 2967 | /slice-ansi/3.0.0: 2968 | resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} 2969 | engines: {node: '>=8'} 2970 | dependencies: 2971 | ansi-styles: 4.3.0 2972 | astral-regex: 2.0.0 2973 | is-fullwidth-code-point: 3.0.0 2974 | dev: true 2975 | 2976 | /slice-ansi/4.0.0: 2977 | resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} 2978 | engines: {node: '>=10'} 2979 | dependencies: 2980 | ansi-styles: 4.3.0 2981 | astral-regex: 2.0.0 2982 | is-fullwidth-code-point: 3.0.0 2983 | dev: true 2984 | 2985 | /slice-ansi/5.0.0: 2986 | resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} 2987 | engines: {node: '>=12'} 2988 | dependencies: 2989 | ansi-styles: 6.1.0 2990 | is-fullwidth-code-point: 4.0.0 2991 | dev: true 2992 | 2993 | /source-map-js/1.0.2: 2994 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 2995 | engines: {node: '>=0.10.0'} 2996 | dev: true 2997 | 2998 | /source-map-resolve/0.5.3: 2999 | resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} 3000 | deprecated: See https://github.com/lydell/source-map-resolve#deprecated 3001 | dependencies: 3002 | atob: 2.1.2 3003 | decode-uri-component: 0.2.0 3004 | resolve-url: 0.2.1 3005 | source-map-url: 0.4.1 3006 | urix: 0.1.0 3007 | dev: true 3008 | 3009 | /source-map-support/0.5.21: 3010 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 3011 | dependencies: 3012 | buffer-from: 1.1.2 3013 | source-map: 0.6.1 3014 | dev: true 3015 | 3016 | /source-map-url/0.4.1: 3017 | resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} 3018 | deprecated: See https://github.com/lydell/source-map-url#deprecated 3019 | dev: true 3020 | 3021 | /source-map/0.5.7: 3022 | resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} 3023 | engines: {node: '>=0.10.0'} 3024 | dev: true 3025 | 3026 | /source-map/0.6.1: 3027 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 3028 | engines: {node: '>=0.10.0'} 3029 | dev: true 3030 | 3031 | /source-map/0.7.4: 3032 | resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} 3033 | engines: {node: '>= 8'} 3034 | dev: true 3035 | 3036 | /string-argv/0.3.1: 3037 | resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} 3038 | engines: {node: '>=0.6.19'} 3039 | dev: true 3040 | 3041 | /string-width/4.2.3: 3042 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 3043 | engines: {node: '>=8'} 3044 | dependencies: 3045 | emoji-regex: 8.0.0 3046 | is-fullwidth-code-point: 3.0.0 3047 | strip-ansi: 6.0.1 3048 | dev: true 3049 | 3050 | /string-width/5.1.2: 3051 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 3052 | engines: {node: '>=12'} 3053 | dependencies: 3054 | eastasianwidth: 0.2.0 3055 | emoji-regex: 9.2.2 3056 | strip-ansi: 7.0.1 3057 | dev: true 3058 | 3059 | /string.prototype.matchall/4.0.7: 3060 | resolution: {integrity: sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==} 3061 | dependencies: 3062 | call-bind: 1.0.2 3063 | define-properties: 1.1.4 3064 | es-abstract: 1.20.1 3065 | get-intrinsic: 1.1.2 3066 | has-symbols: 1.0.3 3067 | internal-slot: 1.0.3 3068 | regexp.prototype.flags: 1.4.3 3069 | side-channel: 1.0.4 3070 | dev: true 3071 | 3072 | /string.prototype.trimend/1.0.5: 3073 | resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==} 3074 | dependencies: 3075 | call-bind: 1.0.2 3076 | define-properties: 1.1.4 3077 | es-abstract: 1.20.1 3078 | dev: true 3079 | 3080 | /string.prototype.trimstart/1.0.5: 3081 | resolution: {integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==} 3082 | dependencies: 3083 | call-bind: 1.0.2 3084 | define-properties: 1.1.4 3085 | es-abstract: 1.20.1 3086 | dev: true 3087 | 3088 | /strip-ansi/6.0.1: 3089 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 3090 | engines: {node: '>=8'} 3091 | dependencies: 3092 | ansi-regex: 5.0.1 3093 | dev: true 3094 | 3095 | /strip-ansi/7.0.1: 3096 | resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} 3097 | engines: {node: '>=12'} 3098 | dependencies: 3099 | ansi-regex: 6.0.1 3100 | dev: true 3101 | 3102 | /strip-bom/3.0.0: 3103 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 3104 | engines: {node: '>=4'} 3105 | dev: true 3106 | 3107 | /strip-final-newline/3.0.0: 3108 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 3109 | engines: {node: '>=12'} 3110 | dev: true 3111 | 3112 | /strip-json-comments/3.1.1: 3113 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 3114 | engines: {node: '>=8'} 3115 | dev: true 3116 | 3117 | /style-loader/3.3.1_webpack@5.73.0: 3118 | resolution: {integrity: sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==} 3119 | engines: {node: '>= 12.13.0'} 3120 | peerDependencies: 3121 | webpack: ^5.0.0 3122 | dependencies: 3123 | webpack: 5.73.0_webpack-cli@4.10.0 3124 | dev: true 3125 | 3126 | /stylus/0.54.8: 3127 | resolution: {integrity: sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==} 3128 | hasBin: true 3129 | dependencies: 3130 | css-parse: 2.0.0 3131 | debug: 3.1.0 3132 | glob: 7.2.3 3133 | mkdirp: 1.0.4 3134 | safer-buffer: 2.1.2 3135 | sax: 1.2.4 3136 | semver: 6.3.0 3137 | source-map: 0.7.4 3138 | transitivePeerDependencies: 3139 | - supports-color 3140 | dev: true 3141 | 3142 | /supports-color/5.5.0: 3143 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 3144 | engines: {node: '>=4'} 3145 | dependencies: 3146 | has-flag: 3.0.0 3147 | dev: true 3148 | 3149 | /supports-color/7.2.0: 3150 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 3151 | engines: {node: '>=8'} 3152 | dependencies: 3153 | has-flag: 4.0.0 3154 | dev: true 3155 | 3156 | /supports-color/8.1.1: 3157 | resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} 3158 | engines: {node: '>=10'} 3159 | dependencies: 3160 | has-flag: 4.0.0 3161 | dev: true 3162 | 3163 | /supports-preserve-symlinks-flag/1.0.0: 3164 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 3165 | engines: {node: '>= 0.4'} 3166 | dev: true 3167 | 3168 | /tapable/2.2.1: 3169 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} 3170 | engines: {node: '>=6'} 3171 | dev: true 3172 | 3173 | /terser-webpack-plugin/5.3.3_webpack@5.73.0: 3174 | resolution: {integrity: sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==} 3175 | engines: {node: '>= 10.13.0'} 3176 | peerDependencies: 3177 | '@swc/core': '*' 3178 | esbuild: '*' 3179 | uglify-js: '*' 3180 | webpack: ^5.1.0 3181 | peerDependenciesMeta: 3182 | '@swc/core': 3183 | optional: true 3184 | esbuild: 3185 | optional: true 3186 | uglify-js: 3187 | optional: true 3188 | dependencies: 3189 | '@jridgewell/trace-mapping': 0.3.13 3190 | jest-worker: 27.5.1 3191 | schema-utils: 3.1.1 3192 | serialize-javascript: 6.0.0 3193 | terser: 5.14.1 3194 | webpack: 5.73.0_webpack-cli@4.10.0 3195 | dev: true 3196 | 3197 | /terser/5.14.1: 3198 | resolution: {integrity: sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ==} 3199 | engines: {node: '>=10'} 3200 | hasBin: true 3201 | dependencies: 3202 | '@jridgewell/source-map': 0.3.2 3203 | acorn: 8.7.1 3204 | commander: 2.20.3 3205 | source-map-support: 0.5.21 3206 | dev: true 3207 | 3208 | /text-table/0.2.0: 3209 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 3210 | dev: true 3211 | 3212 | /through/2.3.8: 3213 | resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 3214 | dev: true 3215 | 3216 | /to-fast-properties/2.0.0: 3217 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 3218 | engines: {node: '>=4'} 3219 | dev: true 3220 | 3221 | /to-regex-range/5.0.1: 3222 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 3223 | engines: {node: '>=8.0'} 3224 | dependencies: 3225 | is-number: 7.0.0 3226 | dev: true 3227 | 3228 | /ts-loader/9.3.0_jy5w4alwxi2du2dgjfsq7k3iza: 3229 | resolution: {integrity: sha512-2kLLAdAD+FCKijvGKi9sS0OzoqxLCF3CxHpok7rVgCZ5UldRzH0TkbwG9XECKjBzHsAewntC5oDaI/FwKzEUog==} 3230 | engines: {node: '>=12.0.0'} 3231 | peerDependencies: 3232 | typescript: '*' 3233 | webpack: ^5.0.0 3234 | dependencies: 3235 | chalk: 4.1.2 3236 | enhanced-resolve: 5.9.3 3237 | micromatch: 4.0.5 3238 | semver: 7.3.7 3239 | typescript: 4.7.3 3240 | webpack: 5.73.0_webpack-cli@4.10.0 3241 | dev: true 3242 | 3243 | /tsconfig-paths/3.14.1: 3244 | resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} 3245 | dependencies: 3246 | '@types/json5': 0.0.29 3247 | json5: 1.0.1 3248 | minimist: 1.2.6 3249 | strip-bom: 3.0.0 3250 | dev: true 3251 | 3252 | /tslib/1.14.1: 3253 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 3254 | dev: true 3255 | 3256 | /tslib/2.4.0: 3257 | resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} 3258 | dev: true 3259 | 3260 | /tsutils/3.21.0_typescript@4.7.3: 3261 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 3262 | engines: {node: '>= 6'} 3263 | peerDependencies: 3264 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 3265 | dependencies: 3266 | tslib: 1.14.1 3267 | typescript: 4.7.3 3268 | dev: true 3269 | 3270 | /type-check/0.4.0: 3271 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 3272 | engines: {node: '>= 0.8.0'} 3273 | dependencies: 3274 | prelude-ls: 1.2.1 3275 | dev: true 3276 | 3277 | /type-fest/0.20.2: 3278 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 3279 | engines: {node: '>=10'} 3280 | dev: true 3281 | 3282 | /type-fest/0.21.3: 3283 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 3284 | engines: {node: '>=10'} 3285 | dev: true 3286 | 3287 | /typescript-plugin-css-modules/3.4.0_typescript@4.7.3: 3288 | resolution: {integrity: sha512-2MdjfSg4MGex1csCWRUwKD+MpgnvcvLLr9bSAMemU/QYGqBsXdez0cc06H/fFhLtRoKJjXg6PSTur3Gy1Umhpw==} 3289 | peerDependencies: 3290 | typescript: '>=3.0.0' 3291 | dependencies: 3292 | dotenv: 10.0.0 3293 | icss-utils: 5.1.0_postcss@8.4.14 3294 | less: 4.1.3 3295 | lodash.camelcase: 4.3.0 3296 | postcss: 8.4.14 3297 | postcss-filter-plugins: 3.0.1 3298 | postcss-icss-keyframes: 0.2.1 3299 | postcss-icss-selectors: 2.0.3 3300 | postcss-load-config: 3.1.4_postcss@8.4.14 3301 | reserved-words: 0.1.2 3302 | sass: 1.53.0 3303 | stylus: 0.54.8 3304 | tsconfig-paths: 3.14.1 3305 | typescript: 4.7.3 3306 | transitivePeerDependencies: 3307 | - supports-color 3308 | - ts-node 3309 | dev: true 3310 | 3311 | /typescript/4.7.3: 3312 | resolution: {integrity: sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==} 3313 | engines: {node: '>=4.2.0'} 3314 | hasBin: true 3315 | dev: true 3316 | 3317 | /unbox-primitive/1.0.2: 3318 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 3319 | dependencies: 3320 | call-bind: 1.0.2 3321 | has-bigints: 1.0.2 3322 | has-symbols: 1.0.3 3323 | which-boxed-primitive: 1.0.2 3324 | dev: true 3325 | 3326 | /uri-js/4.4.1: 3327 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 3328 | dependencies: 3329 | punycode: 2.1.1 3330 | dev: true 3331 | 3332 | /urix/0.1.0: 3333 | resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} 3334 | deprecated: Please see https://github.com/lydell/urix#deprecated 3335 | dev: true 3336 | 3337 | /util-deprecate/1.0.2: 3338 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 3339 | dev: true 3340 | 3341 | /v8-compile-cache/2.3.0: 3342 | resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} 3343 | dev: true 3344 | 3345 | /watchpack/2.4.0: 3346 | resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} 3347 | engines: {node: '>=10.13.0'} 3348 | dependencies: 3349 | glob-to-regexp: 0.4.1 3350 | graceful-fs: 4.2.10 3351 | dev: true 3352 | 3353 | /webpack-cli/4.10.0_webpack@5.73.0: 3354 | resolution: {integrity: sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==} 3355 | engines: {node: '>=10.13.0'} 3356 | hasBin: true 3357 | peerDependencies: 3358 | '@webpack-cli/generators': '*' 3359 | '@webpack-cli/migrate': '*' 3360 | webpack: 4.x.x || 5.x.x 3361 | webpack-bundle-analyzer: '*' 3362 | webpack-dev-server: '*' 3363 | peerDependenciesMeta: 3364 | '@webpack-cli/generators': 3365 | optional: true 3366 | '@webpack-cli/migrate': 3367 | optional: true 3368 | webpack-bundle-analyzer: 3369 | optional: true 3370 | webpack-dev-server: 3371 | optional: true 3372 | dependencies: 3373 | '@discoveryjs/json-ext': 0.5.7 3374 | '@webpack-cli/configtest': 1.2.0_77l47gmqkrqiei5z7sbwz5iaj4 3375 | '@webpack-cli/info': 1.5.0_webpack-cli@4.10.0 3376 | '@webpack-cli/serve': 1.7.0_webpack-cli@4.10.0 3377 | colorette: 2.0.19 3378 | commander: 7.2.0 3379 | cross-spawn: 7.0.3 3380 | fastest-levenshtein: 1.0.12 3381 | import-local: 3.1.0 3382 | interpret: 2.2.0 3383 | rechoir: 0.7.1 3384 | webpack: 5.73.0_webpack-cli@4.10.0 3385 | webpack-merge: 5.8.0 3386 | dev: true 3387 | 3388 | /webpack-merge/5.8.0: 3389 | resolution: {integrity: sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==} 3390 | engines: {node: '>=10.0.0'} 3391 | dependencies: 3392 | clone-deep: 4.0.1 3393 | wildcard: 2.0.0 3394 | dev: true 3395 | 3396 | /webpack-sources/3.2.3: 3397 | resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} 3398 | engines: {node: '>=10.13.0'} 3399 | dev: true 3400 | 3401 | /webpack/5.73.0_webpack-cli@4.10.0: 3402 | resolution: {integrity: sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==} 3403 | engines: {node: '>=10.13.0'} 3404 | hasBin: true 3405 | peerDependencies: 3406 | webpack-cli: '*' 3407 | peerDependenciesMeta: 3408 | webpack-cli: 3409 | optional: true 3410 | dependencies: 3411 | '@types/eslint-scope': 3.7.3 3412 | '@types/estree': 0.0.51 3413 | '@webassemblyjs/ast': 1.11.1 3414 | '@webassemblyjs/wasm-edit': 1.11.1 3415 | '@webassemblyjs/wasm-parser': 1.11.1 3416 | acorn: 8.7.1 3417 | acorn-import-assertions: 1.8.0_acorn@8.7.1 3418 | browserslist: 4.20.4 3419 | chrome-trace-event: 1.0.3 3420 | enhanced-resolve: 5.9.3 3421 | es-module-lexer: 0.9.3 3422 | eslint-scope: 5.1.1 3423 | events: 3.3.0 3424 | glob-to-regexp: 0.4.1 3425 | graceful-fs: 4.2.10 3426 | json-parse-even-better-errors: 2.3.1 3427 | loader-runner: 4.3.0 3428 | mime-types: 2.1.35 3429 | neo-async: 2.6.2 3430 | schema-utils: 3.1.1 3431 | tapable: 2.2.1 3432 | terser-webpack-plugin: 5.3.3_webpack@5.73.0 3433 | watchpack: 2.4.0 3434 | webpack-cli: 4.10.0_webpack@5.73.0 3435 | webpack-sources: 3.2.3 3436 | transitivePeerDependencies: 3437 | - '@swc/core' 3438 | - esbuild 3439 | - uglify-js 3440 | dev: true 3441 | 3442 | /which-boxed-primitive/1.0.2: 3443 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 3444 | dependencies: 3445 | is-bigint: 1.0.4 3446 | is-boolean-object: 1.1.2 3447 | is-number-object: 1.0.7 3448 | is-string: 1.0.7 3449 | is-symbol: 1.0.4 3450 | dev: true 3451 | 3452 | /which/2.0.2: 3453 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 3454 | engines: {node: '>= 8'} 3455 | hasBin: true 3456 | dependencies: 3457 | isexe: 2.0.0 3458 | dev: true 3459 | 3460 | /wildcard/2.0.0: 3461 | resolution: {integrity: sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==} 3462 | dev: true 3463 | 3464 | /word-wrap/1.2.3: 3465 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 3466 | engines: {node: '>=0.10.0'} 3467 | dev: true 3468 | 3469 | /wrap-ansi/6.2.0: 3470 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} 3471 | engines: {node: '>=8'} 3472 | dependencies: 3473 | ansi-styles: 4.3.0 3474 | string-width: 4.2.3 3475 | strip-ansi: 6.0.1 3476 | dev: true 3477 | 3478 | /wrap-ansi/7.0.0: 3479 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 3480 | engines: {node: '>=10'} 3481 | dependencies: 3482 | ansi-styles: 4.3.0 3483 | string-width: 4.2.3 3484 | strip-ansi: 6.0.1 3485 | dev: true 3486 | 3487 | /wrappy/1.0.2: 3488 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 3489 | dev: true 3490 | 3491 | /yallist/4.0.0: 3492 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 3493 | dev: true 3494 | 3495 | /yaml/1.10.2: 3496 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 3497 | engines: {node: '>= 6'} 3498 | dev: true 3499 | 3500 | /yaml/2.1.1: 3501 | resolution: {integrity: sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==} 3502 | engines: {node: '>= 14'} 3503 | dev: true 3504 | -------------------------------------------------------------------------------- /public/devtools.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | RHF Devtools 6 | 7 | 8 |
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /public/images/icon128-gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/react-hook-form/devtools-extension/c61cd0365945e75bc6d1e4f96c95f450f10a2061/public/images/icon128-gray.png -------------------------------------------------------------------------------- /public/images/icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/react-hook-form/devtools-extension/c61cd0365945e75bc6d1e4f96c95f450f10a2061/public/images/icon128.png -------------------------------------------------------------------------------- /public/images/icon16-gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/react-hook-form/devtools-extension/c61cd0365945e75bc6d1e4f96c95f450f10a2061/public/images/icon16-gray.png -------------------------------------------------------------------------------- /public/images/icon16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/react-hook-form/devtools-extension/c61cd0365945e75bc6d1e4f96c95f450f10a2061/public/images/icon16.png -------------------------------------------------------------------------------- /public/images/icon32-gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/react-hook-form/devtools-extension/c61cd0365945e75bc6d1e4f96c95f450f10a2061/public/images/icon32-gray.png -------------------------------------------------------------------------------- /public/images/icon32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/react-hook-form/devtools-extension/c61cd0365945e75bc6d1e4f96c95f450f10a2061/public/images/icon32.png -------------------------------------------------------------------------------- /public/images/icon48-gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/react-hook-form/devtools-extension/c61cd0365945e75bc6d1e4f96c95f450f10a2061/public/images/icon48-gray.png -------------------------------------------------------------------------------- /public/images/icon48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/react-hook-form/devtools-extension/c61cd0365945e75bc6d1e4f96c95f450f10a2061/public/images/icon48.png -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | RHF Devtools Entry 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest_version": 3, 3 | "name": "React Hook Form Developer Tools", 4 | "version": "0.1.2", 5 | "description": "React Hook Form developer tools to help debug forms with validation.", 6 | "icons": { 7 | "16": "images/icon16.png", 8 | "32": "images/icon32.png", 9 | "48": "images/icon48.png", 10 | "128": "images/icon128.png" 11 | }, 12 | "action": { 13 | "default_icon": { 14 | "16": "images/icon16-gray.png", 15 | "32": "images/icon32-gray.png", 16 | "48": "images/icon48-gray.png", 17 | "128": "images/icon128-gray.png" 18 | }, 19 | "default_popup": "popup.html" 20 | }, 21 | "devtools_page": "index.html", 22 | "content_scripts": [ 23 | { 24 | "matches": [ 25 | "" 26 | ], 27 | "js": [ 28 | "content.js" 29 | ] 30 | } 31 | ], 32 | "background": { 33 | "service_worker": "background.js", 34 | "type": "module" 35 | }, 36 | "host_permissions": [ 37 | "" 38 | ], 39 | "permissions": [ 40 | "webNavigation" 41 | ] 42 | } -------------------------------------------------------------------------------- /public/popup.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | RHF Popup 6 | 7 | 8 |
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /scripts/update-version.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | 3 | const packagePath = './package.json'; 4 | const manifestPath = './public/manifest.json'; 5 | 6 | const newVersion = process.argv[3]; 7 | 8 | const readAndWriteNewVersion = (path) => { 9 | const data = JSON.parse(fs.readFileSync(path)); 10 | data.version = newVersion; 11 | fs.writeFileSync(path, JSON.stringify(data, null, 2)); 12 | }; 13 | 14 | readAndWriteNewVersion(packagePath); 15 | readAndWriteNewVersion(manifestPath); 16 | -------------------------------------------------------------------------------- /src/background.ts: -------------------------------------------------------------------------------- 1 | import { 2 | addExtensionMessageListener, 3 | addExtensionOneTimeMessageListener, 4 | } from './services/extension'; 5 | import type { UpdatePayload } from './typings/webpage-message'; 6 | 7 | let enabledTab = new Set(); 8 | let tabData = new Map>(); 9 | 10 | const cleanupCache = (tabId: number) => { 11 | if (enabledTab.has(tabId)) { 12 | enabledTab.delete(tabId); 13 | } 14 | if (tabData.has(tabId)) { 15 | tabData.delete(tabId); 16 | } 17 | }; 18 | 19 | chrome.webNavigation.onCommitted.addListener(({ transitionType, tabId }) => { 20 | if (transitionType === 'reload') { 21 | cleanupCache(tabId); 22 | } 23 | }); 24 | 25 | chrome.tabs.onUpdated.addListener((tabId) => { 26 | addExtensionMessageListener((message) => { 27 | switch (message.type) { 28 | case 'WELCOME': { 29 | chrome.action.setIcon({ 30 | tabId, 31 | path: { 32 | 16: 'images/icon16.png', 33 | 32: 'images/icon32.png', 34 | 48: 'images/icon48.png', 35 | 128: 'images/icon128.png', 36 | }, 37 | }); 38 | enabledTab.add(tabId); 39 | break; 40 | } 41 | case 'UPDATE': { 42 | if (tabData.has(tabId)) { 43 | tabData.get(tabId)![message.payload.id] = message.payload.data; 44 | } else { 45 | tabData.set(tabId, { [message.payload.id]: message.payload.data }); 46 | } 47 | break; 48 | } 49 | } 50 | }); 51 | }); 52 | 53 | chrome.tabs.onRemoved.addListener((tabId) => cleanupCache(tabId)); 54 | 55 | addExtensionOneTimeMessageListener((request, _, sendResponse) => { 56 | switch (request.type) { 57 | case 'get-enable-status': { 58 | sendResponse({ enabled: enabledTab.has(request.tabId) }); 59 | break; 60 | } 61 | case 'get-devtool-data': { 62 | sendResponse({ data: tabData.get(request.tabId)! }); 63 | break; 64 | } 65 | } 66 | }); 67 | -------------------------------------------------------------------------------- /src/content.ts: -------------------------------------------------------------------------------- 1 | import { postExtensionMessage } from './services/extension'; 2 | import { 3 | addWebpageMessageListener, 4 | postWebpageMessage, 5 | } from './services/webpage'; 6 | 7 | postWebpageMessage('INIT'); 8 | addWebpageMessageListener((message) => { 9 | postExtensionMessage(message); 10 | }); 11 | -------------------------------------------------------------------------------- /src/css-module.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.module.css'; 2 | -------------------------------------------------------------------------------- /src/devtools.tsx: -------------------------------------------------------------------------------- 1 | import Devtools from './devtools/Devtools'; 2 | import React from 'react'; 3 | import ReactDOM from 'react-dom/client'; 4 | 5 | chrome.devtools.network.onNavigated.addListener(() => { 6 | location.reload(); 7 | }); 8 | 9 | ReactDOM.createRoot(document.getElementById('root')!).render( 10 | 11 | 12 | , 13 | ); 14 | -------------------------------------------------------------------------------- /src/devtools/Devtools.tsx: -------------------------------------------------------------------------------- 1 | import FieldState from './components/FieldState'; 2 | import FormIdSelector from './components/FormIdSelector'; 3 | import FormState from './components/FormState'; 4 | import Input from './components/Input'; 5 | import Oops from './components/Oops'; 6 | import { useGetData } from './helpers/get-data'; 7 | import styles from './styles/Devtools.module.css'; 8 | import './styles/global.css'; 9 | import type React from 'react'; 10 | import { useState } from 'react'; 11 | 12 | const Devtools: React.FC = () => { 13 | const data = useGetData(); 14 | 15 | const [formId, setFormId] = useState(''); 16 | const [filteredFieldName, setFilteredFieldName] = useState(''); 17 | 18 | if (Object.keys(data).length === 0) return ; 19 | 20 | if (!data[formId]) { 21 | return ( 22 |
23 | 28 |

Please Select a Form ID

29 |
30 | ); 31 | } 32 | 33 | return ( 34 |
35 |
36 | 41 | 46 |
47 |
48 | {Object.keys(data[formId].formValues) 49 | .filter((fieldName) => 50 | fieldName.toLowerCase().includes(filteredFieldName.toLowerCase()), 51 | ) 52 | .map((fieldName) => ( 53 | 66 | ))} 67 |
68 |
69 | 80 |
81 |
82 | ); 83 | }; 84 | 85 | export default Devtools; 86 | -------------------------------------------------------------------------------- /src/devtools/components/Button.tsx: -------------------------------------------------------------------------------- 1 | import styles from '../styles/Button.module.css'; 2 | import clsx from 'clsx'; 3 | import type React from 'react'; 4 | 5 | interface ButtonProps { 6 | children: React.ReactNode; 7 | className?: string; 8 | onClick?: () => void; 9 | } 10 | 11 | const Button: React.FC = ({ children, className, onClick }) => { 12 | return ( 13 | 16 | ); 17 | }; 18 | 19 | export default Button; 20 | -------------------------------------------------------------------------------- /src/devtools/components/FieldState.tsx: -------------------------------------------------------------------------------- 1 | import styles from '../styles/FieldState.module.css'; 2 | import Button from './Button'; 3 | import type { StateFields } from './State'; 4 | import State from './State'; 5 | import clsx from 'clsx'; 6 | import type React from 'react'; 7 | import { useState } from 'react'; 8 | 9 | interface FieldStateProps { 10 | name: string; 11 | hasError: boolean; 12 | isNative: boolean; 13 | state: StateFields; 14 | } 15 | 16 | const FieldState: React.FC = ({ 17 | name, 18 | hasError, 19 | isNative, 20 | state, 21 | }) => { 22 | const [isCollapsed, setIsCollapsed] = useState(true); 23 | 24 | return ( 25 |
31 |
32 |
33 | 39 | 42 |
43 |
{name}
44 |
45 | {!isCollapsed && } 46 |
47 | ); 48 | }; 49 | 50 | export default FieldState; 51 | -------------------------------------------------------------------------------- /src/devtools/components/FormIdSelector.tsx: -------------------------------------------------------------------------------- 1 | import styles from '../styles/FormIdSelector.module.css'; 2 | import type React from 'react'; 3 | 4 | interface FormIdSelectorProps { 5 | ids: string[]; 6 | id: string; 7 | onChange: (id: string) => void; 8 | } 9 | 10 | const FormIdSelector: React.FC = ({ 11 | ids, 12 | id, 13 | onChange, 14 | }) => { 15 | return ( 16 | 29 | ); 30 | }; 31 | 32 | export default FormIdSelector; 33 | -------------------------------------------------------------------------------- /src/devtools/components/FormState.tsx: -------------------------------------------------------------------------------- 1 | import styles from '../styles/FormState.module.css'; 2 | import Button from './Button'; 3 | import type { StateFields } from './State'; 4 | import State from './State'; 5 | import type React from 'react'; 6 | import { useState } from 'react'; 7 | 8 | const FormState: React.FC<{ 9 | state: { valid: boolean } & StateFields; 10 | }> = ({ state }) => { 11 | const [isCollapsed, setIsCollapsed] = useState(false); 12 | 13 | return ( 14 | <> 15 | {isCollapsed && ( 16 |
17 | 18 |
19 | )} 20 | 31 | 32 | ); 33 | }; 34 | 35 | export default FormState; 36 | -------------------------------------------------------------------------------- /src/devtools/components/Input.tsx: -------------------------------------------------------------------------------- 1 | import styles from '../styles/Input.module.css'; 2 | import type React from 'react'; 3 | 4 | interface InputProps { 5 | placeholder: string; 6 | value: string; 7 | onChange: (value: string) => void; 8 | } 9 | 10 | const Input: React.FC = ({ placeholder, value, onChange }) => { 11 | return ( 12 | { 17 | onChange(e.target.value); 18 | }} 19 | /> 20 | ); 21 | }; 22 | 23 | export default Input; 24 | -------------------------------------------------------------------------------- /src/devtools/components/Oops.tsx: -------------------------------------------------------------------------------- 1 | import type React from 'react'; 2 | 3 | const Oops: React.FC = () => { 4 | return ( 5 |
6 |

Oops.. No React Hook Form here!

7 |
8 |
If your page have React Hook Form
9 |
10 | Please press Ctrl + Shift + R to 11 | reload the page. 12 |
13 |
14 |
15 | ); 16 | }; 17 | 18 | export default Oops; 19 | -------------------------------------------------------------------------------- /src/devtools/components/State.tsx: -------------------------------------------------------------------------------- 1 | import styles from '../styles/State.module.css'; 2 | import type React from 'react'; 3 | 4 | export type StateFields = Record< 5 | string, 6 | string | boolean | number | object | undefined 7 | >; 8 | 9 | const StateValue: React.FC<{ 10 | value?: string | boolean | number | object; 11 | }> = ({ value }) => { 12 | if (typeof value === 'boolean' || typeof value === 'number') { 13 | return ( 14 |
{`${value}`}
15 | ); 16 | } 17 | if (typeof value === 'object') { 18 | return
[Nested Object]
; 19 | } 20 | return
{value}
; 21 | }; 22 | 23 | const State: React.FC<{ state: StateFields }> = ({ state }) => { 24 | return ( 25 |
26 | {Object.entries(state) 27 | .filter(([, value]) => typeof value !== 'undefined') 28 | .map(([key, value]) => ( 29 |
30 |
{key}:
31 |
32 | 33 |
34 |
35 | ))} 36 |
37 | ); 38 | }; 39 | 40 | export default State; 41 | -------------------------------------------------------------------------------- /src/devtools/helpers/get-data.ts: -------------------------------------------------------------------------------- 1 | import { sendExtensionOneTimeMessage } from '../../services/extension'; 2 | import type { UpdatePayload } from '../../typings/webpage-message'; 3 | import { useEffect, useState } from 'react'; 4 | 5 | export function useGetData() { 6 | const [data, setData] = useState< 7 | Record | undefined 8 | >({}); 9 | 10 | const getData = () => { 11 | sendExtensionOneTimeMessage( 12 | chrome.devtools.inspectedWindow.tabId, 13 | 'get-devtool-data', 14 | (response) => { 15 | setData(response.data); 16 | }, 17 | ); 18 | }; 19 | 20 | useEffect(() => { 21 | getData(); 22 | const intervalId = setInterval(getData, 100); 23 | return () => clearInterval(intervalId); 24 | }, []); 25 | 26 | return data || {}; 27 | } 28 | -------------------------------------------------------------------------------- /src/devtools/styles/Button.module.css: -------------------------------------------------------------------------------- 1 | @import './colors.css'; 2 | 3 | .button { 4 | margin: 0; 5 | border: 0; 6 | border-radius: 0; 7 | color: white; 8 | font-size: 11px; 9 | background-color: var(--blue); 10 | transition: 0.2s all; 11 | text-transform: none; 12 | } 13 | 14 | .button:hover { 15 | background-color: var(--light-blue); 16 | } 17 | 18 | .button:active { 19 | transition: 0.3s all; 20 | transform: translateY(2px); 21 | opacity: 0.8; 22 | } 23 | -------------------------------------------------------------------------------- /src/devtools/styles/Devtools.module.css: -------------------------------------------------------------------------------- 1 | @import './colors.css'; 2 | 3 | .top { 4 | display: flex; 5 | flex-direction: column; 6 | gap: 8px; 7 | } 8 | 9 | .middle { 10 | overflow: auto; 11 | flex-grow: 1; 12 | margin-block: 10px; 13 | } 14 | 15 | .main { 16 | display: flex; 17 | flex-direction: column; 18 | height: calc(100vh - 16px); 19 | } 20 | 21 | kbd { 22 | background-color: #eee; 23 | border-radius: 3px; 24 | border: 1px solid #b4b4b4; 25 | box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), 26 | 0 2px 0 0 rgba(255, 255, 255, 0.7) inset; 27 | color: #333; 28 | display: inline-block; 29 | font-size: 0.85em; 30 | font-weight: 700; 31 | line-height: 1; 32 | padding: 2px 4px; 33 | white-space: nowrap; 34 | } 35 | -------------------------------------------------------------------------------- /src/devtools/styles/FieldState.module.css: -------------------------------------------------------------------------------- 1 | @import './colors.css'; 2 | 3 | .collapseButton { 4 | width: 24px; 5 | } 6 | 7 | .isNativeButton { 8 | width: 60px; 9 | } 10 | 11 | .button { 12 | border: 1px solid var(--light-blue); 13 | height: 24px; 14 | } 15 | 16 | .actionsAndName { 17 | display: flex; 18 | } 19 | 20 | .actions { 21 | width: 50%; 22 | display: flex; 23 | gap: 8px; 24 | } 25 | 26 | .name { 27 | width: 50%; 28 | padding-top: 2px; 29 | } 30 | 31 | .fieldState { 32 | padding: 16px 10px; 33 | border-bottom: 1px dashed var(--secondary); 34 | transition: 0.3s; 35 | } 36 | 37 | .fieldState:hover { 38 | background-color: var(--primary); 39 | } 40 | -------------------------------------------------------------------------------- /src/devtools/styles/FormIdSelector.module.css: -------------------------------------------------------------------------------- 1 | .selector { 2 | margin: 0; 3 | border: 0; 4 | border-radius: 0; 5 | padding: 8px; 6 | color: white; 7 | background: black; 8 | } 9 | -------------------------------------------------------------------------------- /src/devtools/styles/FormState.module.css: -------------------------------------------------------------------------------- 1 | @import './colors.css'; 2 | 3 | .button { 4 | width: 100%; 5 | height: 32px; 6 | } 7 | 8 | .state { 9 | padding: 10px; 10 | border-top: 1px solid var(--secondary); 11 | background-color: black; 12 | } 13 | -------------------------------------------------------------------------------- /src/devtools/styles/Input.module.css: -------------------------------------------------------------------------------- 1 | .input { 2 | margin: 0; 3 | border: 0; 4 | border-radius: 0; 5 | padding: 8px; 6 | color: white; 7 | background: black; 8 | } 9 | 10 | .input::placeholder { 11 | color: #b3b3b3; 12 | } 13 | 14 | .input:focus::placeholder { 15 | color: white; 16 | } 17 | -------------------------------------------------------------------------------- /src/devtools/styles/State.module.css: -------------------------------------------------------------------------------- 1 | .states { 2 | display: flex; 3 | flex-direction: column; 4 | gap: 4px; 5 | margin-block: 4px; 6 | } 7 | 8 | .state { 9 | display: flex; 10 | gap: 8px; 11 | } 12 | 13 | .stateKey { 14 | width: 50%; 15 | text-align: end; 16 | font-weight: bold; 17 | text-transform: capitalize; 18 | } 19 | 20 | .stateValue { 21 | width: 50%; 22 | } 23 | -------------------------------------------------------------------------------- /src/devtools/styles/colors.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --primary: #0e101c; 3 | --secondary: #bf1650; 4 | --light-blue: #516391; 5 | --blue: #1e2a4a; 6 | --light-pink: #ec5990; 7 | --error-pink: #fbecf2; 8 | --button-blue: #191d3a; 9 | --link: #ff7aa8; 10 | --green: #1bda2b; 11 | } 12 | -------------------------------------------------------------------------------- /src/devtools/styles/global.css: -------------------------------------------------------------------------------- 1 | @import './colors.css'; 2 | 3 | *, 4 | *::before, 5 | *::after { 6 | box-sizing: border-box; 7 | } 8 | 9 | body { 10 | background-color: var(--button-blue); 11 | color: white; 12 | font-size: 14px; 13 | margin: 8px; 14 | } 15 | 16 | ::-webkit-scrollbar { 17 | width: 6px; 18 | } 19 | 20 | ::-webkit-scrollbar-track { 21 | background: inherit; 22 | } 23 | 24 | ::-webkit-scrollbar-thumb { 25 | background: grey; 26 | border-radius: 10px; 27 | } 28 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | chrome.devtools.panels.create( 2 | '📋 React Hook Form', 3 | 'images/icon64.png', 4 | 'devtools.html', 5 | ); 6 | -------------------------------------------------------------------------------- /src/popup.tsx: -------------------------------------------------------------------------------- 1 | import Popup from './popup/Popup'; 2 | import React from 'react'; 3 | import ReactDOM from 'react-dom/client'; 4 | 5 | ReactDOM.createRoot(document.getElementById('root')!).render( 6 | 7 | 8 | , 9 | ); 10 | -------------------------------------------------------------------------------- /src/popup/Popup.module.css: -------------------------------------------------------------------------------- 1 | .notice { 2 | font-weight: bold; 3 | } 4 | 5 | .main { 6 | width: 560px; 7 | font-size: 16px; 8 | } 9 | 10 | kbd { 11 | background-color: #eee; 12 | border-radius: 3px; 13 | border: 1px solid #b4b4b4; 14 | box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), 15 | 0 2px 0 0 rgba(255, 255, 255, 0.7) inset; 16 | color: #333; 17 | display: inline-block; 18 | font-size: 0.85em; 19 | font-weight: 700; 20 | line-height: 1; 21 | padding: 2px 4px; 22 | white-space: nowrap; 23 | } 24 | -------------------------------------------------------------------------------- /src/popup/Popup.tsx: -------------------------------------------------------------------------------- 1 | import { sendExtensionOneTimeMessage } from '../services/extension'; 2 | import styles from './Popup.module.css'; 3 | import type React from 'react'; 4 | import { useEffect, useState } from 'react'; 5 | 6 | const Popup: React.FC = () => { 7 | const [enable, setEnable] = useState(false); 8 | useEffect(() => { 9 | chrome.tabs.query({ active: true, currentWindow: true }, ([tab]) => { 10 | sendExtensionOneTimeMessage(tab.id!, 'get-enable-status', (response) => { 11 | setEnable(response.enabled); 12 | }); 13 | }); 14 | }, []); 15 | 16 | return ( 17 |
18 |
19 | This page {enable ? 'is' : "is't"} using the debug mode of React Hook 20 | Form. {enable ? '✅' : '❌'} 21 |
22 | {enable ? ( 23 |
24 | Open the developer tools, and "React Hook Form" tab will appear to the 25 | right. 26 |
27 | ) : ( 28 |
29 | If your page have React Hook Form. Please press Ctrl +{' '} 30 | Shift + R to reload the page. 31 |
32 | )} 33 |
34 |
35 | Need help? Create an issue or discussion{' '} 36 | 40 | here 41 | 42 | ! 43 |
44 |
45 | ); 46 | }; 47 | 48 | export default Popup; 49 | -------------------------------------------------------------------------------- /src/services/extension.ts: -------------------------------------------------------------------------------- 1 | import type { ExtensionMessageResponse } from '../typings/extension-message'; 2 | import type { MessageData } from '../typings/webpage-message'; 3 | 4 | export const postExtensionMessage = (message: MessageData) => 5 | chrome.runtime 6 | .connect({ 7 | name: 'react-hook-form', 8 | }) 9 | .postMessage(message); 10 | 11 | export const addExtensionMessageListener = ( 12 | fn: (message: MessageData) => void, 13 | ) => 14 | chrome.runtime.onConnect.addListener((port) => { 15 | if (port.name !== 'react-hook-form') return; 16 | port.onMessage.addListener((message) => { 17 | fn(message); 18 | }); 19 | }); 20 | 21 | export const sendExtensionOneTimeMessage = < 22 | TMessageType extends keyof ExtensionMessageResponse, 23 | >( 24 | tabId: number, 25 | type: TMessageType, 26 | responseCallback?: (response: ExtensionMessageResponse[TMessageType]) => void, 27 | ) => { 28 | chrome.runtime.sendMessage({ type, tabId }, (response) => { 29 | if (responseCallback) { 30 | responseCallback(response); 31 | } 32 | }); 33 | }; 34 | 35 | export const addExtensionOneTimeMessageListener = ( 36 | fn: ( 37 | request: { type: keyof ExtensionMessageResponse; tabId: number }, 38 | _: unknown, 39 | sendResponse: ( 40 | response: ExtensionMessageResponse[keyof ExtensionMessageResponse], 41 | ) => void, 42 | ) => void, 43 | ) => { 44 | chrome.runtime.onMessage.addListener(fn); 45 | }; 46 | -------------------------------------------------------------------------------- /src/services/webpage.ts: -------------------------------------------------------------------------------- 1 | import type { MessageData } from '../typings/webpage-message'; 2 | 3 | const MESSAGE_SOURCE = 'react-hook-form-bridge'; 4 | 5 | export function postWebpageMessage(type: MessageData['type']) { 6 | window.postMessage({ source: MESSAGE_SOURCE, type } as MessageData); 7 | } 8 | 9 | export function addWebpageMessageListener(fn: (message: MessageData) => void) { 10 | window.addEventListener('message', ({ data }: MessageEvent) => { 11 | if (data.source !== MESSAGE_SOURCE) { 12 | return; 13 | } 14 | fn(data); 15 | }); 16 | } 17 | -------------------------------------------------------------------------------- /src/typings/extension-message.ts: -------------------------------------------------------------------------------- 1 | import type { UpdatePayload } from './webpage-message'; 2 | 3 | export type ExtensionMessageResponse = { 4 | 'get-enable-status': { enabled: boolean }; 5 | 'get-devtool-data': { data: Record }; 6 | }; 7 | -------------------------------------------------------------------------------- /src/typings/webpage-message.ts: -------------------------------------------------------------------------------- 1 | export type UpdatePayload< 2 | TFieldValues extends Record = Record, 3 | > = { 4 | id: string; 5 | data: { 6 | formValues: TFieldValues; 7 | formState: { 8 | errors: Record; 9 | dirtyFields: Record; 10 | touchedFields: Record; 11 | nativeFields: Record; 12 | submitCount: number; 13 | isSubmitted: boolean; 14 | isSubmitting: boolean; 15 | isSubmitSuccessful: boolean; 16 | isValid: boolean; 17 | isValidating: boolean; 18 | isDirty: boolean; 19 | }; 20 | }; 21 | }; 22 | 23 | type InitMessageData = { 24 | source: string; 25 | type: 'INIT' | 'WELCOME'; 26 | }; 27 | 28 | type UpdateMessageData< 29 | TFieldValues extends Record = Record, 30 | > = { 31 | source: string; 32 | type: 'UPDATE'; 33 | payload: UpdatePayload; 34 | }; 35 | 36 | export type MessageData< 37 | TFieldValues extends Record = Record, 38 | > = InitMessageData | UpdateMessageData; 39 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES6", 4 | "lib": ["DOM", "DOM.Iterable", "ESNext"], 5 | "allowJs": false, 6 | "skipLibCheck": true, 7 | "esModuleInterop": false, 8 | "allowSyntheticDefaultImports": true, 9 | "strict": true, 10 | "forceConsistentCasingInFileNames": true, 11 | "module": "ESNext", 12 | "moduleResolution": "Node", 13 | "resolveJsonModule": true, 14 | "jsx": "react-jsx", 15 | "plugins": [{ "name": "typescript-plugin-css-modules" }] 16 | }, 17 | "include": ["src"] 18 | } 19 | -------------------------------------------------------------------------------- /webpack.common.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const CopyPlugin = require('copy-webpack-plugin'); 3 | 4 | /** @type { import('webpack').Configuration } */ 5 | module.exports = { 6 | entry: { 7 | index: './src/index.ts', 8 | devtools: './src/devtools.tsx', 9 | popup: './src/popup.tsx', 10 | background: './src/background.ts', 11 | content: './src/content.ts', 12 | }, 13 | output: { 14 | path: path.resolve(__dirname, 'dist'), 15 | filename: '[name].js', 16 | }, 17 | module: { 18 | rules: [ 19 | { 20 | test: /\.tsx?$/, 21 | use: 'ts-loader', 22 | exclude: /node_modules/, 23 | }, 24 | { 25 | test: /\.css$/, 26 | use: [ 27 | 'style-loader', 28 | { 29 | loader: 'css-loader', 30 | options: { 31 | importLoaders: 1, 32 | modules: true, 33 | }, 34 | }, 35 | ], 36 | include: /\.module\.css$/, 37 | }, 38 | { 39 | test: /\.css$/, 40 | use: ['style-loader', 'css-loader'], 41 | exclude: /\.module\.css$/, 42 | }, 43 | ], 44 | }, 45 | resolve: { 46 | extensions: ['.ts', '.tsx', '.js'], 47 | }, 48 | plugins: [ 49 | new CopyPlugin({ 50 | patterns: [{ from: 'public' }], 51 | }), 52 | ], 53 | }; 54 | -------------------------------------------------------------------------------- /webpack.dev.js: -------------------------------------------------------------------------------- 1 | const { merge } = require('webpack-merge'); 2 | const common = require('./webpack.common.js'); 3 | 4 | module.exports = merge(common, { 5 | devtool: 'inline-source-map', 6 | mode: 'development', 7 | }); 8 | -------------------------------------------------------------------------------- /webpack.prod.js: -------------------------------------------------------------------------------- 1 | const { merge } = require('webpack-merge'); 2 | const common = require('./webpack.common.js'); 3 | 4 | module.exports = merge(common, { 5 | mode: 'production', 6 | }); 7 | --------------------------------------------------------------------------------