Mirror: The magical sticky regex-based parser generator 🧙

Compare changes

Choose any two refs to compare.

+26
.github/workflows/mirror.yml
···
··· 1 + # Mirrors to https://tangled.sh/@kitten.sh (knot.kitten.sh) 2 + name: Mirror (Git Backup) 3 + on: 4 + push: 5 + branches: 6 + - main 7 + jobs: 8 + mirror: 9 + runs-on: ubuntu-latest 10 + steps: 11 + - name: Checkout repository 12 + uses: actions/checkout@v4 13 + with: 14 + fetch-depth: 0 15 + fetch-tags: true 16 + - name: Mirror 17 + env: 18 + MIRROR_SSH_KEY: ${{ secrets.MIRROR_SSH_KEY }} 19 + GIT_SSH_COMMAND: 'ssh -o StrictHostKeyChecking=yes' 20 + run: | 21 + mkdir -p ~/.ssh 22 + echo "$MIRROR_SSH_KEY" > ~/.ssh/id_rsa 23 + chmod 600 ~/.ssh/id_rsa 24 + ssh-keyscan -H knot.kitten.sh >> ~/.ssh/known_hosts 25 + git remote add mirror "git@knot.kitten.sh:kitten.sh/${GITHUB_REPOSITORY#*/}" 26 + git push --mirror mirror
+66 -5
README.md
··· 43 Alternatively, you can set up [`babel-plugin-macros`](https://github.com/kentcdodds/babel-plugin-macros) and 44 import `reghex` from `"reghex/macro"` instead. 45 46 - This step is **optional**. `reghex` can also generate its optimised JS code during runtime only! 47 48 ##### 3. Have fun writing parsers! 49 ··· 164 Let's extend our original example; 165 166 ```js 167 - import match from 'reghex'; 168 169 const name = match('name')` 170 ${/\w+/} ··· 196 */ 197 ``` 198 199 ### Regex-like DSL 200 201 We've seen in the previous examples that matchers are authored using tagged ··· 222 | `(?= )` | `(?= ${/1/})` | A **positive lookahead** checks whether interpolations match, and if so continues the matcher without changing the input. If it matches, it's essentially ignored. | 223 | `(?! )` | `(?! ${/1/})` | A **negative lookahead** checks whether interpolations _don't_ match, and if so continues the matcher without changing the input. If the interpolations do match the matcher is aborted. | 224 225 We can combine and compose these operators to create more complex matchers. 226 For instance, we can extend the original example to only allow a specific set 227 of names by using the `|` operator: ··· 319 320 We've now entirely changed the output of the parser for this matcher. Given that each 321 matcher can change its output, we're free to change the parser's output entirely. 322 - By **returning a falsy value** in this matcher, we can also change the matcher to not have 323 - matched, which would cause other matchers to treat it like a mismatch! 324 325 ```js 326 - import match, { parse } from 'reghex'; 327 328 const name = match('name')((x) => { 329 return x[0] !== 'tim' ? x : undefined; ··· 348 tag(['test'], 'node_name'); 349 // ["test", .tag = "node_name"] 350 ``` 351 352 **That's it! May the RegExp be ever in your favor.**
··· 43 Alternatively, you can set up [`babel-plugin-macros`](https://github.com/kentcdodds/babel-plugin-macros) and 44 import `reghex` from `"reghex/macro"` instead. 45 46 + This step is **optional**. `reghex` can also generate its optimised JS code during runtime. 47 + This will only incur a tiny parsing cost on initialisation, but due to the JIT of modern 48 + JS engines there won't be any difference in performance between pre-compiled and compiled 49 + versions otherwise. 50 + 51 + Since the `reghex` runtime is rather small, for larger grammars it may even make sense not 52 + to precompile the matchers at all. For this case you may pass the `{ "codegen": false }` 53 + option to the Babel plugin, which will minify the `reghex` matcher templates without 54 + precompiling them. 55 56 ##### 3. Have fun writing parsers! 57 ··· 172 Let's extend our original example; 173 174 ```js 175 + import { match } from 'reghex'; 176 177 const name = match('name')` 178 ${/\w+/} ··· 204 */ 205 ``` 206 207 + Furthermore, interpolations don't have to just be RegHex matchers. They can 208 + also be functions returning matchers or completely custom matching functions. 209 + This is useful when your DSL becomes _self-referential_, i.e. when one matchers 210 + start referencing each other forming a loop. To fix this we can create a 211 + function that returns our root matcher: 212 + 213 + ```js 214 + import { match } from 'reghex'; 215 + 216 + const value = match('value')` 217 + (${/\w+/} | ${() => root})+ 218 + `; 219 + 220 + const root = match('root')` 221 + ${/root/}+ ${value} 222 + `; 223 + ``` 224 + 225 ### Regex-like DSL 226 227 We've seen in the previous examples that matchers are authored using tagged ··· 248 | `(?= )` | `(?= ${/1/})` | A **positive lookahead** checks whether interpolations match, and if so continues the matcher without changing the input. If it matches, it's essentially ignored. | 249 | `(?! )` | `(?! ${/1/})` | A **negative lookahead** checks whether interpolations _don't_ match, and if so continues the matcher without changing the input. If the interpolations do match the matcher is aborted. | 250 251 + A couple of operators also support "short hands" that allow you to write 252 + lookaheads or non-capturing groups a little quicker. 253 + 254 + | Shorthand | Example | Description | 255 + | --------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 256 + | `:` | `:${/1/}` | A **non-capturing group** is like a regular group, but the interpolations matched inside it don't appear in the parser's output. | 257 + | `=` | `=${/1/}` | A **positive lookahead** checks whether interpolations match, and if so continues the matcher without changing the input. If it matches, it's essentially ignored. | 258 + | `!` | `!${/1/}` | A **negative lookahead** checks whether interpolations _don't_ match, and if so continues the matcher without changing the input. If the interpolations do match the matcher is aborted. | 259 + 260 We can combine and compose these operators to create more complex matchers. 261 For instance, we can extend the original example to only allow a specific set 262 of names by using the `|` operator: ··· 354 355 We've now entirely changed the output of the parser for this matcher. Given that each 356 matcher can change its output, we're free to change the parser's output entirely. 357 + By returning `null` or `undefined` in this matcher, we can also change the matcher 358 + to not have matched, which would cause other matchers to treat it like a mismatch! 359 360 ```js 361 + import { match, parse } from 'reghex'; 362 363 const name = match('name')((x) => { 364 return x[0] !== 'tim' ? x : undefined; ··· 383 tag(['test'], 'node_name'); 384 // ["test", .tag = "node_name"] 385 ``` 386 + 387 + ### Tagged Template Parsing 388 + 389 + Any grammar in RegHex can also be used to parse a tagged template literal. 390 + A tagged template literal consists of a list of literals alternating with 391 + a list of "interpolations". 392 + 393 + In RegHex we can add an `interpolation` matcher to our grammars to allow it 394 + to parse interpolations in a template literal. 395 + 396 + ```js 397 + import { interpolation } from 'reghex'; 398 + 399 + const anyNumber = interpolation((x) => typeof x === 'number'); 400 + 401 + const num = match('num')` 402 + ${/[+-]?/} ${anyNumber} 403 + `; 404 + 405 + parse(num)`+${42}`; 406 + // ["+", 42, .tag = "num"] 407 + ``` 408 + 409 + This grammar now allows us to match arbitrary values if they're input into the 410 + parser. We can now call our grammar using a tagged template literal themselves 411 + to parse this. 412 413 **That's it! May the RegExp be ever in your favor.**
+1 -1
babel.js
··· 1 - module.exports = require('./dist/reghex-babel.js').default;
··· 1 + module.exports = require('./dist/reghex-babel.js');
+18 -19
package.json
··· 1 { 2 "name": "reghex", 3 - "version": "2.0.0-alpha.1", 4 "description": "The magical sticky regex-based parser generator 🧙", 5 "author": "Phil Pluckthun <phil@kitten.sh>", 6 "license": "MIT", 7 "main": "dist/reghex-core", 8 "module": "dist/reghex-core.mjs", 9 "source": "src/core.js", 10 "files": [ 11 "README.md", 12 "LICENSE.md", ··· 21 "require": "./dist/reghex-core.js" 22 }, 23 "./babel": { 24 - "import": "./dist/reghex-babel.mjs", 25 "require": "./dist/reghex-babel.js" 26 }, 27 "./macro": { 28 - "import": "./dist/reghex-macro.mjs", 29 "require": "./dist/reghex-macro.js" 30 }, 31 "./package.json": "./package.json" ··· 48 "url": "https://github.com/kitten/reghex/issues" 49 }, 50 "devDependencies": { 51 - "@ampproject/rollup-plugin-closure-compiler": "^0.26.0", 52 - "@babel/core": "7.9.6", 53 - "@babel/plugin-transform-modules-commonjs": "^7.9.6", 54 - "@babel/plugin-transform-object-assign": "^7.8.3", 55 "@rollup/plugin-buble": "^0.21.3", 56 - "@rollup/plugin-commonjs": "^11.1.0", 57 - "@rollup/plugin-node-resolve": "^7.1.3", 58 - "@rollup/pluginutils": "^4.1.0", 59 - "babel-jest": "^26.0.1", 60 - "babel-plugin-closure-elimination": "^1.3.1", 61 - "husky": "^4.2.5", 62 - "jest": "^26.0.1", 63 - "lint-staged": "^10.2.2", 64 "npm-run-all": "^4.1.5", 65 - "prettier": "^2.0.5", 66 "rimraf": "^3.0.2", 67 - "rollup": "^2.10.2", 68 - "rollup-plugin-babel": "^4.4.0" 69 }, 70 "prettier": { 71 "singleQuote": true ··· 81 "jest": { 82 "testEnvironment": "node", 83 "transform": { 84 - "\\.js$": "<rootDir>/scripts/jest-transform-esm.js" 85 } 86 } 87 }
··· 1 { 2 "name": "reghex", 3 + "version": "3.0.2", 4 "description": "The magical sticky regex-based parser generator 🧙", 5 "author": "Phil Pluckthun <phil@kitten.sh>", 6 "license": "MIT", 7 "main": "dist/reghex-core", 8 "module": "dist/reghex-core.mjs", 9 "source": "src/core.js", 10 + "sideEffects": false, 11 "files": [ 12 "README.md", 13 "LICENSE.md", ··· 22 "require": "./dist/reghex-core.js" 23 }, 24 "./babel": { 25 "require": "./dist/reghex-babel.js" 26 }, 27 "./macro": { 28 "require": "./dist/reghex-macro.js" 29 }, 30 "./package.json": "./package.json" ··· 47 "url": "https://github.com/kitten/reghex/issues" 48 }, 49 "devDependencies": { 50 + "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", 51 + "@babel/core": "7.15.0", 52 + "@babel/plugin-transform-modules-commonjs": "^7.15.0", 53 + "@babel/plugin-transform-template-literals": "^7.14.5", 54 "@rollup/plugin-buble": "^0.21.3", 55 + "@rollup/plugin-commonjs": "^20.0.0", 56 + "@rollup/plugin-node-resolve": "^13.0.4", 57 + "@rollup/pluginutils": "^4.1.1", 58 + "@sucrase/jest-plugin": "^2.1.1", 59 + "babel-jest": "^27.1.0", 60 + "babel-plugin-closure-elimination": "^1.3.2", 61 + "husky-v4": "^4.3.8", 62 + "jest": "^27.1.0", 63 + "lint-staged": "^11.1.2", 64 "npm-run-all": "^4.1.5", 65 + "prettier": "^2.3.2", 66 "rimraf": "^3.0.2", 67 + "rollup": "^2.56.3" 68 }, 69 "prettier": { 70 "singleQuote": true ··· 80 "jest": { 81 "testEnvironment": "node", 82 "transform": { 83 + "\\.js$": "@sucrase/jest-plugin" 84 } 85 } 86 }
+4 -12
rollup.config.js
··· 1 import commonjs from '@rollup/plugin-commonjs'; 2 import resolve from '@rollup/plugin-node-resolve'; 3 import buble from '@rollup/plugin-buble'; 4 - import babel from 'rollup-plugin-babel'; 5 import compiler from '@ampproject/rollup-plugin-closure-compiler'; 6 7 import simplifyJSTags from './scripts/simplify-jstags-plugin.js'; ··· 23 dangerousForOf: true, 24 templateString: false, 25 }, 26 - objectAssign: 'Object.assign', 27 exclude: 'node_modules/**', 28 - }), 29 - babel({ 30 - babelrc: false, 31 - extensions: ['ts', 'tsx', 'js'], 32 - exclude: 'node_modules/**', 33 - presets: [], 34 - plugins: [ 35 - '@babel/plugin-transform-object-assign', 36 - 'babel-plugin-closure-elimination', 37 - ], 38 }), 39 ]; 40 ··· 78 }, 79 { 80 ...base, 81 input: { 82 babel: './src/babel/plugin.js', 83 macro: './src/babel/macro.js',
··· 1 import commonjs from '@rollup/plugin-commonjs'; 2 import resolve from '@rollup/plugin-node-resolve'; 3 import buble from '@rollup/plugin-buble'; 4 import compiler from '@ampproject/rollup-plugin-closure-compiler'; 5 6 import simplifyJSTags from './scripts/simplify-jstags-plugin.js'; ··· 22 dangerousForOf: true, 23 templateString: false, 24 }, 25 exclude: 'node_modules/**', 26 }), 27 ]; 28 ··· 66 }, 67 { 68 ...base, 69 + output: { 70 + ...output('cjs', '.js'), 71 + exports: 'default', 72 + }, 73 input: { 74 babel: './src/babel/plugin.js', 75 macro: './src/babel/macro.js',
-5
scripts/jest-transform-esm.js
··· 1 - const { createTransformer } = require('babel-jest'); 2 - 3 - module.exports = createTransformer({ 4 - plugins: [require.resolve('@babel/plugin-transform-modules-commonjs')], 5 - });
···
+8 -1
scripts/simplify-jstags-plugin.js
··· 1 import { transformSync as transform } from '@babel/core'; 2 import { createFilter } from '@rollup/pluginutils'; 3 4 const simplifyJSTags = ({ types: t }) => ({ 5 visitor: { 6 TaggedTemplateExpression(path) { ··· 44 } 45 46 return transform(code, { 47 - plugins: [simplifyJSTags], 48 babelrc: false, 49 }); 50 },
··· 1 import { transformSync as transform } from '@babel/core'; 2 import { createFilter } from '@rollup/pluginutils'; 3 4 + import transformTemplateLiterals from '@babel/plugin-transform-template-literals'; 5 + import eliminateClosures from 'babel-plugin-closure-elimination'; 6 + 7 const simplifyJSTags = ({ types: t }) => ({ 8 visitor: { 9 TaggedTemplateExpression(path) { ··· 47 } 48 49 return transform(code, { 50 + plugins: [ 51 + simplifyJSTags, 52 + [transformTemplateLiterals, { loose: true }], 53 + eliminateClosures, 54 + ], 55 babelrc: false, 56 }); 57 },
+345 -102
src/babel/__snapshots__/plugin.test.js.snap
··· 1 // Jest Snapshot v1, https://goo.gl/fbAQLP 2 3 exports[`works together with @babel/plugin-transform-modules-commonjs 1`] = ` 4 "\\"use strict\\"; 5 6 var _reghex = require(\\"reghex\\"); 7 8 - var _node_expression = (0, _reghex._pattern)(1), 9 - _node_expression2 = (0, _reghex._pattern)(2); 10 11 const node = function (state) { 12 - var index_1 = state.index; 13 var node = []; 14 - var match; 15 16 - if (match = (0, _reghex._exec)(state, _node_expression)) { 17 - node.push(match); 18 } else { 19 - state.index = index_1; 20 return; 21 } 22 23 - if (match = (0, _reghex._exec)(state, _node_expression2)) { 24 - node.push(match); 25 } else { 26 - state.index = index_1; 27 return; 28 } 29 30 - node.tag = 'node'; 31 return node; 32 };" 33 `; ··· 38 `; 39 40 exports[`works with local recursion 1`] = ` 41 - "import { match as m, tag, _exec, _pattern } from 'reghex'; 42 43 const inner = function (state) { 44 - var index_1 = state.index; 45 var node = []; 46 - var match; 47 48 - if (match = _exec(state, \\"inner\\")) { 49 - node.push(match); 50 } else { 51 - state.index = index_1; 52 return; 53 } 54 55 - node.tag = 'inner'; 56 return node; 57 }; 58 59 const node = function (state) { 60 - var index_1 = state.index; 61 var node = []; 62 - var match; 63 64 - if (match = inner(state)) { 65 - node.push(match); 66 } else { 67 - state.index = index_1; 68 return; 69 } 70 71 - node.tag = 'node'; 72 return node; 73 };" 74 `; 75 76 exports[`works with non-capturing groups 1`] = ` 77 - "import { match, _exec, _pattern, tag as _tag } from 'reghex'; 78 79 var _node_expression = _pattern(1), 80 _node_expression2 = _pattern(2), 81 _node_expression3 = _pattern(3); 82 83 const node = function (state) { 84 - var index_1 = state.index; 85 var node = []; 86 - var match; 87 88 - if (match = _exec(state, _node_expression)) { 89 - node.push(match); 90 } else { 91 - state.index = index_1; 92 return; 93 } 94 95 - var length_2 = node.length; 96 97 - alternation_3: { 98 block_3: { 99 - var index_3 = state.index; 100 101 - if (match = _exec(state, _node_expression2)) { 102 - node.push(match); 103 } else { 104 - state.index = index_3; 105 - node.length = length_2; 106 break block_3; 107 } 108 109 - break alternation_3; 110 } 111 112 - loop_3: for (var count_3 = 0; true; count_3++) { 113 - var index_3 = state.index; 114 115 - if (!_exec(state, _node_expression3)) { 116 - if (count_3) { 117 - state.index = index_3; 118 - break loop_3; 119 - } else {} 120 121 - state.index = index_1; 122 - node.length = length_2; 123 - return; 124 } 125 } 126 } 127 128 - node.tag = 'node'; 129 return node; 130 };" 131 `; 132 133 exports[`works with standard features 1`] = ` 134 - "import { match, _exec, _pattern, tag as _tag } from \\"reghex\\"; 135 136 var _node_expression = _pattern(1), 137 _node_expression2 = _pattern(2), ··· 140 _node_expression5 = _pattern(5); 141 142 const node = function (state) { 143 - var index_1 = state.index; 144 var node = []; 145 - var match; 146 147 - alternation_2: { 148 block_2: { 149 - var index_2 = state.index; 150 151 - loop_2: for (var count_2 = 0; true; count_2++) { 152 - var index_2 = state.index; 153 154 - if (match = _exec(state, _node_expression)) { 155 - node.push(match); 156 } else { 157 - if (count_2) { 158 - state.index = index_2; 159 - break loop_2; 160 - } else {} 161 - 162 - state.index = index_2; 163 - break block_2; 164 } 165 } 166 167 - break alternation_2; 168 } 169 170 - loop_2: for (var count_2 = 0; true; count_2++) { 171 - var index_2 = state.index; 172 173 - if (match = _exec(state, _node_expression2)) { 174 - node.push(match); 175 - } else { 176 - if (count_2) { 177 - state.index = index_2; 178 - break loop_2; 179 - } else {} 180 181 - state.index = index_1; 182 - return; 183 } 184 } 185 186 - loop_2: while (true) { 187 - var index_2 = state.index; 188 - var length_2 = node.length; 189 190 - if (match = _exec(state, _node_expression3)) { 191 - node.push(match); 192 } else { 193 - state.index = index_2; 194 - node.length = length_2; 195 - break loop_2; 196 } 197 198 - var index_4 = state.index; 199 200 - if (match = _exec(state, _node_expression4)) { 201 - node.push(match); 202 } else { 203 - state.index = index_4; 204 } 205 206 - if (match = _exec(state, _node_expression5)) { 207 - node.push(match); 208 } else { 209 - state.index = index_2; 210 - node.length = length_2; 211 - break loop_2; 212 } 213 } 214 } 215 216 - node.tag = 'node'; 217 return node; 218 };" 219 `; 220 221 exports[`works with transform functions 1`] = ` 222 - "import { match, _exec, _pattern, tag as _tag } from 'reghex'; 223 224 var _inner_transform = x => x; 225 226 const first = function (state) { 227 - var index_1 = state.index; 228 var node = []; 229 - var match; 230 - node.tag = 'inner'; 231 return _inner_transform(node); 232 }; 233 234 const transform = x => x; 235 236 const second = function (state) { 237 - var index_1 = state.index; 238 var node = []; 239 - var match; 240 - node.tag = 'node'; 241 return transform(node); 242 };" 243 `;
··· 1 // Jest Snapshot v1, https://goo.gl/fbAQLP 2 3 + exports[`deduplicates hoisted expressions 1`] = ` 4 + "import { match, __pattern as _pattern } from \\"reghex\\"; 5 + const re = /1/; 6 + const str = '1'; 7 + 8 + var _re_expression = _pattern(re), 9 + _str_expression = _pattern(str); 10 + 11 + const a = function (state) { 12 + var y1 = state.y, 13 + x1 = state.x; 14 + var node = []; 15 + var x; 16 + 17 + if ((x = _re_expression(state)) != null) { 18 + node.push(x); 19 + } else { 20 + state.y = y1; 21 + state.x = x1; 22 + return; 23 + } 24 + 25 + if ((x = _str_expression(state)) != null) { 26 + node.push(x); 27 + } else { 28 + state.y = y1; 29 + state.x = x1; 30 + return; 31 + } 32 + 33 + if ('a') node.tag = 'a'; 34 + return node; 35 + }; 36 + 37 + var _b_expression = _pattern('2'); 38 + 39 + const b = function (state) { 40 + var y1 = state.y, 41 + x1 = state.x; 42 + var node = []; 43 + var x; 44 + 45 + if ((x = _re_expression(state)) != null) { 46 + node.push(x); 47 + } else { 48 + state.y = y1; 49 + state.x = x1; 50 + return; 51 + } 52 + 53 + if ((x = _b_expression(state)) != null) { 54 + node.push(x); 55 + } else { 56 + state.y = y1; 57 + state.x = x1; 58 + return; 59 + } 60 + 61 + if ('b') node.tag = 'b'; 62 + return node; 63 + };" 64 + `; 65 + 66 exports[`works together with @babel/plugin-transform-modules-commonjs 1`] = ` 67 "\\"use strict\\"; 68 69 var _reghex = require(\\"reghex\\"); 70 71 + var _node_expression = (0, _reghex.__pattern)(1), 72 + _node_expression2 = (0, _reghex.__pattern)(2); 73 74 const node = function (state) { 75 + var y1 = state.y, 76 + x1 = state.x; 77 var node = []; 78 + var x; 79 80 + if ((x = _node_expression(state)) != null) { 81 + node.push(x); 82 } else { 83 + state.y = y1; 84 + state.x = x1; 85 return; 86 } 87 88 + if ((x = _node_expression2(state)) != null) { 89 + node.push(x); 90 } else { 91 + state.y = y1; 92 + state.x = x1; 93 return; 94 } 95 96 + if ('node') node.tag = 'node'; 97 return node; 98 };" 99 `; ··· 104 `; 105 106 exports[`works with local recursion 1`] = ` 107 + "import { match as m, tag, __pattern as _pattern } from 'reghex'; 108 + 109 + var _inner_expression = _pattern(/inner/); 110 111 const inner = function (state) { 112 + var y1 = state.y, 113 + x1 = state.x; 114 var node = []; 115 + var x; 116 117 + if ((x = _inner_expression(state)) != null) { 118 + node.push(x); 119 } else { 120 + state.y = y1; 121 + state.x = x1; 122 return; 123 } 124 125 + if ('inner') node.tag = 'inner'; 126 return node; 127 }; 128 129 const node = function (state) { 130 + var y1 = state.y, 131 + x1 = state.x; 132 var node = []; 133 + var x; 134 135 + if ((x = inner(state)) != null) { 136 + node.push(x); 137 } else { 138 + state.y = y1; 139 + state.x = x1; 140 return; 141 } 142 143 + if ('node') node.tag = 'node'; 144 + return node; 145 + };" 146 + `; 147 + 148 + exports[`works with nameless matchers 1`] = ` 149 + "import { match, __pattern as _pattern } from \\"reghex\\"; 150 + 151 + var _objectObject_expression = _pattern(1), 152 + _objectObject_expression2 = _pattern(2), 153 + _objectObject_expression3 = _pattern(3), 154 + _objectObject_expression4 = _pattern(4), 155 + _objectObject_expression5 = _pattern(5); 156 + 157 + const node = function (state) { 158 + var y1 = state.y, 159 + x1 = state.x; 160 + var node = []; 161 + var x; 162 + 163 + alt_2: { 164 + block_2: { 165 + var y2 = state.y, 166 + x2 = state.x; 167 + 168 + if ((x = _objectObject_expression(state)) != null) { 169 + node.push(x); 170 + } else { 171 + state.y = y2; 172 + state.x = x2; 173 + break block_2; 174 + } 175 + 176 + group_2: for (;;) { 177 + var y2 = state.y, 178 + x2 = state.x; 179 + 180 + if ((x = _objectObject_expression(state)) != null) { 181 + node.push(x); 182 + } else { 183 + state.y = y2; 184 + state.x = x2; 185 + break group_2; 186 + } 187 + } 188 + 189 + break alt_2; 190 + } 191 + 192 + if ((x = _objectObject_expression2(state)) != null) { 193 + node.push(x); 194 + } else { 195 + state.y = y1; 196 + state.x = x1; 197 + return; 198 + } 199 + 200 + group_2: for (;;) { 201 + var y2 = state.y, 202 + x2 = state.x; 203 + 204 + if ((x = _objectObject_expression2(state)) != null) { 205 + node.push(x); 206 + } else { 207 + state.y = y2; 208 + state.x = x2; 209 + break group_2; 210 + } 211 + } 212 + 213 + group_2: for (;;) { 214 + var y2 = state.y, 215 + x2 = state.x; 216 + var ln2 = node.length; 217 + 218 + if ((x = _objectObject_expression3(state)) != null) { 219 + node.push(x); 220 + } else { 221 + state.y = y2; 222 + state.x = x2; 223 + node.length = ln2; 224 + break group_2; 225 + } 226 + 227 + var y4 = state.y, 228 + x4 = state.x; 229 + 230 + if ((x = _objectObject_expression4(state)) != null) { 231 + node.push(x); 232 + } else { 233 + state.y = y4; 234 + state.x = x4; 235 + } 236 + 237 + if ((x = _objectObject_expression5(state)) != null) { 238 + node.push(x); 239 + } else { 240 + state.y = y2; 241 + state.x = x2; 242 + node.length = ln2; 243 + break group_2; 244 + } 245 + } 246 + } 247 + 248 + if (null) node.tag = null; 249 return node; 250 };" 251 `; 252 253 exports[`works with non-capturing groups 1`] = ` 254 + "import { match, __pattern as _pattern } from 'reghex'; 255 256 var _node_expression = _pattern(1), 257 _node_expression2 = _pattern(2), 258 _node_expression3 = _pattern(3); 259 260 const node = function (state) { 261 + var y1 = state.y, 262 + x1 = state.x; 263 var node = []; 264 + var x; 265 266 + if ((x = _node_expression(state)) != null) { 267 + node.push(x); 268 } else { 269 + state.y = y1; 270 + state.x = x1; 271 return; 272 } 273 274 + var ln2 = node.length; 275 276 + alt_3: { 277 block_3: { 278 + var y3 = state.y, 279 + x3 = state.x; 280 281 + if ((x = _node_expression2(state)) != null) { 282 + node.push(x); 283 } else { 284 + state.y = y3; 285 + state.x = x3; 286 + node.length = ln2; 287 break block_3; 288 } 289 290 + break alt_3; 291 } 292 293 + if ((x = _node_expression3(state)) == null) { 294 + state.y = y1; 295 + state.x = x1; 296 + node.length = ln2; 297 + return; 298 + } 299 300 + group_3: for (;;) { 301 + var y3 = state.y, 302 + x3 = state.x; 303 304 + if ((x = _node_expression3(state)) == null) { 305 + state.y = y3; 306 + state.x = x3; 307 + break group_3; 308 } 309 } 310 } 311 312 + if ('node') node.tag = 'node'; 313 + return node; 314 + };" 315 + `; 316 + 317 + exports[`works with self-referential thunks 1`] = ` 318 + "import { match, tag, __pattern as _pattern } from 'reghex'; 319 + 320 + const inner = function (state) { 321 + var y1 = state.y, 322 + x1 = state.x; 323 + var node = []; 324 + var x; 325 + 326 + if ((x = node(state)) != null) { 327 + node.push(x); 328 + } else { 329 + state.y = y1; 330 + state.x = x1; 331 + return; 332 + } 333 + 334 + if ('inner') node.tag = 'inner'; 335 + return node; 336 + }; 337 + 338 + const node = function (state) { 339 + var y1 = state.y, 340 + x1 = state.x; 341 + var node = []; 342 + var x; 343 + 344 + if ((x = inner(state)) != null) { 345 + node.push(x); 346 + } else { 347 + state.y = y1; 348 + state.x = x1; 349 + return; 350 + } 351 + 352 + if ('node') node.tag = 'node'; 353 return node; 354 };" 355 `; 356 357 exports[`works with standard features 1`] = ` 358 + "import { match, __pattern as _pattern } from \\"reghex\\"; 359 360 var _node_expression = _pattern(1), 361 _node_expression2 = _pattern(2), ··· 364 _node_expression5 = _pattern(5); 365 366 const node = function (state) { 367 + var y1 = state.y, 368 + x1 = state.x; 369 var node = []; 370 + var x; 371 372 + alt_2: { 373 block_2: { 374 + var y2 = state.y, 375 + x2 = state.x; 376 + 377 + if ((x = _node_expression(state)) != null) { 378 + node.push(x); 379 + } else { 380 + state.y = y2; 381 + state.x = x2; 382 + break block_2; 383 + } 384 385 + group_2: for (;;) { 386 + var y2 = state.y, 387 + x2 = state.x; 388 389 + if ((x = _node_expression(state)) != null) { 390 + node.push(x); 391 } else { 392 + state.y = y2; 393 + state.x = x2; 394 + break group_2; 395 } 396 } 397 398 + break alt_2; 399 } 400 401 + if ((x = _node_expression2(state)) != null) { 402 + node.push(x); 403 + } else { 404 + state.y = y1; 405 + state.x = x1; 406 + return; 407 + } 408 409 + group_2: for (;;) { 410 + var y2 = state.y, 411 + x2 = state.x; 412 413 + if ((x = _node_expression2(state)) != null) { 414 + node.push(x); 415 + } else { 416 + state.y = y2; 417 + state.x = x2; 418 + break group_2; 419 } 420 } 421 422 + group_2: for (;;) { 423 + var y2 = state.y, 424 + x2 = state.x; 425 + var ln2 = node.length; 426 427 + if ((x = _node_expression3(state)) != null) { 428 + node.push(x); 429 } else { 430 + state.y = y2; 431 + state.x = x2; 432 + node.length = ln2; 433 + break group_2; 434 } 435 436 + var y4 = state.y, 437 + x4 = state.x; 438 439 + if ((x = _node_expression4(state)) != null) { 440 + node.push(x); 441 } else { 442 + state.y = y4; 443 + state.x = x4; 444 } 445 446 + if ((x = _node_expression5(state)) != null) { 447 + node.push(x); 448 } else { 449 + state.y = y2; 450 + state.x = x2; 451 + node.length = ln2; 452 + break group_2; 453 } 454 } 455 } 456 457 + if ('node') node.tag = 'node'; 458 return node; 459 };" 460 `; 461 462 exports[`works with transform functions 1`] = ` 463 + "import { match, __pattern as _pattern } from 'reghex'; 464 465 var _inner_transform = x => x; 466 467 const first = function (state) { 468 + var y1 = state.y, 469 + x1 = state.x; 470 var node = []; 471 + var x; 472 + if ('inner') node.tag = 'inner'; 473 return _inner_transform(node); 474 }; 475 476 const transform = x => x; 477 478 const second = function (state) { 479 + var y1 = state.y, 480 + x1 = state.x; 481 var node = []; 482 + var x; 483 + if ('node') node.tag = 'node'; 484 return transform(node); 485 };" 486 `;
+58
src/babel/plugin.test.js
··· 16 ).toMatchSnapshot(); 17 }); 18 19 it('works while only minifying', () => { 20 const code = ` 21 import { match } from 'reghex/macro'; ··· 34 ).toMatchSnapshot(); 35 }); 36 37 it('works with local recursion', () => { 38 // NOTE: A different default name is allowed 39 const code = ` ··· 44 \`; 45 46 const node = m('node')\` 47 \${inner} 48 \`; 49 `;
··· 16 ).toMatchSnapshot(); 17 }); 18 19 + it('works with nameless matchers', () => { 20 + const code = ` 21 + import { match } from 'reghex/macro'; 22 + 23 + const node = match()\` 24 + \${1}+ | \${2}+ (\${3} ( \${4}? \${5} ) )* 25 + \`; 26 + `; 27 + 28 + expect( 29 + transform(code, { babelrc: false, presets: [], plugins: [reghexPlugin] }) 30 + .code 31 + ).toMatchSnapshot(); 32 + }); 33 + 34 it('works while only minifying', () => { 35 const code = ` 36 import { match } from 'reghex/macro'; ··· 49 ).toMatchSnapshot(); 50 }); 51 52 + it('deduplicates hoisted expressions', () => { 53 + const code = ` 54 + import { match } from 'reghex/macro'; 55 + 56 + const re = /1/; 57 + const str = '1'; 58 + 59 + const a = match('a')\` 60 + \${re} 61 + \${str} 62 + \`; 63 + 64 + const b = match('b')\` 65 + \${re} 66 + \${'2'} 67 + \`; 68 + `; 69 + 70 + expect( 71 + transform(code, { babelrc: false, presets: [], plugins: [reghexPlugin] }) 72 + .code 73 + ).toMatchSnapshot(); 74 + }); 75 + 76 it('works with local recursion', () => { 77 // NOTE: A different default name is allowed 78 const code = ` ··· 83 \`; 84 85 const node = m('node')\` 86 + \${inner} 87 + \`; 88 + `; 89 + 90 + expect( 91 + transform(code, { babelrc: false, presets: [], plugins: [reghexPlugin] }) 92 + .code 93 + ).toMatchSnapshot(); 94 + }); 95 + 96 + it('works with self-referential thunks', () => { 97 + const code = ` 98 + import { match, tag } from 'reghex'; 99 + 100 + const inner = match('inner')\` 101 + \${() => node} 102 + \`; 103 + 104 + const node = match('node')\` 105 \${inner} 106 \`; 107 `;
-20
src/babel/sharedIds.js
··· 1 - export class SharedIds { 2 - constructor(t) { 3 - this.t = t; 4 - this.execId = t.identifier('_exec'); 5 - this.patternId = t.identifier('_pattern'); 6 - this.tagId = t.identifier('tag'); 7 - } 8 - 9 - get exec() { 10 - return this.t.identifier(this.execId.name); 11 - } 12 - 13 - get pattern() { 14 - return this.t.identifier(this.patternId.name); 15 - } 16 - 17 - get tag() { 18 - return this.t.identifier(this.tagId.name); 19 - } 20 - }
···
+58 -53
src/babel/transform.js
··· 1 - import { parse } from '../parser'; 2 import { astRoot } from '../codegen'; 3 - import { SharedIds } from './sharedIds'; 4 5 export function makeHelpers({ types: t, template }) { 6 const regexPatternsRe = /^[()\[\]|.+?*]|[^\\][()\[\]|.+?*$^]|\\[wdsWDS]/; 7 const importSourceRe = /reghex$|^reghex\/macro/; 8 const importName = 'reghex'; 9 - const ids = new SharedIds(t); 10 11 let _hasUpdatedImport = false; 12 13 return { 14 /** Adds the reghex import declaration to the Program scope */ ··· 21 path.node.source = t.stringLiteral(importName); 22 } 23 24 path.node.specifiers.push( 25 - t.importSpecifier( 26 - (ids.execId = path.scope.generateUidIdentifier('exec')), 27 - t.identifier('_exec') 28 - ), 29 - t.importSpecifier( 30 - (ids.patternId = path.scope.generateUidIdentifier('pattern')), 31 - t.identifier('_pattern') 32 - ) 33 ); 34 35 const tagImport = path.node.specifiers.find((node) => { 36 - return t.isImportSpecifier(node) && node.imported.name === 'tag'; 37 }); 38 39 if (!tagImport) { 40 path.node.specifiers.push( 41 t.importSpecifier( 42 - (ids.tagId = path.scope.generateUidIdentifier('tag')), 43 - t.identifier('tag') 44 ) 45 ); 46 } else { 47 - ids.tagId = tagImport.imported; 48 } 49 }, 50 ··· 87 getMatchName(path) { 88 t.assertTaggedTemplateExpression(path.node); 89 const nameArgumentPath = path.get('tag.arguments.0'); 90 - const { confident, value } = nameArgumentPath.evaluate(); 91 - if (!confident && t.isIdentifier(nameArgumentPath.node)) { 92 - return nameArgumentPath.node.name; 93 - } else if (confident && typeof value === 'string') { 94 - return value; 95 - } else { 96 - return path.scope.generateUidIdentifierBasedOnNode(path.node); 97 } 98 }, 99 100 /** Given a match, hoists its expressions in front of the match's statement */ ··· 107 const hoistedExpressions = path.node.quasi.expressions.map( 108 (expression, i) => { 109 if ( 110 t.isIdentifier(expression) && 111 - path.scope.hasBinding(expression.name) 112 - ) { 113 const binding = path.scope.getBinding(expression.name); 114 if (t.isVariableDeclarator(binding.path.node)) { 115 const matchPath = binding.path.get('init'); 116 - if (this.isMatch(matchPath)) return expression; 117 } 118 - } else if ( 119 - t.isRegExpLiteral(expression) && 120 - !regexPatternsRe.test(expression.pattern) 121 - ) { 122 - // NOTE: This is an optimisation path, where the pattern regex is inlined 123 - // and has determined to be "simple" enough to be turned into a string 124 - return t.stringLiteral( 125 - expression.pattern.replace(/\\./g, (x) => x[1]) 126 - ); 127 } 128 129 const id = path.scope.generateUidIdentifier( 130 - `${matchName}_expression` 131 ); 132 133 variableDeclarators.push( 134 t.variableDeclarator( 135 id, 136 - t.callExpression(ids.pattern, [expression]) 137 ) 138 ); 139 140 return id; 141 } 142 ); ··· 151 const binding = path.scope.getBinding(id.name); 152 if (binding && t.isVariableDeclarator(binding.path.node)) { 153 const matchPath = binding.path.get('init'); 154 - if (this.isMatch(matchPath)) return `${id.name}(state)`; 155 } 156 157 const input = t.isStringLiteral(id) 158 ? JSON.stringify(id.value) 159 : id.name; 160 - return `${ids.exec.name}(state, ${input})`; 161 }); 162 }, 163 ··· 179 }, 180 181 minifyMatch(path) { 182 - if (!path.node.tag.arguments.length) { 183 - throw path 184 - .get('tag') 185 - .buildCodeFrameError( 186 - 'match() must at least be called with a node name' 187 - ); 188 - } 189 - 190 const quasis = path.node.quasi.quasis.map((x) => 191 t.stringLiteral(x.value.cooked.replace(/\s*/g, '')) 192 ); ··· 202 }, 203 204 transformMatch(path) { 205 - if (!path.node.tag.arguments.length) { 206 - throw path 207 - .get('tag') 208 - .buildCodeFrameError( 209 - 'match() must at least be called with a node name' 210 - ); 211 } 212 213 - const name = path.node.tag.arguments[0]; 214 const quasis = path.node.quasi.quasis.map((x) => x.value.cooked); 215 216 const expressions = this._prepareExpressions(path);
··· 1 import { astRoot } from '../codegen'; 2 + import { parse } from '../parser'; 3 4 export function makeHelpers({ types: t, template }) { 5 const regexPatternsRe = /^[()\[\]|.+?*]|[^\\][()\[\]|.+?*$^]|\\[wdsWDS]/; 6 const importSourceRe = /reghex$|^reghex\/macro/; 7 const importName = 'reghex'; 8 9 let _hasUpdatedImport = false; 10 + let _matchId = t.identifier('match'); 11 + let _patternId = t.identifier('__pattern'); 12 + 13 + const _hoistedExpressions = new Map(); 14 15 return { 16 /** Adds the reghex import declaration to the Program scope */ ··· 23 path.node.source = t.stringLiteral(importName); 24 } 25 26 + _patternId = path.scope.generateUidIdentifier('_pattern'); 27 path.node.specifiers.push( 28 + t.importSpecifier(_patternId, t.identifier('__pattern')) 29 ); 30 31 const tagImport = path.node.specifiers.find((node) => { 32 + return t.isImportSpecifier(node) && node.imported.name === 'match'; 33 }); 34 35 if (!tagImport) { 36 path.node.specifiers.push( 37 t.importSpecifier( 38 + (_matchId = path.scope.generateUidIdentifier('match')), 39 + t.identifier('match') 40 ) 41 ); 42 } else { 43 + _matchId = tagImport.imported; 44 } 45 }, 46 ··· 83 getMatchName(path) { 84 t.assertTaggedTemplateExpression(path.node); 85 const nameArgumentPath = path.get('tag.arguments.0'); 86 + if (nameArgumentPath) { 87 + const { confident, value } = nameArgumentPath.evaluate(); 88 + if (!confident && t.isIdentifier(nameArgumentPath.node)) { 89 + return nameArgumentPath.node.name; 90 + } else if (confident && typeof value === 'string') { 91 + return value; 92 + } 93 } 94 + 95 + return path.scope.generateUidIdentifierBasedOnNode(path.node); 96 }, 97 98 /** Given a match, hoists its expressions in front of the match's statement */ ··· 105 const hoistedExpressions = path.node.quasi.expressions.map( 106 (expression, i) => { 107 if ( 108 + t.isArrowFunctionExpression(expression) && 109 + t.isIdentifier(expression.body) 110 + ) { 111 + expression = expression.body; 112 + } else if ( 113 + (t.isFunctionExpression(expression) || 114 + t.isArrowFunctionExpression(expression)) && 115 + t.isBlockStatement(expression.body) && 116 + expression.body.body.length === 1 && 117 + t.isReturnStatement(expression.body.body[0]) && 118 + t.isIdentifier(expression.body.body[0].argument) 119 + ) { 120 + expression = expression.body.body[0].argument; 121 + } 122 + 123 + const isBindingExpression = 124 t.isIdentifier(expression) && 125 + path.scope.hasBinding(expression.name); 126 + if (isBindingExpression) { 127 const binding = path.scope.getBinding(expression.name); 128 if (t.isVariableDeclarator(binding.path.node)) { 129 const matchPath = binding.path.get('init'); 130 + if (this.isMatch(matchPath)) { 131 + return expression; 132 + } else if (_hoistedExpressions.has(expression.name)) { 133 + return t.identifier(_hoistedExpressions.get(expression.name)); 134 + } 135 } 136 } 137 138 const id = path.scope.generateUidIdentifier( 139 + isBindingExpression 140 + ? `${expression.name}_expression` 141 + : `${matchName}_expression` 142 ); 143 144 variableDeclarators.push( 145 t.variableDeclarator( 146 id, 147 + t.callExpression(t.identifier(_patternId.name), [expression]) 148 ) 149 ); 150 151 + if (t.isIdentifier(expression)) { 152 + _hoistedExpressions.set(expression.name, id.name); 153 + } 154 + 155 return id; 156 } 157 ); ··· 166 const binding = path.scope.getBinding(id.name); 167 if (binding && t.isVariableDeclarator(binding.path.node)) { 168 const matchPath = binding.path.get('init'); 169 + if (this.isMatch(matchPath)) { 170 + return { fn: true, id: id.name }; 171 + } 172 } 173 174 const input = t.isStringLiteral(id) 175 ? JSON.stringify(id.value) 176 : id.name; 177 + return { fn: false, id: input }; 178 }); 179 }, 180 ··· 196 }, 197 198 minifyMatch(path) { 199 const quasis = path.node.quasi.quasis.map((x) => 200 t.stringLiteral(x.value.cooked.replace(/\s*/g, '')) 201 ); ··· 211 }, 212 213 transformMatch(path) { 214 + let name = path.node.tag.arguments[0]; 215 + if (!name) { 216 + name = t.nullLiteral(); 217 } 218 219 const quasis = path.node.quasi.quasis.map((x) => x.value.cooked); 220 221 const expressions = this._prepareExpressions(path);
+108 -142
src/codegen.js
··· 1 const _state = 'state'; 2 - const _match = 'match'; 3 const _node = 'node'; 4 5 function js(/* arguments */) { 6 let body = arguments[0][0]; ··· 9 return body.trim(); 10 } 11 12 - const assignIndex = (depth) => 13 - depth ? js`var index_${depth} = ${_state}.index;` : ''; 14 15 - const restoreIndex = (depth) => 16 - depth ? js`${_state}.index = index_${depth};` : ''; 17 18 - const abortOnCondition = (condition, hooks) => js` 19 - if (${condition}) { 20 - ${restoreIndex(opts.index)} 21 - ${opts.abort || ''} 22 - } else { 23 - ${opts.onAbort || ''} 24 - } 25 `; 26 27 const astExpression = (ast, depth, opts) => { 28 const restoreLength = 29 - opts.length && 30 - opts.abort && 31 - js` 32 - ${_node}.length = length_${opts.length}; 33 - `; 34 - 35 - const abort = js` 36 - ${opts.onAbort || ''} 37 - ${restoreIndex(opts.index)} 38 - ${restoreLength || ''} 39 - ${opts.abort || ''} 40 - `; 41 - 42 - if (!opts.capturing) { 43 - return js` 44 - if (!(${ast.expression})) { 45 - ${abort} 46 - } 47 - `; 48 - } 49 - 50 return js` 51 - if (${_match} = ${ast.expression}) { 52 ${_node}.push(${_match}); 53 - } else { 54 - ${abort} 55 } 56 `; 57 }; 58 59 const astGroup = (ast, depth, opts) => { 60 - if (ast.sequence.length === 1) 61 - return astExpression(ast.sequence[0], depth, opts); 62 63 - const capturing = !!opts.capturing && !!ast.capturing; 64 65 - let group = ''; 66 - if (!opts.length && capturing) { 67 return js` 68 - ${js`var length_${depth} = ${_node}.length;`} 69 - ${astSequence(ast.sequence, depth + 1, { 70 - ...opts, 71 - length: depth, 72 - capturing, 73 - })} 74 `; 75 } 76 77 - return astSequence(ast.sequence, depth + 1, { 78 - ...opts, 79 - capturing, 80 - }); 81 }; 82 83 const astChild = (ast, depth, opts) => 84 - ast.type === 'expression' 85 - ? astExpression(ast, depth, opts) 86 - : astGroup(ast, depth, opts); 87 - 88 - const astRepeating = (ast, depth, opts) => { 89 - const label = `loop_${depth}`; 90 - const count = `count_${depth}`; 91 - return js` 92 - ${label}: for (var ${count} = 0; true; ${count}++) { 93 - ${assignIndex(depth)} 94 - ${astChild(ast, depth, { 95 - ...opts, 96 - onAbort: js` 97 - if (${count}) { 98 - ${restoreIndex(depth)} 99 - break ${label}; 100 - } else { 101 - ${opts.onAbort || ''} 102 - } 103 - `, 104 - })} 105 - } 106 - `; 107 - }; 108 - 109 - const astMultiple = (ast, depth, opts) => { 110 - const label = `loop_${depth}`; 111 - return js` 112 - ${label}: while (true) { 113 - ${assignIndex(depth)} 114 - ${astChild(ast, depth, { 115 - ...opts, 116 - length: 0, 117 - index: depth, 118 - abort: js`break ${label};`, 119 - onAbort: '', 120 - })} 121 - } 122 - `; 123 - }; 124 - 125 - const astOptional = (ast, depth, opts) => js` 126 - ${assignIndex(depth)} 127 - ${astChild(ast, depth, { 128 - ...opts, 129 - index: depth, 130 - abort: '', 131 - onAbort: '', 132 - })} 133 - `; 134 135 const astQuantifier = (ast, depth, opts) => { 136 const { index, abort } = opts; 137 - const label = `invert_${depth}`; 138 139 - if (ast.lookahead === 'negative') { 140 - opts = { 141 - ...opts, 142 - index: depth, 143 - abort: js`break ${label};`, 144 - }; 145 } 146 147 let child; 148 - if (ast.quantifier === 'repeating') { 149 - child = astRepeating(ast, depth, opts); 150 - } else if (ast.quantifier === 'multiple') 151 - child = astMultiple(ast, depth, opts); 152 - else if (ast.quantifier === 'optional') child = astOptional(ast, depth, opts); 153 - else child = astChild(ast, depth, opts); 154 155 - if (ast.lookahead === 'negative') { 156 return js` 157 - ${label}: { 158 ${assignIndex(depth)} 159 ${child} 160 ${restoreIndex(index)} 161 ${abort} 162 } 163 `; 164 - } else if (ast.lookahead) { 165 return js` 166 ${assignIndex(depth)} 167 ${child} ··· 173 }; 174 175 const astSequence = (ast, depth, opts) => { 176 - const alternation = ast.alternation ? `alternation_${depth}` : ''; 177 178 let body = ''; 179 for (; ast; ast = ast.alternation) { ··· 181 182 let childOpts = opts; 183 if (ast.alternation) { 184 - childOpts = { 185 - ...childOpts, 186 - index: depth, 187 - abort: js`break ${block};`, 188 - onAbort: '', 189 - }; 190 } 191 192 let sequence = ''; 193 - for (let i = 0; i < ast.sequence.length; i++) 194 - sequence += astQuantifier(ast.sequence[i], depth, childOpts); 195 196 if (!ast.alternation) { 197 body += sequence; ··· 215 `; 216 }; 217 218 - const astRoot = (ast, name, transform) => js` 219 - (function (${_state}) { 220 - ${assignIndex(1)} 221 - var ${_node} = []; 222 - var ${_match}; 223 224 - ${astSequence(ast, 2, { 225 - index: 1, 226 - length: 0, 227 - onAbort: '', 228 - abort: js`return;`, 229 - capturing: true, 230 - })} 231 232 - ${_node}.tag = ${name}; 233 - return ${transform ? js`(${transform})(${_node})` : _node}; 234 - }) 235 - `; 236 237 export { astRoot };
··· 1 const _state = 'state'; 2 const _node = 'node'; 3 + const _match = 'x'; 4 5 function js(/* arguments */) { 6 let body = arguments[0][0]; ··· 9 return body.trim(); 10 } 11 12 + const copy = (prev) => { 13 + const next = {}; 14 + for (const key in prev) next[key] = prev[key]; 15 + return next; 16 + }; 17 18 + const assignIndex = (depth) => js` 19 + var y${depth} = ${_state}.y, 20 + x${depth} = ${_state}.x; 21 + `; 22 23 + const restoreIndex = (depth) => js` 24 + ${_state}.y = y${depth}; 25 + ${_state}.x = x${depth}; 26 `; 27 28 const astExpression = (ast, depth, opts) => { 29 + const capture = !!opts.capture && !ast.capture; 30 const restoreLength = 31 + (opts.length && opts.abort && js`${_node}.length = ln${opts.length};`) || 32 + ''; 33 + const condition = `(${_match} = ${ast.expression.id}(${_state})) ${ 34 + capture ? '!=' : '==' 35 + } null`; 36 return js` 37 + if (${condition}) ${ 38 + capture 39 + ? js`{ 40 ${_node}.push(${_match}); 41 + } else ` 42 + : '' 43 + }{ 44 + ${restoreIndex(opts.index)} 45 + ${restoreLength} 46 + ${opts.abort} 47 } 48 `; 49 }; 50 51 const astGroup = (ast, depth, opts) => { 52 + const capture = !!opts.capture && !ast.capture; 53 54 + opts = copy(opts); 55 + opts.capture = capture; 56 57 + if (!opts.length && capture) { 58 + opts.length = depth; 59 return js` 60 + ${js`var ln${depth} = ${_node}.length;`} 61 + ${astSequence(ast.sequence, depth + 1, opts)} 62 `; 63 } 64 65 + return astSequence(ast.sequence, depth + 1, opts); 66 }; 67 68 const astChild = (ast, depth, opts) => 69 + ast.expression ? astExpression(ast, depth, opts) : astGroup(ast, depth, opts); 70 71 const astQuantifier = (ast, depth, opts) => { 72 const { index, abort } = opts; 73 + const invert = `inv_${depth}`; 74 + const group = `group_${depth}`; 75 76 + opts = copy(opts); 77 + if (ast.capture === '!') { 78 + opts.index = depth; 79 + opts.abort = js`break ${invert}`; 80 } 81 82 let child; 83 + if (ast.quantifier === '+') { 84 + const starAst = copy(ast); 85 + starAst.quantifier = '*'; 86 + child = js` 87 + ${astChild(ast, depth, opts)} 88 + ${astQuantifier(starAst, depth, opts)} 89 + `; 90 + } else if (ast.quantifier === '*') { 91 + opts.length = 0; 92 + opts.index = depth; 93 + opts.abort = js`break ${group};`; 94 + 95 + child = js` 96 + ${group}: for (;;) { 97 + ${assignIndex(depth)} 98 + ${astChild(ast, depth, opts)} 99 + } 100 + `; 101 + } else if (ast.quantifier === '?' && ast.expression) { 102 + opts.index = depth; 103 + opts.abort = ''; 104 + 105 + child = js` 106 + ${assignIndex(depth)} 107 + ${astChild(ast, depth, opts)} 108 + `; 109 + } else if (ast.quantifier === '?') { 110 + opts.index = depth; 111 + opts.abort = js`break ${group}`; 112 + 113 + child = js` 114 + ${group}: { 115 + ${assignIndex(depth)} 116 + ${astChild(ast, depth, opts)} 117 + } 118 + `; 119 + } else { 120 + child = astChild(ast, depth, opts); 121 + } 122 123 + if (ast.capture === '!') { 124 return js` 125 + ${invert}: { 126 ${assignIndex(depth)} 127 ${child} 128 ${restoreIndex(index)} 129 ${abort} 130 } 131 `; 132 + } else if (ast.capture === '=') { 133 return js` 134 ${assignIndex(depth)} 135 ${child} ··· 141 }; 142 143 const astSequence = (ast, depth, opts) => { 144 + const alternation = ast.alternation ? `alt_${depth}` : ''; 145 146 let body = ''; 147 for (; ast; ast = ast.alternation) { ··· 149 150 let childOpts = opts; 151 if (ast.alternation) { 152 + childOpts = copy(opts); 153 + childOpts.index = depth; 154 + childOpts.abort = js`break ${block};`; 155 } 156 157 let sequence = ''; 158 + for (let i = 0; i < ast.length; i++) 159 + sequence += astQuantifier(ast[i], depth, childOpts); 160 161 if (!ast.alternation) { 162 body += sequence; ··· 180 `; 181 }; 182 183 + const astRoot = (ast, name, transform) => { 184 + return js` 185 + (function (${_state}) { 186 + ${assignIndex(1)} 187 + var ${_node} = []; 188 + var ${_match}; 189 190 + ${astSequence(ast, 2, { 191 + index: 1, 192 + length: 0, 193 + abort: js`return;`, 194 + capture: true, 195 + })} 196 197 + if (${name}) ${_node}.tag = ${name}; 198 + return ${transform ? js`(${transform})(${_node})` : _node}; 199 + }) 200 + `; 201 + }; 202 203 export { astRoot };
+65 -40
src/core.js
··· 3 4 const isStickySupported = typeof /./g.sticky === 'boolean'; 5 6 - export const _pattern = (input) => { 7 - if (typeof input === 'function') return input; 8 - const source = typeof input !== 'string' ? input.source : input; 9 - return isStickySupported 10 - ? new RegExp(source, 'y') 11 - : new RegExp(`^(?:${source})`, 'g'); 12 }; 13 14 - export const _exec = (state, pattern) => { 15 - let match; 16 17 - if (typeof pattern === 'function') { 18 - return pattern(state); 19 - } else if (typeof pattern === 'string') { 20 - const end = state.index + pattern.length; 21 - const sub = state.input.slice(state.index, end); 22 - if (sub === pattern) { 23 - state.index = end; 24 - match = sub; 25 } 26 - } else if (isStickySupported) { 27 - pattern.lastIndex = state.index; 28 - if (pattern.test(state.input)) { 29 - match = state.input.slice(state.index, pattern.lastIndex); 30 - state.index = pattern.lastIndex; 31 - } 32 } else { 33 - pattern.lastIndex = 0; 34 - if (pattern.test(state.input.slice(state.index))) { 35 - const lastIndex = state.index + pattern.lastIndex; 36 - match = state.input.slice(state.index, lastIndex); 37 - state.index = lastIndex; 38 - } 39 } 40 41 return match; 42 }; 43 44 - export const parse = (pattern) => (input) => { 45 - const state = { input, index: 0 }; 46 - return pattern(state); 47 }; 48 49 export const match = (name, transform) => (quasis, ...expressions) => { 50 const ast = parseDSL( 51 quasis, 52 - expressions.map((expression, i) => `_exec(state, _e${i})`) 53 ); 54 - const makeMatcher = new Function( 55 - '_exec', 56 - '_name', 57 - '_transform', 58 - ...expressions.map((_expression, i) => `_e${i}`), 59 - 'return ' + astRoot(ast, '_name', transform ? '_transform' : null) 60 - ); 61 - return makeMatcher(_exec, name, transform, ...expressions.map(_pattern)); 62 };
··· 3 4 const isStickySupported = typeof /./g.sticky === 'boolean'; 5 6 + const execLambda = (pattern) => { 7 + if (pattern.length) return pattern; 8 + return (state) => pattern()(state); 9 + }; 10 + 11 + const execString = (pattern) => { 12 + return (state) => { 13 + if (state.x < state.quasis.length) { 14 + const input = state.quasis[state.x]; 15 + for (let i = 0, l = pattern.length; i < l; i++) 16 + if (input.charCodeAt(state.y + i) !== pattern.charCodeAt(i)) 17 + return null; 18 + state.y += pattern.length; 19 + return pattern; 20 + } 21 + }; 22 }; 23 24 + const execRegex = (pattern) => { 25 + pattern = isStickySupported 26 + ? new RegExp(pattern.source, 'y') 27 + : new RegExp(pattern.source + '|()', 'g'); 28 + return (state) => { 29 + if (state.x < state.quasis.length) { 30 + const input = state.quasis[state.x]; 31 + pattern.lastIndex = state.y; 32 + let match; 33 + if (isStickySupported) { 34 + if (pattern.test(input)) 35 + match = input.slice(state.y, pattern.lastIndex); 36 + } else { 37 + const x = pattern.exec(input); 38 + if (x[1] == null) match = x[0]; 39 + } 40 41 + state.y = pattern.lastIndex; 42 + return match; 43 } 44 + }; 45 + }; 46 + 47 + export const __pattern = (input) => { 48 + if (typeof input === 'function') { 49 + return execLambda(input); 50 + } else if (typeof input === 'string') { 51 + return execString(input); 52 } else { 53 + return execRegex(input); 54 + } 55 + }; 56 + 57 + export const interpolation = (predicate) => (state) => { 58 + let match; 59 + 60 + if ( 61 + state.x < state.expressions.length && 62 + state.y >= state.quasis[state.x].length 63 + ) { 64 + state.y = 0; 65 + match = state.expressions[state.x++]; 66 + if (predicate && match) match = predicate(match); 67 } 68 69 return match; 70 }; 71 72 + export const parse = (matcher) => (quasis, ...expressions) => { 73 + if (typeof quasis === 'string') quasis = [quasis]; 74 + const state = { quasis, expressions, x: 0, y: 0 }; 75 + return matcher(state); 76 }; 77 78 export const match = (name, transform) => (quasis, ...expressions) => { 79 const ast = parseDSL( 80 quasis, 81 + expressions.map((_, i) => ({ id: `_${i}` })) 82 ); 83 + return new Function( 84 + '_n,_t,' + expressions.map((_expression, i) => `_${i}`).join(','), 85 + 'return ' + astRoot(ast, '_n', transform ? '_t' : null) 86 + )(name, transform, ...expressions.map(__pattern)); 87 };
+105 -4
src/core.test.js
··· 1 - import { match } from './core'; 2 3 const expectToParse = (node, input, result, lastIndex = 0) => { 4 - const state = { input, index: 0 }; 5 if (result) result.tag = 'node'; 6 expect(node(state)).toEqual(result); 7 8 // NOTE: After parsing we expect the current index to exactly match the 9 // sum amount of matched characters 10 if (result === undefined) { 11 - expect(state.index).toBe(0); 12 } else { 13 const index = lastIndex || result.reduce((acc, x) => acc + x.length, 0); 14 - expect(state.index).toBe(index); 15 } 16 }; 17 18 describe('required matcher', () => { 19 const node = match('node')`${/1/}`; 20 it.each` ··· 23 ${''} | ${undefined} 24 `('should return $result when $input is passed', ({ input, result }) => { 25 expectToParse(node, input, result); 26 }); 27 }); 28 ··· 110 input | result 111 ${'123'} | ${['1', '2', '3']} 112 ${'3'} | ${['3']} 113 ${'_'} | ${undefined} 114 `('should return $result when $input is passed', ({ input, result }) => { 115 expectToParse(node, input, result); ··· 123 ${'123'} | ${['1', '2', '3']} 124 ${'12123'} | ${['1', '2', '1', '2', '3']} 125 ${'3'} | ${['3']} 126 ${'13'} | ${undefined} 127 ${'_'} | ${undefined} 128 `('should return $result when $input is passed', ({ input, result }) => { ··· 136 input | result 137 ${'123'} | ${['1', '2', '3']} 138 ${'12123'} | ${['1', '2', '1', '2', '3']} 139 ${'3'} | ${undefined} 140 ${'13'} | ${undefined} 141 ${'_'} | ${undefined} ··· 358 ); 359 }); 360 361 describe('non-capturing group with plus matcher, then required matcher', () => { 362 const node = match('node')`(?: ${/1/}+) ${/2/}`; 363 it.each` ··· 445 ); 446 }); 447 448 describe('positive lookahead group with plus matcher', () => { 449 const node = match('node')`(?= ${/1/}+) ${/\d/}`; 450 it.each` ··· 484 485 describe('negative lookahead group', () => { 486 const node = match('node')`(?! ${/1/}) ${/\d/}`; 487 it.each` 488 input | result | lastIndex 489 ${'2'} | ${['2']} | ${1} ··· 552 } 553 ); 554 });
··· 1 + import { parse, match, interpolation } from './core'; 2 3 const expectToParse = (node, input, result, lastIndex = 0) => { 4 + const state = { quasis: [input], expressions: [], x: 0, y: 0 }; 5 if (result) result.tag = 'node'; 6 expect(node(state)).toEqual(result); 7 8 // NOTE: After parsing we expect the current index to exactly match the 9 // sum amount of matched characters 10 if (result === undefined) { 11 + expect(state.y).toBe(0); 12 } else { 13 const index = lastIndex || result.reduce((acc, x) => acc + x.length, 0); 14 + expect(state.y).toBe(index); 15 } 16 }; 17 18 + describe('can create nameless matchers', () => { 19 + it('matches without tagging', () => { 20 + const state = { quasis: ['1'], expressions: [], x: 0, y: 0 }; 21 + const node = match(null)`${/1/}`; 22 + expect(node(state)).toEqual(['1']); 23 + }); 24 + }); 25 + 26 describe('required matcher', () => { 27 const node = match('node')`${/1/}`; 28 it.each` ··· 31 ${''} | ${undefined} 32 `('should return $result when $input is passed', ({ input, result }) => { 33 expectToParse(node, input, result); 34 + }); 35 + 36 + it('matches empty regex patterns', () => { 37 + const node = match('node')`${/[ ]*/}`; 38 + expectToParse(node, '', ['']); 39 }); 40 }); 41 ··· 123 input | result 124 ${'123'} | ${['1', '2', '3']} 125 ${'3'} | ${['3']} 126 + ${'23'} | ${undefined} 127 ${'_'} | ${undefined} 128 `('should return $result when $input is passed', ({ input, result }) => { 129 expectToParse(node, input, result); ··· 137 ${'123'} | ${['1', '2', '3']} 138 ${'12123'} | ${['1', '2', '1', '2', '3']} 139 ${'3'} | ${['3']} 140 + ${'23'} | ${undefined} 141 ${'13'} | ${undefined} 142 ${'_'} | ${undefined} 143 `('should return $result when $input is passed', ({ input, result }) => { ··· 151 input | result 152 ${'123'} | ${['1', '2', '3']} 153 ${'12123'} | ${['1', '2', '1', '2', '3']} 154 + ${'23'} | ${undefined} 155 ${'3'} | ${undefined} 156 ${'13'} | ${undefined} 157 ${'_'} | ${undefined} ··· 374 ); 375 }); 376 377 + describe('non-capturing shorthand', () => { 378 + const node = match('node')`${/1/} :${/2/}+`; 379 + it.each` 380 + input | result | lastIndex 381 + ${'12'} | ${['1']} | ${2} 382 + ${'122'} | ${['1']} | ${3} 383 + ${'13'} | ${undefined} | ${0} 384 + ${'1'} | ${undefined} | ${0} 385 + ${'_'} | ${undefined} | ${0} 386 + `( 387 + 'should return $result when $input is passed', 388 + ({ input, result, lastIndex }) => { 389 + expectToParse(node, input, result, lastIndex); 390 + } 391 + ); 392 + }); 393 + 394 describe('non-capturing group with plus matcher, then required matcher', () => { 395 const node = match('node')`(?: ${/1/}+) ${/2/}`; 396 it.each` ··· 478 ); 479 }); 480 481 + describe('positive lookahead shorthand', () => { 482 + const node = match('node')`=${/1/} ${/\d/}`; 483 + it.each` 484 + input | result | lastIndex 485 + ${'1'} | ${['1']} | ${1} 486 + ${'13'} | ${['1']} | ${1} 487 + ${'2'} | ${undefined} | ${0} 488 + ${'_'} | ${undefined} | ${0} 489 + `( 490 + 'should return $result when $input is passed', 491 + ({ input, result, lastIndex }) => { 492 + expectToParse(node, input, result, lastIndex); 493 + } 494 + ); 495 + }); 496 + 497 describe('positive lookahead group with plus matcher', () => { 498 const node = match('node')`(?= ${/1/}+) ${/\d/}`; 499 it.each` ··· 533 534 describe('negative lookahead group', () => { 535 const node = match('node')`(?! ${/1/}) ${/\d/}`; 536 + it.each` 537 + input | result | lastIndex 538 + ${'2'} | ${['2']} | ${1} 539 + ${'23'} | ${['2']} | ${1} 540 + ${'1'} | ${undefined} | ${0} 541 + ${'1'} | ${undefined} | ${0} 542 + ${'_'} | ${undefined} | ${0} 543 + `( 544 + 'should return $result when $input is passed', 545 + ({ input, result, lastIndex }) => { 546 + expectToParse(node, input, result, lastIndex); 547 + } 548 + ); 549 + }); 550 + 551 + describe('negative lookahead shorthand', () => { 552 + const node = match('node')`!${/1/} ${/\d/}`; 553 it.each` 554 input | result | lastIndex 555 ${'2'} | ${['2']} | ${1} ··· 618 } 619 ); 620 }); 621 + 622 + describe('interpolation parsing', () => { 623 + const node = match('node')` 624 + ${/1/} 625 + ${interpolation((x) => (x > 1 ? x : null))} 626 + ${/3/} 627 + `; 628 + 629 + it('matches interpolations', () => { 630 + const expected = ['1', 2, '3']; 631 + expected.tag = 'node'; 632 + expect(parse(node)`1${2}3`).toEqual(expected); 633 + }); 634 + 635 + it('does not match invalid inputs', () => { 636 + expect(parse(node)`13`).toBe(undefined); 637 + expect(parse(node)`13${2}`).toBe(undefined); 638 + expect(parse(node)`${2}13`).toBe(undefined); 639 + expect(parse(node)`1${1}3`).toBe(undefined); 640 + }); 641 + }); 642 + 643 + describe('string matching', () => { 644 + const node = match('node')` 645 + ${'1'} 646 + ${'2'} 647 + `; 648 + 649 + it('matches strings', () => { 650 + const expected = ['1', '2']; 651 + expected.tag = 'node'; 652 + expect(parse(node)('12')).toEqual(expected); 653 + expect(parse(node)('13')).toBe(undefined); 654 + }); 655 + });
+35 -71
src/parser.js
··· 1 export const parse = (quasis, expressions) => { 2 let quasiIndex = 0; 3 let stackIndex = 0; 4 5 const sequenceStack = []; 6 - const rootSequence = { 7 - type: 'sequence', 8 - sequence: [], 9 - alternation: null, 10 - }; 11 12 let currentGroup = null; 13 let lastMatch; 14 let currentSequence = rootSequence; 15 16 - while (stackIndex < quasis.length + expressions.length) { 17 if (stackIndex % 2 !== 0) { 18 const expression = expressions[stackIndex++ >> 1]; 19 - 20 - currentSequence.sequence.push({ 21 - type: 'expression', 22 - expression, 23 - quantifier: null, 24 - }); 25 } 26 27 const quasi = quasis[stackIndex >> 1]; 28 - while (quasiIndex < quasi.length) { 29 const char = quasi[quasiIndex++]; 30 - 31 if (char === ' ' || char === '\t' || char === '\r' || char === '\n') { 32 - continue; 33 - } else if (char === '|' && currentSequence.sequence.length > 0) { 34 - currentSequence = currentSequence.alternation = { 35 - type: 'sequence', 36 - sequence: [], 37 - alternation: null, 38 - }; 39 - 40 - continue; 41 - } else if (char === ')' && currentSequence.sequence.length > 0) { 42 currentGroup = null; 43 currentSequence = sequenceStack.pop(); 44 - if (currentSequence) continue; 45 } else if (char === '(') { 46 - currentGroup = { 47 - type: 'group', 48 - sequence: { 49 - type: 'sequence', 50 - sequence: [], 51 - alternation: null, 52 - }, 53 - capturing: true, 54 - lookahead: null, 55 - quantifier: null, 56 - }; 57 - 58 sequenceStack.push(currentSequence); 59 - currentSequence.sequence.push(currentGroup); 60 currentSequence = currentGroup.sequence; 61 - continue; 62 - } else if ( 63 - char === '?' && 64 - currentSequence.sequence.length === 0 && 65 - currentGroup 66 - ) { 67 - const nextChar = quasi[quasiIndex++]; 68 - if (!nextChar) { 69 - throw new SyntaxError('Unexpected end of input'); 70 - } 71 - 72 - if (nextChar === ':') { 73 - currentGroup.capturing = false; 74 - continue; 75 - } else if (nextChar === '=') { 76 - currentGroup.capturing = false; 77 - currentGroup.lookahead = 'positive'; 78 - continue; 79 - } else if (nextChar === '!') { 80 - currentGroup.capturing = false; 81 - currentGroup.lookahead = 'negative'; 82 - continue; 83 } 84 } else if ( 85 (char === '?' || char === '+' || char === '*') && 86 - (lastMatch = 87 - currentSequence.sequence[currentSequence.sequence.length - 1]) 88 ) { 89 - lastMatch.quantifier = 'optional'; 90 - if (char === '+') lastMatch.quantifier = 'repeating'; 91 - if (char === '*') lastMatch.quantifier = 'multiple'; 92 - continue; 93 } 94 - 95 - throw new SyntaxError('Unexpected token ' + char); 96 } 97 - 98 - stackIndex++; 99 - quasiIndex = 0; 100 } 101 102 return rootSequence;
··· 1 + const syntaxError = (char) => { 2 + throw new SyntaxError('Unexpected token "' + char + '"'); 3 + }; 4 + 5 export const parse = (quasis, expressions) => { 6 let quasiIndex = 0; 7 let stackIndex = 0; 8 9 const sequenceStack = []; 10 + const rootSequence = []; 11 12 let currentGroup = null; 13 let lastMatch; 14 let currentSequence = rootSequence; 15 + let capture; 16 17 + for ( 18 + let quasiIndex = 0, stackIndex = 0; 19 + stackIndex < quasis.length + expressions.length; 20 + stackIndex++ 21 + ) { 22 if (stackIndex % 2 !== 0) { 23 const expression = expressions[stackIndex++ >> 1]; 24 + currentSequence.push({ expression, capture }); 25 + capture = undefined; 26 } 27 28 const quasi = quasis[stackIndex >> 1]; 29 + for (quasiIndex = 0; quasiIndex < quasi.length; ) { 30 const char = quasi[quasiIndex++]; 31 if (char === ' ' || char === '\t' || char === '\r' || char === '\n') { 32 + } else if (char === '|' && currentSequence.length) { 33 + currentSequence = currentSequence.alternation = []; 34 + } else if (char === ')' && currentSequence.length) { 35 currentGroup = null; 36 currentSequence = sequenceStack.pop(); 37 + if (!currentSequence) syntaxError(char); 38 } else if (char === '(') { 39 sequenceStack.push(currentSequence); 40 + currentSequence.push((currentGroup = { sequence: [], capture })); 41 currentSequence = currentGroup.sequence; 42 + capture = undefined; 43 + } else if (char === ':' || char === '=' || char === '!') { 44 + capture = char; 45 + const nextChar = quasi[quasiIndex]; 46 + if (quasi[quasiIndex] && quasi[quasiIndex] !== '(') syntaxError(char); 47 + } else if (char === '?' && !currentSequence.length && currentGroup) { 48 + capture = quasi[quasiIndex++]; 49 + if (capture === ':' || capture === '=' || capture === '!') { 50 + currentGroup.capture = capture; 51 + capture = undefined; 52 + } else { 53 + syntaxError(char); 54 } 55 } else if ( 56 (char === '?' || char === '+' || char === '*') && 57 + (lastMatch = currentSequence[currentSequence.length - 1]) 58 ) { 59 + lastMatch.quantifier = char; 60 + } else { 61 + syntaxError(char); 62 } 63 } 64 } 65 66 return rootSequence;
+87 -93
src/parser.test.js
··· 2 3 const parseTag = (quasis, ...expressions) => parse(quasis, expressions); 4 5 - it('supports parsing expressions', () => { 6 - expect(parseTag`${1}`).toEqual({ 7 - type: 'sequence', 8 - sequence: [ 9 - { 10 - type: 'expression', 11 - expression: 1, 12 - quantifier: null, 13 - }, 14 - ], 15 - alternation: null, 16 - }); 17 - }); 18 - 19 it('supports parsing expressions with quantifiers', () => { 20 let ast; 21 22 ast = parseTag`${1}?`; 23 - expect(ast).toHaveProperty('sequence.0.type', 'expression'); 24 - expect(ast).toHaveProperty('sequence.0.quantifier', 'optional'); 25 26 ast = parseTag`${1}+`; 27 - expect(ast).toHaveProperty('sequence.0.type', 'expression'); 28 - expect(ast).toHaveProperty('sequence.0.quantifier', 'repeating'); 29 30 ast = parseTag`${1}*`; 31 - expect(ast).toHaveProperty('sequence.0.type', 'expression'); 32 - expect(ast).toHaveProperty('sequence.0.quantifier', 'multiple'); 33 }); 34 35 it('supports top-level alternations', () => { 36 let ast; 37 38 ast = parseTag`${1} | ${2}`; 39 - expect(ast).toHaveProperty('sequence.length', 1); 40 - expect(ast).toHaveProperty('sequence.0.type', 'expression'); 41 - expect(ast).toHaveProperty('sequence.0.expression', 1); 42 - expect(ast).toHaveProperty('alternation.type', 'sequence'); 43 - expect(ast).toHaveProperty('alternation.sequence.0.expression', 2); 44 45 ast = parseTag`${1}? | ${2}?`; 46 - expect(ast).toHaveProperty('sequence.0.quantifier', 'optional'); 47 }); 48 49 it('supports groups with quantifiers', () => { 50 let ast; 51 52 ast = parseTag`(${1} ${2})`; 53 - expect(ast).toHaveProperty('sequence.length', 1); 54 - expect(ast).toHaveProperty('sequence.0.type', 'group'); 55 - expect(ast).toHaveProperty('sequence.0.sequence.sequence.length', 2); 56 - expect(ast).toHaveProperty('sequence.0.sequence.sequence.0.expression', 1); 57 - expect(ast).toHaveProperty('sequence.0.sequence.sequence.1.expression', 2); 58 59 ast = parseTag`(${1} ${2}?)?`; 60 - expect(ast).toHaveProperty('sequence.length', 1); 61 - expect(ast).toHaveProperty('sequence.0.type', 'group'); 62 - expect(ast).toHaveProperty('sequence.0.quantifier', 'optional'); 63 - expect(ast).toHaveProperty('sequence.0.sequence.sequence.0.quantifier', null); 64 }); 65 66 - it('supports non-capturing groups', () => { 67 - const ast = parseTag`(?: ${1})`; 68 - expect(ast).toHaveProperty('sequence.length', 1); 69 - expect(ast).toHaveProperty('sequence.0.type', 'group'); 70 - expect(ast).toHaveProperty('sequence.0.capturing', false); 71 - expect(ast).toHaveProperty('sequence.0.lookahead', null); 72 - expect(ast).toHaveProperty('sequence.0.sequence.sequence.length', 1); 73 }); 74 75 - it('supports positive lookahead groups', () => { 76 - const ast = parseTag`(?= ${1})`; 77 - expect(ast).toHaveProperty('sequence.length', 1); 78 - expect(ast).toHaveProperty('sequence.0.type', 'group'); 79 - expect(ast).toHaveProperty('sequence.0.capturing', false); 80 - expect(ast).toHaveProperty('sequence.0.lookahead', 'positive'); 81 - expect(ast).toHaveProperty('sequence.0.sequence.sequence.length', 1); 82 }); 83 84 - it('supports negative lookahead groups', () => { 85 - const ast = parseTag`(?! ${1})`; 86 - expect(ast).toHaveProperty('sequence.length', 1); 87 - expect(ast).toHaveProperty('sequence.0.type', 'group'); 88 - expect(ast).toHaveProperty('sequence.0.capturing', false); 89 - expect(ast).toHaveProperty('sequence.0.lookahead', 'negative'); 90 - expect(ast).toHaveProperty('sequence.0.sequence.sequence.length', 1); 91 }); 92 93 it('supports groups with alternates', () => { 94 expect(parseTag`(${1} | ${2}) ${3}`).toMatchInlineSnapshot(` 95 - Object { 96 - "alternation": null, 97 - "sequence": Array [ 98 - Object { 99 - "capturing": true, 100 - "lookahead": null, 101 - "quantifier": null, 102 - "sequence": Object { 103 - "alternation": Object { 104 - "alternation": null, 105 - "sequence": Array [ 106 - Object { 107 - "expression": 2, 108 - "quantifier": null, 109 - "type": "expression", 110 - }, 111 - ], 112 - "type": "sequence", 113 - }, 114 - "sequence": Array [ 115 - Object { 116 - "expression": 1, 117 - "quantifier": null, 118 - "type": "expression", 119 - }, 120 - ], 121 - "type": "sequence", 122 }, 123 - "type": "group", 124 - }, 125 - Object { 126 - "expression": 3, 127 - "quantifier": null, 128 - "type": "expression", 129 - }, 130 - ], 131 - "type": "sequence", 132 - } 133 `); 134 });
··· 2 3 const parseTag = (quasis, ...expressions) => parse(quasis, expressions); 4 5 it('supports parsing expressions with quantifiers', () => { 6 let ast; 7 8 ast = parseTag`${1}?`; 9 + expect(ast).toHaveProperty('0.quantifier', '?'); 10 11 ast = parseTag`${1}+`; 12 + expect(ast).toHaveProperty('0.quantifier', '+'); 13 14 ast = parseTag`${1}*`; 15 + expect(ast).toHaveProperty('0.quantifier', '*'); 16 }); 17 18 it('supports top-level alternations', () => { 19 let ast; 20 21 ast = parseTag`${1} | ${2}`; 22 + expect(ast).toHaveProperty('length', 1); 23 + expect(ast).toHaveProperty('0.expression', 1); 24 + expect(ast).toHaveProperty('alternation.0.expression', 2); 25 26 ast = parseTag`${1}? | ${2}?`; 27 + expect(ast).toHaveProperty('0.quantifier', '?'); 28 }); 29 30 it('supports groups with quantifiers', () => { 31 let ast; 32 33 ast = parseTag`(${1} ${2})`; 34 + expect(ast).toHaveProperty('length', 1); 35 + expect(ast).toHaveProperty('0.sequence.length', 2); 36 + expect(ast).toHaveProperty('0.sequence.0.expression', 1); 37 + expect(ast).toHaveProperty('0.sequence.1.expression', 2); 38 39 ast = parseTag`(${1} ${2}?)?`; 40 + expect(ast).toHaveProperty('length', 1); 41 + expect(ast).toHaveProperty('0.quantifier', '?'); 42 + expect(ast).toHaveProperty('0.sequence.0.quantifier', undefined); 43 }); 44 45 + describe('non-capturing syntax', () => { 46 + it('supports regex-like syntax', () => { 47 + const ast = parseTag`(?: ${1})`; 48 + expect(ast).toHaveProperty('length', 1); 49 + expect(ast).toHaveProperty('0.capture', ':'); 50 + expect(ast).toHaveProperty('0.sequence.length', 1); 51 + }); 52 + 53 + it('supports shorthand', () => { 54 + let ast = parseTag`:${1}`; 55 + expect(ast).toHaveProperty('length', 1); 56 + expect(ast).toHaveProperty('0.capture', ':'); 57 + expect(ast).toHaveProperty('0.expression', 1); 58 + ast = parseTag`:(${1})`; 59 + expect(ast).toHaveProperty('length', 1); 60 + expect(ast).toHaveProperty('0.capture', ':'); 61 + expect(ast).toHaveProperty('0.sequence.length', 1); 62 + }); 63 + 64 + it('fails on invalid usage', () => { 65 + expect(() => parseTag`${1} : ${2}`).toThrow(); 66 + expect(() => parseTag`${1} :|${2}`).toThrow(); 67 + }); 68 }); 69 70 + describe('positive lookaheads syntax', () => { 71 + it('supports regex-like syntax', () => { 72 + const ast = parseTag`(?= ${1})`; 73 + expect(ast).toHaveProperty('length', 1); 74 + expect(ast).toHaveProperty('0.capture', '='); 75 + expect(ast).toHaveProperty('0.sequence.length', 1); 76 + }); 77 + 78 + it('supports shorthand', () => { 79 + let ast = parseTag`=${1}`; 80 + expect(ast).toHaveProperty('length', 1); 81 + expect(ast).toHaveProperty('0.capture', '='); 82 + expect(ast).toHaveProperty('0.expression', 1); 83 + ast = parseTag`=(${1})`; 84 + expect(ast).toHaveProperty('length', 1); 85 + expect(ast).toHaveProperty('0.capture', '='); 86 + expect(ast).toHaveProperty('0.sequence.length', 1); 87 + }); 88 }); 89 90 + describe('negative lookaheads syntax', () => { 91 + it('supports regex-like syntax', () => { 92 + const ast = parseTag`(?! ${1})`; 93 + expect(ast).toHaveProperty('length', 1); 94 + expect(ast).toHaveProperty('0.capture', '!'); 95 + expect(ast).toHaveProperty('0.sequence.length', 1); 96 + }); 97 + 98 + it('supports shorthand', () => { 99 + let ast = parseTag`!${1}`; 100 + expect(ast).toHaveProperty('length', 1); 101 + expect(ast).toHaveProperty('0.capture', '!'); 102 + expect(ast).toHaveProperty('0.expression', 1); 103 + ast = parseTag`!(${1})`; 104 + expect(ast).toHaveProperty('length', 1); 105 + expect(ast).toHaveProperty('0.capture', '!'); 106 + expect(ast).toHaveProperty('0.sequence.length', 1); 107 + }); 108 }); 109 110 it('supports groups with alternates', () => { 111 expect(parseTag`(${1} | ${2}) ${3}`).toMatchInlineSnapshot(` 112 + Array [ 113 + Object { 114 + "capture": undefined, 115 + "sequence": Array [ 116 + Object { 117 + "capture": undefined, 118 + "expression": 1, 119 }, 120 + ], 121 + }, 122 + Object { 123 + "capture": undefined, 124 + "expression": 3, 125 + }, 126 + ] 127 `); 128 });
+1349 -1917
yarn.lock
··· 10 "@jridgewell/resolve-uri" "1.0.0" 11 sourcemap-codec "1.4.8" 12 13 - "@ampproject/rollup-plugin-closure-compiler@^0.26.0": 14 - version "0.26.0" 15 - resolved "https://registry.yarnpkg.com/@ampproject/rollup-plugin-closure-compiler/-/rollup-plugin-closure-compiler-0.26.0.tgz#69f8265e5fdbf3e26905eaaedc60cb5982bd6be0" 16 - integrity sha512-wuHzGE6BDhDR0L7nUPlpQDPGiGnMw+b0B+cDPG0S5TatOmFNQva8KSNdBHan3L9RbvNyYXOXicuCrZtSoBfrBg== 17 dependencies: 18 "@ampproject/remapping" "0.2.0" 19 - acorn "7.2.0" 20 acorn-walk "7.1.1" 21 estree-walker "2.0.1" 22 - google-closure-compiler "20200517.0.0" 23 magic-string "0.25.7" 24 uuid "8.1.0" 25 ··· 30 dependencies: 31 "@babel/highlight" "^7.8.3" 32 33 - "@babel/core@7.9.6", "@babel/core@^7.1.0", "@babel/core@^7.7.5": 34 version "7.9.6" 35 resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.6.tgz#d9aa1f580abf3b2286ef40b6904d390904c63376" 36 integrity sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg== ··· 52 semver "^5.4.1" 53 source-map "^0.5.0" 54 55 "@babel/generator@^7.9.6": 56 version "7.9.6" 57 resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.6.tgz#5408c82ac5de98cda0d77d8124e99fa1f2170a43" ··· 62 lodash "^4.17.13" 63 source-map "^0.5.0" 64 65 "@babel/helper-function-name@^7.9.5": 66 version "7.9.5" 67 resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c" ··· 71 "@babel/template" "^7.8.3" 72 "@babel/types" "^7.9.5" 73 74 "@babel/helper-get-function-arity@^7.8.3": 75 version "7.8.3" 76 resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" ··· 78 dependencies: 79 "@babel/types" "^7.8.3" 80 81 "@babel/helper-member-expression-to-functions@^7.8.3": 82 version "7.8.3" 83 resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c" ··· 85 dependencies: 86 "@babel/types" "^7.8.3" 87 88 - "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.8.3": 89 version "7.8.3" 90 resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498" 91 integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg== 92 dependencies: 93 "@babel/types" "^7.8.3" 94 95 "@babel/helper-module-transforms@^7.9.0": 96 version "7.9.0" 97 resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5" ··· 105 "@babel/types" "^7.9.0" 106 lodash "^4.17.13" 107 108 "@babel/helper-optimise-call-expression@^7.8.3": 109 version "7.8.3" 110 resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9" ··· 117 resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670" 118 integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ== 119 120 "@babel/helper-replace-supers@^7.8.6": 121 version "7.9.6" 122 resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz#03149d7e6a5586ab6764996cd31d6981a17e1444" ··· 127 "@babel/traverse" "^7.9.6" 128 "@babel/types" "^7.9.6" 129 130 "@babel/helper-simple-access@^7.8.3": 131 version "7.8.3" 132 resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae" ··· 135 "@babel/template" "^7.8.3" 136 "@babel/types" "^7.8.3" 137 138 "@babel/helper-split-export-declaration@^7.8.3": 139 version "7.8.3" 140 resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" ··· 142 dependencies: 143 "@babel/types" "^7.8.3" 144 145 "@babel/helper-validator-identifier@^7.9.5": 146 version "7.9.5" 147 resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" 148 integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g== 149 150 "@babel/helpers@^7.9.6": 151 version "7.9.6" 152 resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.6.tgz#092c774743471d0bb6c7de3ad465ab3d3486d580" ··· 156 "@babel/traverse" "^7.9.6" 157 "@babel/types" "^7.9.6" 158 159 "@babel/highlight@^7.8.3": 160 version "7.8.3" 161 resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797" ··· 169 version "7.9.6" 170 resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7" 171 integrity sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q== 172 173 "@babel/plugin-syntax-async-generators@^7.8.4": 174 version "7.8.4" ··· 191 dependencies: 192 "@babel/helper-plugin-utils" "^7.8.3" 193 194 "@babel/plugin-syntax-json-strings@^7.8.3": 195 version "7.8.3" 196 resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" ··· 240 dependencies: 241 "@babel/helper-plugin-utils" "^7.8.0" 242 243 - "@babel/plugin-transform-modules-commonjs@^7.9.6": 244 - version "7.9.6" 245 - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz#64b7474a4279ee588cacd1906695ca721687c277" 246 - integrity sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ== 247 dependencies: 248 - "@babel/helper-module-transforms" "^7.9.0" 249 - "@babel/helper-plugin-utils" "^7.8.3" 250 - "@babel/helper-simple-access" "^7.8.3" 251 babel-plugin-dynamic-import-node "^2.3.3" 252 253 - "@babel/plugin-transform-object-assign@^7.8.3": 254 - version "7.8.3" 255 - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.8.3.tgz#dc3b8dd50ef03837868a37b7df791f64f288538e" 256 - integrity sha512-i3LuN8tPDqUCRFu3dkzF2r1Nx0jp4scxtm7JxtIqI9he9Vk20YD+/zshdzR9JLsoBMlJlNR82a62vQExNEVx/Q== 257 dependencies: 258 - "@babel/helper-plugin-utils" "^7.8.3" 259 260 "@babel/template@^7.3.3", "@babel/template@^7.8.3", "@babel/template@^7.8.6": 261 version "7.8.6" ··· 281 globals "^11.1.0" 282 lodash "^4.17.13" 283 284 "@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.9.0", "@babel/types@^7.9.5", "@babel/types@^7.9.6": 285 version "7.9.6" 286 resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7" ··· 290 lodash "^4.17.13" 291 to-fast-properties "^2.0.0" 292 293 "@bcoe/v8-coverage@^0.2.3": 294 version "0.2.3" 295 resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" 296 integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== 297 - 298 - "@cnakazawa/watch@^1.0.3": 299 - version "1.0.4" 300 - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" 301 - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== 302 - dependencies: 303 - exec-sh "^0.3.2" 304 - minimist "^1.2.0" 305 306 "@istanbuljs/load-nyc-config@^1.0.0": 307 version "1.0.0" ··· 318 resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" 319 integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== 320 321 - "@jest/console@^26.0.1": 322 - version "26.0.1" 323 - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.0.1.tgz#62b3b2fa8990f3cbffbef695c42ae9ddbc8f4b39" 324 - integrity sha512-9t1KUe/93coV1rBSxMmBAOIK3/HVpwxArCA1CxskKyRiv6o8J70V8C/V3OJminVCTa2M0hQI9AWRd5wxu2dAHw== 325 dependencies: 326 - "@jest/types" "^26.0.1" 327 chalk "^4.0.0" 328 - jest-message-util "^26.0.1" 329 - jest-util "^26.0.1" 330 slash "^3.0.0" 331 332 - "@jest/core@^26.0.1": 333 - version "26.0.1" 334 - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.0.1.tgz#aa538d52497dfab56735efb00e506be83d841fae" 335 - integrity sha512-Xq3eqYnxsG9SjDC+WLeIgf7/8KU6rddBxH+SCt18gEpOhAGYC/Mq+YbtlNcIdwjnnT+wDseXSbU0e5X84Y4jTQ== 336 dependencies: 337 - "@jest/console" "^26.0.1" 338 - "@jest/reporters" "^26.0.1" 339 - "@jest/test-result" "^26.0.1" 340 - "@jest/transform" "^26.0.1" 341 - "@jest/types" "^26.0.1" 342 ansi-escapes "^4.2.1" 343 chalk "^4.0.0" 344 exit "^0.1.2" 345 graceful-fs "^4.2.4" 346 - jest-changed-files "^26.0.1" 347 - jest-config "^26.0.1" 348 - jest-haste-map "^26.0.1" 349 - jest-message-util "^26.0.1" 350 - jest-regex-util "^26.0.0" 351 - jest-resolve "^26.0.1" 352 - jest-resolve-dependencies "^26.0.1" 353 - jest-runner "^26.0.1" 354 - jest-runtime "^26.0.1" 355 - jest-snapshot "^26.0.1" 356 - jest-util "^26.0.1" 357 - jest-validate "^26.0.1" 358 - jest-watcher "^26.0.1" 359 - micromatch "^4.0.2" 360 p-each-series "^2.1.0" 361 rimraf "^3.0.0" 362 slash "^3.0.0" 363 strip-ansi "^6.0.0" 364 365 - "@jest/environment@^26.0.1": 366 - version "26.0.1" 367 - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.0.1.tgz#82f519bba71959be9b483675ee89de8c8f72a5c8" 368 - integrity sha512-xBDxPe8/nx251u0VJ2dFAFz2H23Y98qdIaNwnMK6dFQr05jc+Ne/2np73lOAx+5mSBO/yuQldRrQOf6hP1h92g== 369 dependencies: 370 - "@jest/fake-timers" "^26.0.1" 371 - "@jest/types" "^26.0.1" 372 - jest-mock "^26.0.1" 373 374 - "@jest/fake-timers@^26.0.1": 375 - version "26.0.1" 376 - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.0.1.tgz#f7aeff13b9f387e9d0cac9a8de3bba538d19d796" 377 - integrity sha512-Oj/kCBnTKhm7CR+OJSjZty6N1bRDr9pgiYQr4wY221azLz5PHi08x/U+9+QpceAYOWheauLP8MhtSVFrqXQfhg== 378 dependencies: 379 - "@jest/types" "^26.0.1" 380 - "@sinonjs/fake-timers" "^6.0.1" 381 - jest-message-util "^26.0.1" 382 - jest-mock "^26.0.1" 383 - jest-util "^26.0.1" 384 385 - "@jest/globals@^26.0.1": 386 - version "26.0.1" 387 - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.0.1.tgz#3f67b508a7ce62b6e6efc536f3d18ec9deb19a9c" 388 - integrity sha512-iuucxOYB7BRCvT+TYBzUqUNuxFX1hqaR6G6IcGgEqkJ5x4htNKo1r7jk1ji9Zj8ZMiMw0oB5NaA7k5Tx6MVssA== 389 dependencies: 390 - "@jest/environment" "^26.0.1" 391 - "@jest/types" "^26.0.1" 392 - expect "^26.0.1" 393 394 - "@jest/reporters@^26.0.1": 395 - version "26.0.1" 396 - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.0.1.tgz#14ae00e7a93e498cec35b0c00ab21c375d9b078f" 397 - integrity sha512-NWWy9KwRtE1iyG/m7huiFVF9YsYv/e+mbflKRV84WDoJfBqUrNRyDbL/vFxQcYLl8IRqI4P3MgPn386x76Gf2g== 398 dependencies: 399 "@bcoe/v8-coverage" "^0.2.3" 400 - "@jest/console" "^26.0.1" 401 - "@jest/test-result" "^26.0.1" 402 - "@jest/transform" "^26.0.1" 403 - "@jest/types" "^26.0.1" 404 chalk "^4.0.0" 405 collect-v8-coverage "^1.0.0" 406 exit "^0.1.2" 407 glob "^7.1.2" 408 graceful-fs "^4.2.4" 409 istanbul-lib-coverage "^3.0.0" 410 - istanbul-lib-instrument "^4.0.0" 411 istanbul-lib-report "^3.0.0" 412 istanbul-lib-source-maps "^4.0.0" 413 istanbul-reports "^3.0.2" 414 - jest-haste-map "^26.0.1" 415 - jest-resolve "^26.0.1" 416 - jest-util "^26.0.1" 417 - jest-worker "^26.0.0" 418 slash "^3.0.0" 419 source-map "^0.6.0" 420 string-length "^4.0.1" 421 terminal-link "^2.0.0" 422 - v8-to-istanbul "^4.1.3" 423 - optionalDependencies: 424 - node-notifier "^7.0.0" 425 426 - "@jest/source-map@^26.0.0": 427 - version "26.0.0" 428 - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.0.0.tgz#fd7706484a7d3faf7792ae29783933bbf48a4749" 429 - integrity sha512-S2Z+Aj/7KOSU2TfW0dyzBze7xr95bkm5YXNUqqCek+HE0VbNNSNzrRwfIi5lf7wvzDTSS0/ib8XQ1krFNyYgbQ== 430 dependencies: 431 callsites "^3.0.0" 432 graceful-fs "^4.2.4" 433 source-map "^0.6.0" 434 435 - "@jest/test-result@^26.0.1": 436 - version "26.0.1" 437 - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.0.1.tgz#1ffdc1ba4bc289919e54b9414b74c9c2f7b2b718" 438 - integrity sha512-oKwHvOI73ICSYRPe8WwyYPTtiuOAkLSbY8/MfWF3qDEd/sa8EDyZzin3BaXTqufir/O/Gzea4E8Zl14XU4Mlyg== 439 dependencies: 440 - "@jest/console" "^26.0.1" 441 - "@jest/types" "^26.0.1" 442 "@types/istanbul-lib-coverage" "^2.0.0" 443 collect-v8-coverage "^1.0.0" 444 445 - "@jest/test-sequencer@^26.0.1": 446 - version "26.0.1" 447 - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.0.1.tgz#b0563424728f3fe9e75d1442b9ae4c11da73f090" 448 - integrity sha512-ssga8XlwfP8YjbDcmVhwNlrmblddMfgUeAkWIXts1V22equp2GMIHxm7cyeD5Q/B0ZgKPK/tngt45sH99yLLGg== 449 dependencies: 450 - "@jest/test-result" "^26.0.1" 451 graceful-fs "^4.2.4" 452 - jest-haste-map "^26.0.1" 453 - jest-runner "^26.0.1" 454 - jest-runtime "^26.0.1" 455 456 - "@jest/transform@^26.0.1": 457 - version "26.0.1" 458 - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.0.1.tgz#0e3ecbb34a11cd4b2080ed0a9c4856cf0ceb0639" 459 - integrity sha512-pPRkVkAQ91drKGbzCfDOoHN838+FSbYaEAvBXvKuWeeRRUD8FjwXkqfUNUZL6Ke48aA/1cqq/Ni7kVMCoqagWA== 460 dependencies: 461 "@babel/core" "^7.1.0" 462 - "@jest/types" "^26.0.1" 463 babel-plugin-istanbul "^6.0.0" 464 chalk "^4.0.0" 465 convert-source-map "^1.4.0" 466 fast-json-stable-stringify "^2.0.0" 467 graceful-fs "^4.2.4" 468 - jest-haste-map "^26.0.1" 469 - jest-regex-util "^26.0.0" 470 - jest-util "^26.0.1" 471 - micromatch "^4.0.2" 472 pirates "^4.0.1" 473 slash "^3.0.0" 474 source-map "^0.6.1" 475 write-file-atomic "^3.0.0" 476 477 - "@jest/types@^26.0.1": 478 - version "26.0.1" 479 - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.0.1.tgz#b78333fbd113fa7aec8d39de24f88de8686dac67" 480 - integrity sha512-IbtjvqI9+eS1qFnOIEL7ggWmT+iK/U+Vde9cGWtYb/b6XgKb3X44ZAe/z9YZzoAAZ/E92m0DqrilF934IGNnQA== 481 dependencies: 482 "@types/istanbul-lib-coverage" "^2.0.0" 483 - "@types/istanbul-reports" "^1.1.1" 484 - "@types/yargs" "^15.0.0" 485 chalk "^4.0.0" 486 487 "@jridgewell/resolve-uri@1.0.0": ··· 498 "@types/buble" "^0.19.2" 499 buble "^0.20.0" 500 501 - "@rollup/plugin-commonjs@^11.1.0": 502 - version "11.1.0" 503 - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz#60636c7a722f54b41e419e1709df05c7234557ef" 504 - integrity sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA== 505 dependencies: 506 - "@rollup/pluginutils" "^3.0.8" 507 commondir "^1.0.1" 508 - estree-walker "^1.0.1" 509 - glob "^7.1.2" 510 - is-reference "^1.1.2" 511 - magic-string "^0.25.2" 512 - resolve "^1.11.0" 513 514 - "@rollup/plugin-node-resolve@^7.1.3": 515 - version "7.1.3" 516 - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz#80de384edfbd7bfc9101164910f86078151a3eca" 517 - integrity sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q== 518 dependencies: 519 - "@rollup/pluginutils" "^3.0.8" 520 - "@types/resolve" "0.0.8" 521 builtin-modules "^3.1.0" 522 is-module "^1.0.0" 523 - resolve "^1.14.2" 524 525 "@rollup/pluginutils@^3.0.8": 526 version "3.0.10" ··· 531 estree-walker "^1.0.1" 532 picomatch "^2.2.2" 533 534 - "@rollup/pluginutils@^4.1.0": 535 - version "4.1.0" 536 - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.0.tgz#0dcc61c780e39257554feb7f77207dceca13c838" 537 - integrity sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ== 538 dependencies: 539 - estree-walker "^2.0.1" 540 picomatch "^2.2.2" 541 542 - "@samverschueren/stream-to-observable@^0.3.0": 543 - version "0.3.0" 544 - resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz#ecdf48d532c58ea477acfcab80348424f8d0662f" 545 - integrity sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg== 546 dependencies: 547 - any-observable "^0.3.0" 548 549 "@sinonjs/commons@^1.7.0": 550 version "1.7.2" ··· 553 dependencies: 554 type-detect "4.0.8" 555 556 - "@sinonjs/fake-timers@^6.0.1": 557 - version "6.0.1" 558 - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" 559 - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== 560 dependencies: 561 "@sinonjs/commons" "^1.7.0" 562 563 - "@types/babel__core@^7.1.7": 564 - version "7.1.7" 565 - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.7.tgz#1dacad8840364a57c98d0dd4855c6dd3752c6b89" 566 - integrity sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw== 567 dependencies: 568 "@babel/parser" "^7.1.0" 569 "@babel/types" "^7.0.0" ··· 593 dependencies: 594 "@babel/types" "^7.3.0" 595 596 "@types/buble@^0.19.2": 597 version "0.19.2" 598 resolved "https://registry.yarnpkg.com/@types/buble/-/buble-0.19.2.tgz#a4289d20b175b3c206aaad80caabdabe3ecdfdd1" ··· 604 version "1.1.1" 605 resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" 606 integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== 607 608 "@types/estree@0.0.39": 609 version "0.0.39" ··· 629 dependencies: 630 "@types/istanbul-lib-coverage" "*" 631 632 - "@types/istanbul-reports@^1.1.1": 633 - version "1.1.2" 634 - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" 635 - integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== 636 dependencies: 637 - "@types/istanbul-lib-coverage" "*" 638 "@types/istanbul-lib-report" "*" 639 640 "@types/node@*": ··· 642 resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.1.tgz#5d93e0a099cd0acd5ef3d5bde3c086e1f49ff68c" 643 integrity sha512-FAYBGwC+W6F9+huFIDtn43cpy7+SzG+atzRiTfdp3inUKL2hXnd4rG8hylJLIh4+hqrQy1P17kvJByE/z825hA== 644 645 - "@types/normalize-package-data@^2.4.0": 646 - version "2.4.0" 647 - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" 648 - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== 649 - 650 "@types/parse-json@^4.0.0": 651 version "4.0.0" 652 resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" 653 integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== 654 655 - "@types/prettier@^2.0.0": 656 - version "2.0.0" 657 - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.0.0.tgz#dc85454b953178cc6043df5208b9e949b54a3bc4" 658 - integrity sha512-/rM+sWiuOZ5dvuVzV37sUuklsbg+JPOP8d+nNFlo2ZtfpzPiPvh1/gc8liWOLBqe+sR+ZM7guPaIcTt6UZTo7Q== 659 660 - "@types/resolve@0.0.8": 661 - version "0.0.8" 662 - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" 663 - integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== 664 dependencies: 665 "@types/node" "*" 666 667 - "@types/stack-utils@^1.0.1": 668 - version "1.0.1" 669 - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" 670 - integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== 671 672 "@types/yargs-parser@*": 673 version "15.0.0" 674 resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" 675 integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== 676 677 - "@types/yargs@^15.0.0": 678 - version "15.0.5" 679 - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz#947e9a6561483bdee9adffc983e91a6902af8b79" 680 - integrity sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w== 681 dependencies: 682 "@types/yargs-parser" "*" 683 ··· 685 version "2.0.3" 686 resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" 687 integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg== 688 689 acorn-dynamic-import@^4.0.0: 690 version "4.0.0" ··· 709 resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e" 710 integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ== 711 712 - acorn@7.2.0, acorn@^7.1.1: 713 - version "7.2.0" 714 - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.2.0.tgz#17ea7e40d7c8640ff54a694c889c26f31704effe" 715 - integrity sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ== 716 717 acorn@^6.4.1: 718 version "6.4.1" 719 resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" 720 integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== 721 722 aggregate-error@^3.0.0: 723 version "3.0.1" 724 resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" ··· 727 clean-stack "^2.0.0" 728 indent-string "^4.0.0" 729 730 - ajv@^6.5.5: 731 - version "6.12.2" 732 - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" 733 - integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== 734 - dependencies: 735 - fast-deep-equal "^3.1.1" 736 - fast-json-stable-stringify "^2.0.0" 737 - json-schema-traverse "^0.4.1" 738 - uri-js "^4.2.2" 739 - 740 - ansi-colors@^3.2.1: 741 - version "3.2.4" 742 - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" 743 - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== 744 745 ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: 746 version "4.3.1" ··· 769 "@types/color-name" "^1.1.1" 770 color-convert "^2.0.1" 771 772 - any-observable@^0.3.0: 773 - version "0.3.0" 774 - resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b" 775 - integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog== 776 777 - anymatch@^2.0.0: 778 - version "2.0.0" 779 - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" 780 - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== 781 - dependencies: 782 - micromatch "^3.1.4" 783 - normalize-path "^2.1.1" 784 785 anymatch@^3.0.3: 786 version "3.1.1" ··· 797 dependencies: 798 sprintf-js "~1.0.2" 799 800 - arr-diff@^4.0.0: 801 - version "4.0.0" 802 - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" 803 - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= 804 - 805 - arr-flatten@^1.1.0: 806 - version "1.1.0" 807 - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 808 - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== 809 - 810 - arr-union@^3.1.0: 811 - version "3.1.0" 812 - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" 813 - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= 814 - 815 - array-unique@^0.3.2: 816 - version "0.3.2" 817 - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" 818 - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= 819 - 820 - asn1@~0.2.3: 821 - version "0.2.4" 822 - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" 823 - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== 824 - dependencies: 825 - safer-buffer "~2.1.0" 826 - 827 - assert-plus@1.0.0, assert-plus@^1.0.0: 828 - version "1.0.0" 829 - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 830 - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= 831 - 832 - assign-symbols@^1.0.0: 833 - version "1.0.0" 834 - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" 835 - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= 836 - 837 astral-regex@^2.0.0: 838 version "2.0.0" 839 resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" ··· 844 resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 845 integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 846 847 - atob@^2.1.2: 848 - version "2.1.2" 849 - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" 850 - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== 851 - 852 - aws-sign2@~0.7.0: 853 - version "0.7.0" 854 - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 855 - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= 856 - 857 - aws4@^1.8.0: 858 - version "1.9.1" 859 - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" 860 - integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug== 861 - 862 - babel-jest@^26.0.1: 863 - version "26.0.1" 864 - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.0.1.tgz#450139ce4b6c17174b136425bda91885c397bc46" 865 - integrity sha512-Z4GGmSNQ8pX3WS1O+6v3fo41YItJJZsVxG5gIQ+HuB/iuAQBJxMTHTwz292vuYws1LnHfwSRgoqI+nxdy/pcvw== 866 dependencies: 867 - "@jest/transform" "^26.0.1" 868 - "@jest/types" "^26.0.1" 869 - "@types/babel__core" "^7.1.7" 870 babel-plugin-istanbul "^6.0.0" 871 - babel-preset-jest "^26.0.0" 872 chalk "^4.0.0" 873 graceful-fs "^4.2.4" 874 slash "^3.0.0" 875 876 - babel-plugin-closure-elimination@^1.3.1: 877 - version "1.3.1" 878 - resolved "https://registry.yarnpkg.com/babel-plugin-closure-elimination/-/babel-plugin-closure-elimination-1.3.1.tgz#c5143ae2cceed6e8451c71ca164bbe1f84852087" 879 - integrity sha512-9B85Xh/S32Crdq8K398NZdh2Sl3crBMTpsy8k7OEij41ZztPYc1CACIZ8D1ZNTHuj62HWaStXkevIOF+DjfuWg== 880 881 babel-plugin-dynamic-import-node@^2.3.3: 882 version "2.3.3" ··· 896 istanbul-lib-instrument "^4.0.0" 897 test-exclude "^6.0.0" 898 899 - babel-plugin-jest-hoist@^26.0.0: 900 - version "26.0.0" 901 - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.0.0.tgz#fd1d35f95cf8849fc65cb01b5e58aedd710b34a8" 902 - integrity sha512-+AuoehOrjt9irZL7DOt2+4ZaTM6dlu1s5TTS46JBa0/qem4dy7VNW3tMb96qeEqcIh20LD73TVNtmVEeymTG7w== 903 dependencies: 904 "@babel/template" "^7.3.3" 905 "@babel/types" "^7.3.3" 906 "@types/babel__traverse" "^7.0.6" 907 908 - babel-preset-current-node-syntax@^0.1.2: 909 - version "0.1.2" 910 - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.2.tgz#fb4a4c51fe38ca60fede1dc74ab35eb843cb41d6" 911 - integrity sha512-u/8cS+dEiK1SFILbOC8/rUI3ml9lboKuuMvZ/4aQnQmhecQAgPw5ew066C1ObnEAUmlx7dv/s2z52psWEtLNiw== 912 dependencies: 913 "@babel/plugin-syntax-async-generators" "^7.8.4" 914 "@babel/plugin-syntax-bigint" "^7.8.3" 915 "@babel/plugin-syntax-class-properties" "^7.8.3" 916 "@babel/plugin-syntax-json-strings" "^7.8.3" 917 "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" 918 "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" ··· 920 "@babel/plugin-syntax-object-rest-spread" "^7.8.3" 921 "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" 922 "@babel/plugin-syntax-optional-chaining" "^7.8.3" 923 924 - babel-preset-jest@^26.0.0: 925 - version "26.0.0" 926 - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.0.0.tgz#1eac82f513ad36c4db2e9263d7c485c825b1faa6" 927 - integrity sha512-9ce+DatAa31DpR4Uir8g4Ahxs5K4W4L8refzt+qHWQANb6LhGcAEfIFgLUwk67oya2cCUd6t4eUMtO/z64ocNw== 928 dependencies: 929 - babel-plugin-jest-hoist "^26.0.0" 930 - babel-preset-current-node-syntax "^0.1.2" 931 932 balanced-match@^1.0.0: 933 version "1.0.0" 934 resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 935 integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 936 937 - base@^0.11.1: 938 - version "0.11.2" 939 - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" 940 - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== 941 - dependencies: 942 - cache-base "^1.0.1" 943 - class-utils "^0.3.5" 944 - component-emitter "^1.2.1" 945 - define-property "^1.0.0" 946 - isobject "^3.0.1" 947 - mixin-deep "^1.2.0" 948 - pascalcase "^0.1.1" 949 - 950 - bcrypt-pbkdf@^1.0.0: 951 - version "1.0.2" 952 - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" 953 - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= 954 - dependencies: 955 - tweetnacl "^0.14.3" 956 - 957 brace-expansion@^1.1.7: 958 version "1.1.11" 959 resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" ··· 962 balanced-match "^1.0.0" 963 concat-map "0.0.1" 964 965 - braces@^2.3.1: 966 - version "2.3.2" 967 - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" 968 - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== 969 - dependencies: 970 - arr-flatten "^1.1.0" 971 - array-unique "^0.3.2" 972 - extend-shallow "^2.0.1" 973 - fill-range "^4.0.0" 974 - isobject "^3.0.1" 975 - repeat-element "^1.1.2" 976 - snapdragon "^0.8.1" 977 - snapdragon-node "^2.0.1" 978 - split-string "^3.0.2" 979 - to-regex "^3.0.1" 980 - 981 braces@^3.0.1: 982 version "3.0.2" 983 resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" ··· 990 resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" 991 integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== 992 993 bser@2.1.1: 994 version "2.1.1" 995 resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" ··· 1020 resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" 1021 integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== 1022 1023 - cache-base@^1.0.1: 1024 - version "1.0.1" 1025 - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" 1026 - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== 1027 - dependencies: 1028 - collection-visit "^1.0.0" 1029 - component-emitter "^1.2.1" 1030 - get-value "^2.0.6" 1031 - has-value "^1.0.0" 1032 - isobject "^3.0.1" 1033 - set-value "^2.0.0" 1034 - to-object-path "^0.3.0" 1035 - union-value "^1.0.0" 1036 - unset-value "^1.0.0" 1037 - 1038 callsites@^3.0.0: 1039 version "3.1.0" 1040 resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 1041 integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 1042 1043 - camelcase@^5.0.0, camelcase@^5.3.1: 1044 version "5.3.1" 1045 resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 1046 integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 1047 1048 - camelcase@^6.0.0: 1049 - version "6.0.0" 1050 - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e" 1051 - integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w== 1052 - 1053 - capture-exit@^2.0.0: 1054 - version "2.0.0" 1055 - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" 1056 - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== 1057 - dependencies: 1058 - rsvp "^4.8.4" 1059 1060 - caseless@~0.12.0: 1061 - version "0.12.0" 1062 - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 1063 - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= 1064 1065 chalk@2.x, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: 1066 version "2.4.2" ··· 1071 escape-string-regexp "^1.0.5" 1072 supports-color "^5.3.0" 1073 1074 - chalk@^3.0.0: 1075 - version "3.0.0" 1076 - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" 1077 - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== 1078 dependencies: 1079 ansi-styles "^4.1.0" 1080 supports-color "^7.1.0" 1081 1082 - chalk@^4.0.0: 1083 - version "4.0.0" 1084 - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72" 1085 - integrity sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A== 1086 dependencies: 1087 ansi-styles "^4.1.0" 1088 supports-color "^7.1.0" ··· 1097 resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" 1098 integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== 1099 1100 - class-utils@^0.3.5: 1101 - version "0.3.6" 1102 - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" 1103 - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== 1104 - dependencies: 1105 - arr-union "^3.1.0" 1106 - define-property "^0.2.5" 1107 - isobject "^3.0.0" 1108 - static-extend "^0.1.1" 1109 1110 clean-stack@^2.0.0: 1111 version "2.2.0" ··· 1127 slice-ansi "^3.0.0" 1128 string-width "^4.2.0" 1129 1130 - cliui@^6.0.0: 1131 - version "6.0.0" 1132 - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" 1133 - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== 1134 dependencies: 1135 string-width "^4.2.0" 1136 strip-ansi "^6.0.0" 1137 - wrap-ansi "^6.2.0" 1138 1139 clone-buffer@^1.0.0: 1140 version "1.0.0" ··· 1145 version "1.0.0" 1146 resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" 1147 integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= 1148 - 1149 - clone@^1.0.2: 1150 - version "1.0.4" 1151 - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" 1152 - integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= 1153 1154 clone@^2.1.1: 1155 version "2.1.2" ··· 1175 resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" 1176 integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== 1177 1178 - collection-visit@^1.0.0: 1179 - version "1.0.0" 1180 - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" 1181 - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= 1182 - dependencies: 1183 - map-visit "^1.0.0" 1184 - object-visit "^1.0.0" 1185 - 1186 color-convert@^1.9.0: 1187 version "1.9.3" 1188 resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" ··· 1207 resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 1208 integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 1209 1210 - combined-stream@^1.0.6, combined-stream@~1.0.6: 1211 version "1.0.8" 1212 resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 1213 integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 1214 dependencies: 1215 delayed-stream "~1.0.0" 1216 1217 - commander@^5.0.0: 1218 - version "5.1.0" 1219 - resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" 1220 - integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== 1221 1222 commondir@^1.0.1: 1223 version "1.0.1" ··· 1229 resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" 1230 integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== 1231 1232 - component-emitter@^1.2.1: 1233 - version "1.3.0" 1234 - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" 1235 - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== 1236 - 1237 concat-map@0.0.1: 1238 version "0.0.1" 1239 resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" ··· 1246 dependencies: 1247 safe-buffer "~5.1.1" 1248 1249 - copy-descriptor@^0.1.0: 1250 - version "0.1.1" 1251 - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" 1252 - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= 1253 - 1254 - core-util-is@1.0.2, core-util-is@~1.0.0: 1255 version "1.0.2" 1256 resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 1257 integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 1258 1259 - cosmiconfig@^6.0.0: 1260 - version "6.0.0" 1261 - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" 1262 - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== 1263 dependencies: 1264 "@types/parse-json" "^4.0.0" 1265 - import-fresh "^3.1.0" 1266 parse-json "^5.0.0" 1267 path-type "^4.0.0" 1268 - yaml "^1.7.2" 1269 1270 - cross-spawn@^6.0.0, cross-spawn@^6.0.5: 1271 version "6.0.5" 1272 resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 1273 integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== ··· 1278 shebang-command "^1.2.0" 1279 which "^1.2.9" 1280 1281 - cross-spawn@^7.0.0: 1282 - version "7.0.2" 1283 - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.2.tgz#d0d7dcfa74e89115c7619f4f721a94e1fdb716d6" 1284 - integrity sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw== 1285 dependencies: 1286 path-key "^3.1.0" 1287 shebang-command "^2.0.0" ··· 1297 resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" 1298 integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== 1299 1300 - cssstyle@^2.2.0: 1301 version "2.3.0" 1302 resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" 1303 integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== 1304 dependencies: 1305 cssom "~0.3.6" 1306 - 1307 - dashdash@^1.12.0: 1308 - version "1.14.1" 1309 - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 1310 - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= 1311 - dependencies: 1312 - assert-plus "^1.0.0" 1313 1314 data-urls@^2.0.0: 1315 version "2.0.0" ··· 1320 whatwg-mimetype "^2.3.0" 1321 whatwg-url "^8.0.0" 1322 1323 - debug@^2.2.0, debug@^2.3.3: 1324 - version "2.6.9" 1325 - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 1326 - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 1327 dependencies: 1328 - ms "2.0.0" 1329 1330 debug@^4.1.0, debug@^4.1.1: 1331 version "4.1.1" ··· 1334 dependencies: 1335 ms "^2.1.1" 1336 1337 - decamelize@^1.2.0: 1338 - version "1.2.0" 1339 - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 1340 - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 1341 - 1342 - decimal.js@^10.2.0: 1343 - version "10.2.0" 1344 - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231" 1345 - integrity sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw== 1346 - 1347 - decode-uri-component@^0.2.0: 1348 - version "0.2.0" 1349 - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" 1350 - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= 1351 1352 dedent@^0.7.0: 1353 version "0.7.0" ··· 1364 resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" 1365 integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== 1366 1367 - defaults@^1.0.3: 1368 - version "1.0.3" 1369 - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" 1370 - integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= 1371 - dependencies: 1372 - clone "^1.0.2" 1373 - 1374 define-properties@^1.1.2, define-properties@^1.1.3: 1375 version "1.1.3" 1376 resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" ··· 1378 dependencies: 1379 object-keys "^1.0.12" 1380 1381 - define-property@^0.2.5: 1382 - version "0.2.5" 1383 - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" 1384 - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= 1385 - dependencies: 1386 - is-descriptor "^0.1.0" 1387 - 1388 - define-property@^1.0.0: 1389 - version "1.0.0" 1390 - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" 1391 - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= 1392 - dependencies: 1393 - is-descriptor "^1.0.0" 1394 - 1395 - define-property@^2.0.2: 1396 - version "2.0.2" 1397 - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" 1398 - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== 1399 - dependencies: 1400 - is-descriptor "^1.0.2" 1401 - isobject "^3.0.1" 1402 - 1403 delayed-stream@~1.0.0: 1404 version "1.0.0" 1405 resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" ··· 1410 resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" 1411 integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== 1412 1413 - diff-sequences@^26.0.0: 1414 - version "26.0.0" 1415 - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.0.0.tgz#0760059a5c287637b842bd7085311db7060e88a6" 1416 - integrity sha512-JC/eHYEC3aSS0vZGjuoc4vHA0yAQTzhQQldXMeMF+JlxLGJlCO38Gma82NV9gk1jGFz8mDzUMeaKXvjRRdJ2dg== 1417 1418 domexception@^2.0.1: 1419 version "2.0.1" ··· 1422 dependencies: 1423 webidl-conversions "^5.0.0" 1424 1425 - ecc-jsbn@~0.1.1: 1426 - version "0.1.2" 1427 - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" 1428 - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= 1429 - dependencies: 1430 - jsbn "~0.1.0" 1431 - safer-buffer "^2.1.0" 1432 1433 - elegant-spinner@^2.0.0: 1434 - version "2.0.0" 1435 - resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-2.0.0.tgz#f236378985ecd16da75488d166be4b688fd5af94" 1436 - integrity sha512-5YRYHhvhYzV/FC4AiMdeSIg3jAYGq9xFvbhZMpPlJoBsfYgrw2DSCYeXfat6tYBu45PWiyRr3+flaCPPmviPaA== 1437 1438 emoji-regex@^8.0.0: 1439 version "8.0.0" 1440 resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 1441 integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 1442 1443 - end-of-stream@^1.1.0: 1444 - version "1.4.4" 1445 - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 1446 - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 1447 dependencies: 1448 - once "^1.4.0" 1449 - 1450 - enquirer@^2.3.4: 1451 - version "2.3.5" 1452 - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.5.tgz#3ab2b838df0a9d8ab9e7dff235b0e8712ef92381" 1453 - integrity sha512-BNT1C08P9XD0vNg3J475yIUG+mVdp9T6towYFHUv897X0KoHBjB1shyrNmhmtHWKP17iSWgo7Gqh7BBuzLZMSA== 1454 - dependencies: 1455 - ansi-colors "^3.2.1" 1456 1457 error-ex@^1.3.1: 1458 version "1.3.2" ··· 1487 is-date-object "^1.0.1" 1488 is-symbol "^1.0.2" 1489 1490 escape-string-regexp@^1.0.5: 1491 version "1.0.5" 1492 resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" ··· 1497 resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" 1498 integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== 1499 1500 - escodegen@^1.14.1: 1501 - version "1.14.1" 1502 - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz#ba01d0c8278b5e95a9a45350142026659027a457" 1503 - integrity sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ== 1504 dependencies: 1505 esprima "^4.0.1" 1506 - estraverse "^4.2.0" 1507 esutils "^2.0.2" 1508 optionator "^0.8.1" 1509 optionalDependencies: ··· 1514 resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1515 integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 1516 1517 - estraverse@^4.2.0: 1518 - version "4.3.0" 1519 - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 1520 - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 1521 1522 estree-walker@2.0.1, estree-walker@^2.0.1: 1523 version "2.0.1" 1524 resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.1.tgz#f8e030fb21cefa183b44b7ad516b747434e7a3e0" 1525 integrity sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg== 1526 1527 - estree-walker@^0.6.1: 1528 - version "0.6.1" 1529 - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" 1530 - integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== 1531 - 1532 estree-walker@^1.0.1: 1533 version "1.0.1" 1534 resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" ··· 1539 resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1540 integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 1541 1542 - exec-sh@^0.3.2: 1543 - version "0.3.4" 1544 - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" 1545 - integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== 1546 - 1547 - execa@^1.0.0: 1548 - version "1.0.0" 1549 - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" 1550 - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== 1551 dependencies: 1552 - cross-spawn "^6.0.0" 1553 - get-stream "^4.0.0" 1554 - is-stream "^1.1.0" 1555 - npm-run-path "^2.0.0" 1556 - p-finally "^1.0.0" 1557 - signal-exit "^3.0.0" 1558 - strip-eof "^1.0.0" 1559 - 1560 - execa@^4.0.0: 1561 - version "4.0.1" 1562 - resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.1.tgz#988488781f1f0238cd156f7aaede11c3e853b4c1" 1563 - integrity sha512-SCjM/zlBdOK8Q5TIjOn6iEHZaPHFsMoTxXQ2nvUvtPnuohz3H2dIozSg+etNR98dGoYUp2ENSKLL/XaMmbxVgw== 1564 - dependencies: 1565 - cross-spawn "^7.0.0" 1566 - get-stream "^5.0.0" 1567 - human-signals "^1.1.1" 1568 is-stream "^2.0.0" 1569 merge-stream "^2.0.0" 1570 - npm-run-path "^4.0.0" 1571 - onetime "^5.1.0" 1572 - signal-exit "^3.0.2" 1573 strip-final-newline "^2.0.0" 1574 1575 exit@^0.1.2: ··· 1577 resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" 1578 integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= 1579 1580 - expand-brackets@^2.1.4: 1581 - version "2.1.4" 1582 - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" 1583 - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= 1584 - dependencies: 1585 - debug "^2.3.3" 1586 - define-property "^0.2.5" 1587 - extend-shallow "^2.0.1" 1588 - posix-character-classes "^0.1.0" 1589 - regex-not "^1.0.0" 1590 - snapdragon "^0.8.1" 1591 - to-regex "^3.0.1" 1592 - 1593 - expect@^26.0.1: 1594 - version "26.0.1" 1595 - resolved "https://registry.yarnpkg.com/expect/-/expect-26.0.1.tgz#18697b9611a7e2725e20ba3ceadda49bc9865421" 1596 - integrity sha512-QcCy4nygHeqmbw564YxNbHTJlXh47dVID2BUP52cZFpLU9zHViMFK6h07cC1wf7GYCTIigTdAXhVua8Yl1FkKg== 1597 - dependencies: 1598 - "@jest/types" "^26.0.1" 1599 - ansi-styles "^4.0.0" 1600 - jest-get-type "^26.0.0" 1601 - jest-matcher-utils "^26.0.1" 1602 - jest-message-util "^26.0.1" 1603 - jest-regex-util "^26.0.0" 1604 - 1605 - extend-shallow@^2.0.1: 1606 - version "2.0.1" 1607 - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 1608 - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= 1609 - dependencies: 1610 - is-extendable "^0.1.0" 1611 - 1612 - extend-shallow@^3.0.0, extend-shallow@^3.0.2: 1613 - version "3.0.2" 1614 - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" 1615 - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= 1616 - dependencies: 1617 - assign-symbols "^1.0.0" 1618 - is-extendable "^1.0.1" 1619 - 1620 - extend@~3.0.2: 1621 - version "3.0.2" 1622 - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 1623 - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 1624 - 1625 - extglob@^2.0.4: 1626 - version "2.0.4" 1627 - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" 1628 - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== 1629 dependencies: 1630 - array-unique "^0.3.2" 1631 - define-property "^1.0.0" 1632 - expand-brackets "^2.1.4" 1633 - extend-shallow "^2.0.1" 1634 - fragment-cache "^0.2.1" 1635 - regex-not "^1.0.0" 1636 - snapdragon "^0.8.1" 1637 - to-regex "^3.0.1" 1638 - 1639 - extsprintf@1.3.0: 1640 - version "1.3.0" 1641 - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 1642 - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= 1643 - 1644 - extsprintf@^1.2.0: 1645 - version "1.4.0" 1646 - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" 1647 - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= 1648 - 1649 - fast-deep-equal@^3.1.1: 1650 - version "3.1.1" 1651 - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" 1652 - integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== 1653 1654 fast-json-stable-stringify@^2.0.0: 1655 version "2.1.0" ··· 1668 dependencies: 1669 bser "2.1.1" 1670 1671 - figures@^3.2.0: 1672 - version "3.2.0" 1673 - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" 1674 - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== 1675 - dependencies: 1676 - escape-string-regexp "^1.0.5" 1677 - 1678 - fill-range@^4.0.0: 1679 - version "4.0.0" 1680 - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" 1681 - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= 1682 - dependencies: 1683 - extend-shallow "^2.0.1" 1684 - is-number "^3.0.0" 1685 - repeat-string "^1.6.1" 1686 - to-regex-range "^2.1.0" 1687 - 1688 fill-range@^7.0.1: 1689 version "7.0.1" 1690 resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" ··· 1700 locate-path "^5.0.0" 1701 path-exists "^4.0.0" 1702 1703 - find-versions@^3.2.0: 1704 - version "3.2.0" 1705 - resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e" 1706 - integrity sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww== 1707 dependencies: 1708 - semver-regex "^2.0.0" 1709 1710 - for-in@^1.0.2: 1711 - version "1.0.2" 1712 - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 1713 - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= 1714 1715 - forever-agent@~0.6.1: 1716 - version "0.6.1" 1717 - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 1718 - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= 1719 - 1720 - form-data@~2.3.2: 1721 - version "2.3.3" 1722 - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" 1723 - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== 1724 dependencies: 1725 asynckit "^0.4.0" 1726 - combined-stream "^1.0.6" 1727 mime-types "^2.1.12" 1728 1729 - fragment-cache@^0.2.1: 1730 - version "0.2.1" 1731 - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" 1732 - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= 1733 - dependencies: 1734 - map-cache "^0.2.2" 1735 - 1736 fs.realpath@^1.0.0: 1737 version "1.0.0" 1738 resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1739 integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1740 1741 - fsevents@^2.1.2, fsevents@~2.1.2: 1742 - version "2.1.3" 1743 - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" 1744 - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== 1745 1746 function-bind@^1.1.1: 1747 version "1.1.1" ··· 1753 resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" 1754 integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== 1755 1756 - get-caller-file@^2.0.1: 1757 version "2.0.5" 1758 resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 1759 integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== ··· 1763 resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" 1764 integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== 1765 1766 - get-stream@^4.0.0: 1767 - version "4.1.0" 1768 - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" 1769 - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== 1770 - dependencies: 1771 - pump "^3.0.0" 1772 - 1773 - get-stream@^5.0.0: 1774 - version "5.1.0" 1775 - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" 1776 - integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== 1777 - dependencies: 1778 - pump "^3.0.0" 1779 1780 - get-value@^2.0.3, get-value@^2.0.6: 1781 - version "2.0.6" 1782 - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" 1783 - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= 1784 - 1785 - getpass@^0.1.1: 1786 - version "0.1.7" 1787 - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 1788 - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= 1789 - dependencies: 1790 - assert-plus "^1.0.0" 1791 - 1792 - glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: 1793 version "7.1.6" 1794 resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 1795 integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== ··· 1801 once "^1.3.0" 1802 path-is-absolute "^1.0.0" 1803 1804 globals@^11.1.0: 1805 version "11.12.0" 1806 resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1807 integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1808 1809 - google-closure-compiler-java@^20200517.0.0: 1810 - version "20200517.0.0" 1811 - resolved "https://registry.yarnpkg.com/google-closure-compiler-java/-/google-closure-compiler-java-20200517.0.0.tgz#778370c22273c9085f4cf959ce063f8f112c02ac" 1812 - integrity sha512-JVZBiyyXwcYi6Yc3lO6dF2hMLJA4OzPm4/mgsem/tF1vk2HsWTnL3GTaBsPB2ENVZp0hoqsd4KgpPiG9ssNWxw== 1813 1814 - google-closure-compiler-js@^20200517.0.0: 1815 - version "20200517.0.0" 1816 - resolved "https://registry.yarnpkg.com/google-closure-compiler-js/-/google-closure-compiler-js-20200517.0.0.tgz#9cb0861f764073d1c4d3b7453b74073ccb1ecfb1" 1817 - integrity sha512-dz6dOUHx5nhdIqMRXacAYS8aJfLvw4IKxGg28Hq/zeeDPHlX3P3iBK20NgFDfT8zdushThymtMqChSy7C5eyfA== 1818 1819 - google-closure-compiler-linux@^20200517.0.0: 1820 - version "20200517.0.0" 1821 - resolved "https://registry.yarnpkg.com/google-closure-compiler-linux/-/google-closure-compiler-linux-20200517.0.0.tgz#2b9ecb634130060174aff5c52329a694ea4be68b" 1822 - integrity sha512-S5xPh6TtP+ESzZrmQLcDDqtZAsCVTbdI4VS98wQlN6IMZTd94nAnOCg9mrxQNAgop2t4sdsv/KuH0BGPUWEZ+w== 1823 1824 - google-closure-compiler-osx@^20200517.0.0: 1825 - version "20200517.0.0" 1826 - resolved "https://registry.yarnpkg.com/google-closure-compiler-osx/-/google-closure-compiler-osx-20200517.0.0.tgz#9394e9a2fd97e3729fc3bd2abcffff6aab2cfcaa" 1827 - integrity sha512-FWIcsKqLllLjdOBZd7azijVaObydgRd0obVNi63eUfC5MX6T4qxKumGCyor2UCNY6by2ESz+PlGqCFzFhZ6b2g== 1828 1829 - google-closure-compiler-windows@^20200517.0.0: 1830 - version "20200517.0.0" 1831 - resolved "https://registry.yarnpkg.com/google-closure-compiler-windows/-/google-closure-compiler-windows-20200517.0.0.tgz#c5cdde438c29458666a83358567b12072924ed6c" 1832 - integrity sha512-UXhjRGwS8deTkRla/riyVq3psscgMuw78lepEPtq5NgbumgJzY2+IQP9q+4MVOfJW58Rv0JUWKAFOnBBSZWcAQ== 1833 - 1834 - google-closure-compiler@20200517.0.0: 1835 - version "20200517.0.0" 1836 - resolved "https://registry.yarnpkg.com/google-closure-compiler/-/google-closure-compiler-20200517.0.0.tgz#6c47f99fc1be59bd4f9e23c5a8f2e66d64b54143" 1837 - integrity sha512-80W9zBS9Ajk1T5InWCfsoPohDmo5T1AAyw1rHh5+dgb/jPgwC65KhY+oJozTncf+/7tyQHJXozTARwhSlBUcMg== 1838 dependencies: 1839 chalk "2.x" 1840 - google-closure-compiler-java "^20200517.0.0" 1841 - google-closure-compiler-js "^20200517.0.0" 1842 minimist "1.x" 1843 vinyl "2.x" 1844 vinyl-sourcemaps-apply "^0.2.0" 1845 optionalDependencies: 1846 - google-closure-compiler-linux "^20200517.0.0" 1847 - google-closure-compiler-osx "^20200517.0.0" 1848 - google-closure-compiler-windows "^20200517.0.0" 1849 1850 graceful-fs@^4.1.2, graceful-fs@^4.2.4: 1851 version "4.2.4" 1852 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" 1853 integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== 1854 1855 - growly@^1.3.0: 1856 - version "1.3.0" 1857 - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" 1858 - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= 1859 - 1860 - har-schema@^2.0.0: 1861 - version "2.0.0" 1862 - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 1863 - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= 1864 - 1865 - har-validator@~5.1.3: 1866 - version "5.1.3" 1867 - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" 1868 - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== 1869 - dependencies: 1870 - ajv "^6.5.5" 1871 - har-schema "^2.0.0" 1872 - 1873 has-flag@^3.0.0: 1874 version "3.0.0" 1875 resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" ··· 1885 resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" 1886 integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== 1887 1888 - has-value@^0.3.1: 1889 - version "0.3.1" 1890 - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" 1891 - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= 1892 - dependencies: 1893 - get-value "^2.0.3" 1894 - has-values "^0.1.4" 1895 - isobject "^2.0.0" 1896 - 1897 - has-value@^1.0.0: 1898 - version "1.0.0" 1899 - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" 1900 - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= 1901 - dependencies: 1902 - get-value "^2.0.6" 1903 - has-values "^1.0.0" 1904 - isobject "^3.0.0" 1905 - 1906 - has-values@^0.1.4: 1907 - version "0.1.4" 1908 - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" 1909 - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= 1910 - 1911 - has-values@^1.0.0: 1912 - version "1.0.0" 1913 - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" 1914 - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= 1915 - dependencies: 1916 - is-number "^3.0.0" 1917 - kind-of "^4.0.0" 1918 - 1919 has@^1.0.3: 1920 version "1.0.3" 1921 resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" ··· 1940 resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" 1941 integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== 1942 1943 - http-signature@~1.2.0: 1944 - version "1.2.0" 1945 - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 1946 - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= 1947 dependencies: 1948 - assert-plus "^1.0.0" 1949 - jsprim "^1.2.2" 1950 - sshpk "^1.7.0" 1951 1952 - human-signals@^1.1.1: 1953 - version "1.1.1" 1954 - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" 1955 - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== 1956 1957 - husky@^4.2.5: 1958 - version "4.2.5" 1959 - resolved "https://registry.yarnpkg.com/husky/-/husky-4.2.5.tgz#2b4f7622673a71579f901d9885ed448394b5fa36" 1960 - integrity sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ== 1961 dependencies: 1962 chalk "^4.0.0" 1963 ci-info "^2.0.0" 1964 compare-versions "^3.6.0" 1965 - cosmiconfig "^6.0.0" 1966 - find-versions "^3.2.0" 1967 opencollective-postinstall "^2.0.2" 1968 - pkg-dir "^4.2.0" 1969 please-upgrade-node "^3.2.0" 1970 slash "^3.0.0" 1971 which-pm-runs "^1.0.0" ··· 1977 dependencies: 1978 safer-buffer ">= 2.1.2 < 3" 1979 1980 - import-fresh@^3.1.0: 1981 - version "3.2.1" 1982 - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" 1983 - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== 1984 dependencies: 1985 parent-module "^1.0.0" 1986 resolve-from "^4.0.0" ··· 2016 resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 2017 integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 2018 2019 - ip-regex@^2.1.0: 2020 - version "2.1.0" 2021 - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" 2022 - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= 2023 - 2024 - is-accessor-descriptor@^0.1.6: 2025 - version "0.1.6" 2026 - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" 2027 - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= 2028 - dependencies: 2029 - kind-of "^3.0.2" 2030 - 2031 - is-accessor-descriptor@^1.0.0: 2032 - version "1.0.0" 2033 - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" 2034 - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== 2035 - dependencies: 2036 - kind-of "^6.0.0" 2037 - 2038 is-arrayish@^0.2.1: 2039 version "0.2.1" 2040 resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 2041 integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 2042 2043 - is-buffer@^1.1.5: 2044 - version "1.1.6" 2045 - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 2046 - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== 2047 - 2048 is-callable@^1.1.4, is-callable@^1.1.5: 2049 version "1.1.5" 2050 resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" 2051 integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== 2052 2053 - is-ci@^2.0.0: 2054 - version "2.0.0" 2055 - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" 2056 - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== 2057 dependencies: 2058 - ci-info "^2.0.0" 2059 2060 - is-data-descriptor@^0.1.4: 2061 - version "0.1.4" 2062 - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" 2063 - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= 2064 dependencies: 2065 - kind-of "^3.0.2" 2066 - 2067 - is-data-descriptor@^1.0.0: 2068 - version "1.0.0" 2069 - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" 2070 - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== 2071 - dependencies: 2072 - kind-of "^6.0.0" 2073 2074 is-date-object@^1.0.1: 2075 version "1.0.2" 2076 resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" 2077 integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== 2078 2079 - is-descriptor@^0.1.0: 2080 - version "0.1.6" 2081 - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" 2082 - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== 2083 - dependencies: 2084 - is-accessor-descriptor "^0.1.6" 2085 - is-data-descriptor "^0.1.4" 2086 - kind-of "^5.0.0" 2087 - 2088 - is-descriptor@^1.0.0, is-descriptor@^1.0.2: 2089 - version "1.0.2" 2090 - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" 2091 - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== 2092 - dependencies: 2093 - is-accessor-descriptor "^1.0.0" 2094 - is-data-descriptor "^1.0.0" 2095 - kind-of "^6.0.2" 2096 - 2097 - is-docker@^2.0.0: 2098 - version "2.0.0" 2099 - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b" 2100 - integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ== 2101 - 2102 - is-extendable@^0.1.0, is-extendable@^0.1.1: 2103 - version "0.1.1" 2104 - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 2105 - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= 2106 - 2107 - is-extendable@^1.0.1: 2108 - version "1.0.1" 2109 - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" 2110 - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== 2111 - dependencies: 2112 - is-plain-object "^2.0.4" 2113 - 2114 is-fullwidth-code-point@^3.0.0: 2115 version "3.0.0" 2116 resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" ··· 2126 resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" 2127 integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= 2128 2129 - is-number@^3.0.0: 2130 - version "3.0.0" 2131 - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 2132 - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= 2133 - dependencies: 2134 - kind-of "^3.0.2" 2135 - 2136 is-number@^7.0.0: 2137 version "7.0.0" 2138 resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" ··· 2143 resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" 2144 integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= 2145 2146 - is-plain-object@^2.0.3, is-plain-object@^2.0.4: 2147 - version "2.0.4" 2148 - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 2149 - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== 2150 - dependencies: 2151 - isobject "^3.0.1" 2152 - 2153 - is-potential-custom-element-name@^1.0.0: 2154 - version "1.0.0" 2155 - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" 2156 - integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= 2157 2158 - is-reference@^1.1.2: 2159 - version "1.1.4" 2160 - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.1.4.tgz#3f95849886ddb70256a3e6d062b1a68c13c51427" 2161 - integrity sha512-uJA/CDPO3Tao3GTrxYn6AwkM4nUPJiGGYu5+cB8qbC7WGFlrKZbiRo7SFKxUAEpFUfiHofWCXBUNhvYJMh+6zw== 2162 dependencies: 2163 - "@types/estree" "0.0.39" 2164 2165 is-regex@^1.0.5: 2166 version "1.0.5" ··· 2174 resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" 2175 integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= 2176 2177 - is-stream@^1.1.0: 2178 - version "1.1.0" 2179 - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 2180 - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= 2181 - 2182 is-stream@^2.0.0: 2183 version "2.0.0" 2184 resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" ··· 2191 dependencies: 2192 has-symbols "^1.0.1" 2193 2194 - is-typedarray@^1.0.0, is-typedarray@~1.0.0: 2195 version "1.0.0" 2196 resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 2197 integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 2198 2199 - is-windows@^1.0.2: 2200 - version "1.0.2" 2201 - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 2202 - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== 2203 2204 - is-wsl@^2.1.1: 2205 - version "2.2.0" 2206 - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" 2207 - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== 2208 - dependencies: 2209 - is-docker "^2.0.0" 2210 - 2211 - isarray@1.0.0, isarray@~1.0.0: 2212 version "1.0.0" 2213 resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 2214 integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= ··· 2218 resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 2219 integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 2220 2221 - isobject@^2.0.0: 2222 - version "2.1.0" 2223 - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 2224 - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= 2225 - dependencies: 2226 - isarray "1.0.0" 2227 - 2228 - isobject@^3.0.0, isobject@^3.0.1: 2229 - version "3.0.1" 2230 - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 2231 - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= 2232 - 2233 - isstream@~0.1.2: 2234 - version "0.1.2" 2235 - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 2236 - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= 2237 - 2238 istanbul-lib-coverage@^3.0.0: 2239 version "3.0.0" 2240 resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" 2241 integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== 2242 2243 - istanbul-lib-instrument@^4.0.0: 2244 version "4.0.3" 2245 resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" 2246 integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== ··· 2276 html-escaper "^2.0.0" 2277 istanbul-lib-report "^3.0.0" 2278 2279 - jest-changed-files@^26.0.1: 2280 - version "26.0.1" 2281 - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.0.1.tgz#1334630c6a1ad75784120f39c3aa9278e59f349f" 2282 - integrity sha512-q8LP9Sint17HaE2LjxQXL+oYWW/WeeXMPE2+Op9X3mY8IEGFVc14xRxFjUuXUbcPAlDLhtWdIEt59GdQbn76Hw== 2283 dependencies: 2284 - "@jest/types" "^26.0.1" 2285 - execa "^4.0.0" 2286 - throat "^5.0.0" 2287 2288 - jest-cli@^26.0.1: 2289 - version "26.0.1" 2290 - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.0.1.tgz#3a42399a4cbc96a519b99ad069a117d955570cac" 2291 - integrity sha512-pFLfSOBcbG9iOZWaMK4Een+tTxi/Wcm34geqZEqrst9cZDkTQ1LZ2CnBrTlHWuYAiTMFr0EQeK52ScyFU8wK+w== 2292 dependencies: 2293 - "@jest/core" "^26.0.1" 2294 - "@jest/test-result" "^26.0.1" 2295 - "@jest/types" "^26.0.1" 2296 chalk "^4.0.0" 2297 exit "^0.1.2" 2298 graceful-fs "^4.2.4" 2299 import-local "^3.0.2" 2300 - is-ci "^2.0.0" 2301 - jest-config "^26.0.1" 2302 - jest-util "^26.0.1" 2303 - jest-validate "^26.0.1" 2304 prompts "^2.0.1" 2305 - yargs "^15.3.1" 2306 2307 - jest-config@^26.0.1: 2308 - version "26.0.1" 2309 - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.0.1.tgz#096a3d4150afadf719d1fab00e9a6fb2d6d67507" 2310 - integrity sha512-9mWKx2L1LFgOXlDsC4YSeavnblN6A4CPfXFiobq+YYLaBMymA/SczN7xYTSmLaEYHZOcB98UdoN4m5uNt6tztg== 2311 dependencies: 2312 "@babel/core" "^7.1.0" 2313 - "@jest/test-sequencer" "^26.0.1" 2314 - "@jest/types" "^26.0.1" 2315 - babel-jest "^26.0.1" 2316 chalk "^4.0.0" 2317 deepmerge "^4.2.2" 2318 glob "^7.1.1" 2319 graceful-fs "^4.2.4" 2320 - jest-environment-jsdom "^26.0.1" 2321 - jest-environment-node "^26.0.1" 2322 - jest-get-type "^26.0.0" 2323 - jest-jasmine2 "^26.0.1" 2324 - jest-regex-util "^26.0.0" 2325 - jest-resolve "^26.0.1" 2326 - jest-util "^26.0.1" 2327 - jest-validate "^26.0.1" 2328 - micromatch "^4.0.2" 2329 - pretty-format "^26.0.1" 2330 2331 - jest-diff@^26.0.1: 2332 - version "26.0.1" 2333 - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.0.1.tgz#c44ab3cdd5977d466de69c46929e0e57f89aa1de" 2334 - integrity sha512-odTcHyl5X+U+QsczJmOjWw5tPvww+y9Yim5xzqxVl/R1j4z71+fHW4g8qu1ugMmKdFdxw+AtQgs5mupPnzcIBQ== 2335 dependencies: 2336 chalk "^4.0.0" 2337 - diff-sequences "^26.0.0" 2338 - jest-get-type "^26.0.0" 2339 - pretty-format "^26.0.1" 2340 2341 - jest-docblock@^26.0.0: 2342 - version "26.0.0" 2343 - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" 2344 - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== 2345 dependencies: 2346 detect-newline "^3.0.0" 2347 2348 - jest-each@^26.0.1: 2349 - version "26.0.1" 2350 - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.0.1.tgz#633083061619302fc90dd8f58350f9d77d67be04" 2351 - integrity sha512-OTgJlwXCAR8NIWaXFL5DBbeS4QIYPuNASkzSwMCJO+ywo9BEa6TqkaSWsfR7VdbMLdgYJqSfQcIyjJCNwl5n4Q== 2352 dependencies: 2353 - "@jest/types" "^26.0.1" 2354 chalk "^4.0.0" 2355 - jest-get-type "^26.0.0" 2356 - jest-util "^26.0.1" 2357 - pretty-format "^26.0.1" 2358 2359 - jest-environment-jsdom@^26.0.1: 2360 - version "26.0.1" 2361 - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.0.1.tgz#217690852e5bdd7c846a4e3b50c8ffd441dfd249" 2362 - integrity sha512-u88NJa3aptz2Xix2pFhihRBAatwZHWwSiRLBDBQE1cdJvDjPvv7ZGA0NQBxWwDDn7D0g1uHqxM8aGgfA9Bx49g== 2363 dependencies: 2364 - "@jest/environment" "^26.0.1" 2365 - "@jest/fake-timers" "^26.0.1" 2366 - "@jest/types" "^26.0.1" 2367 - jest-mock "^26.0.1" 2368 - jest-util "^26.0.1" 2369 - jsdom "^16.2.2" 2370 2371 - jest-environment-node@^26.0.1: 2372 - version "26.0.1" 2373 - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.0.1.tgz#584a9ff623124ff6eeb49e0131b5f7612b310b13" 2374 - integrity sha512-4FRBWcSn5yVo0KtNav7+5NH5Z/tEgDLp7VRQVS5tCouWORxj+nI+1tOLutM07Zb2Qi7ja+HEDoOUkjBSWZg/IQ== 2375 dependencies: 2376 - "@jest/environment" "^26.0.1" 2377 - "@jest/fake-timers" "^26.0.1" 2378 - "@jest/types" "^26.0.1" 2379 - jest-mock "^26.0.1" 2380 - jest-util "^26.0.1" 2381 2382 - jest-get-type@^26.0.0: 2383 - version "26.0.0" 2384 - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.0.0.tgz#381e986a718998dbfafcd5ec05934be538db4039" 2385 - integrity sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg== 2386 2387 - jest-haste-map@^26.0.1: 2388 - version "26.0.1" 2389 - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.0.1.tgz#40dcc03c43ac94d25b8618075804d09cd5d49de7" 2390 - integrity sha512-J9kBl/EdjmDsvyv7CiyKY5+DsTvVOScenprz/fGqfLg/pm1gdjbwwQ98nW0t+OIt+f+5nAVaElvn/6wP5KO7KA== 2391 dependencies: 2392 - "@jest/types" "^26.0.1" 2393 "@types/graceful-fs" "^4.1.2" 2394 anymatch "^3.0.3" 2395 fb-watchman "^2.0.0" 2396 graceful-fs "^4.2.4" 2397 - jest-serializer "^26.0.0" 2398 - jest-util "^26.0.1" 2399 - jest-worker "^26.0.0" 2400 - micromatch "^4.0.2" 2401 - sane "^4.0.3" 2402 walker "^1.0.7" 2403 - which "^2.0.2" 2404 optionalDependencies: 2405 - fsevents "^2.1.2" 2406 2407 - jest-jasmine2@^26.0.1: 2408 - version "26.0.1" 2409 - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.0.1.tgz#947c40ee816636ba23112af3206d6fa7b23c1c1c" 2410 - integrity sha512-ILaRyiWxiXOJ+RWTKupzQWwnPaeXPIoLS5uW41h18varJzd9/7I0QJGqg69fhTT1ev9JpSSo9QtalriUN0oqOg== 2411 dependencies: 2412 "@babel/traverse" "^7.1.0" 2413 - "@jest/environment" "^26.0.1" 2414 - "@jest/source-map" "^26.0.0" 2415 - "@jest/test-result" "^26.0.1" 2416 - "@jest/types" "^26.0.1" 2417 chalk "^4.0.0" 2418 co "^4.6.0" 2419 - expect "^26.0.1" 2420 is-generator-fn "^2.0.0" 2421 - jest-each "^26.0.1" 2422 - jest-matcher-utils "^26.0.1" 2423 - jest-message-util "^26.0.1" 2424 - jest-runtime "^26.0.1" 2425 - jest-snapshot "^26.0.1" 2426 - jest-util "^26.0.1" 2427 - pretty-format "^26.0.1" 2428 - throat "^5.0.0" 2429 2430 - jest-leak-detector@^26.0.1: 2431 - version "26.0.1" 2432 - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.0.1.tgz#79b19ab3f41170e0a78eb8fa754a116d3447fb8c" 2433 - integrity sha512-93FR8tJhaYIWrWsbmVN1pQ9ZNlbgRpfvrnw5LmgLRX0ckOJ8ut/I35CL7awi2ecq6Ca4lL59bEK9hr7nqoHWPA== 2434 dependencies: 2435 - jest-get-type "^26.0.0" 2436 - pretty-format "^26.0.1" 2437 2438 - jest-matcher-utils@^26.0.1: 2439 - version "26.0.1" 2440 - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.0.1.tgz#12e1fc386fe4f14678f4cc8dbd5ba75a58092911" 2441 - integrity sha512-PUMlsLth0Azen8Q2WFTwnSkGh2JZ8FYuwijC8NR47vXKpsrKmA1wWvgcj1CquuVfcYiDEdj985u5Wmg7COEARw== 2442 dependencies: 2443 chalk "^4.0.0" 2444 - jest-diff "^26.0.1" 2445 - jest-get-type "^26.0.0" 2446 - pretty-format "^26.0.1" 2447 2448 - jest-message-util@^26.0.1: 2449 - version "26.0.1" 2450 - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.0.1.tgz#07af1b42fc450b4cc8e90e4c9cef11b33ce9b0ac" 2451 - integrity sha512-CbK8uQREZ8umUfo8+zgIfEt+W7HAHjQCoRaNs4WxKGhAYBGwEyvxuK81FXa7VeB9pwDEXeeKOB2qcsNVCAvB7Q== 2452 dependencies: 2453 - "@babel/code-frame" "^7.0.0" 2454 - "@jest/types" "^26.0.1" 2455 - "@types/stack-utils" "^1.0.1" 2456 chalk "^4.0.0" 2457 graceful-fs "^4.2.4" 2458 - micromatch "^4.0.2" 2459 slash "^3.0.0" 2460 - stack-utils "^2.0.2" 2461 2462 - jest-mock@^26.0.1: 2463 - version "26.0.1" 2464 - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.0.1.tgz#7fd1517ed4955397cf1620a771dc2d61fad8fd40" 2465 - integrity sha512-MpYTBqycuPYSY6xKJognV7Ja46/TeRbAZept987Zp+tuJvMN0YBWyyhG9mXyYQaU3SBI0TUlSaO5L3p49agw7Q== 2466 dependencies: 2467 - "@jest/types" "^26.0.1" 2468 2469 - jest-pnp-resolver@^1.2.1: 2470 - version "1.2.1" 2471 - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" 2472 - integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== 2473 2474 - jest-regex-util@^26.0.0: 2475 - version "26.0.0" 2476 - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" 2477 - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== 2478 2479 - jest-resolve-dependencies@^26.0.1: 2480 - version "26.0.1" 2481 - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.0.1.tgz#607ba7ccc32151d185a477cff45bf33bce417f0b" 2482 - integrity sha512-9d5/RS/ft0vB/qy7jct/qAhzJsr6fRQJyGAFigK3XD4hf9kIbEH5gks4t4Z7kyMRhowU6HWm/o8ILqhaHdSqLw== 2483 dependencies: 2484 - "@jest/types" "^26.0.1" 2485 - jest-regex-util "^26.0.0" 2486 - jest-snapshot "^26.0.1" 2487 2488 - jest-resolve@^26.0.1: 2489 - version "26.0.1" 2490 - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.0.1.tgz#21d1ee06f9ea270a343a8893051aeed940cde736" 2491 - integrity sha512-6jWxk0IKZkPIVTvq6s72RH735P8f9eCJW3IM5CX/SJFeKq1p2cZx0U49wf/SdMlhaB/anann5J2nCJj6HrbezQ== 2492 dependencies: 2493 - "@jest/types" "^26.0.1" 2494 chalk "^4.0.0" 2495 graceful-fs "^4.2.4" 2496 - jest-pnp-resolver "^1.2.1" 2497 - jest-util "^26.0.1" 2498 - read-pkg-up "^7.0.1" 2499 - resolve "^1.17.0" 2500 slash "^3.0.0" 2501 2502 - jest-runner@^26.0.1: 2503 - version "26.0.1" 2504 - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.0.1.tgz#ea03584b7ae4bacfb7e533d680a575a49ae35d50" 2505 - integrity sha512-CApm0g81b49Znm4cZekYQK67zY7kkB4umOlI2Dx5CwKAzdgw75EN+ozBHRvxBzwo1ZLYZ07TFxkaPm+1t4d8jA== 2506 dependencies: 2507 - "@jest/console" "^26.0.1" 2508 - "@jest/environment" "^26.0.1" 2509 - "@jest/test-result" "^26.0.1" 2510 - "@jest/types" "^26.0.1" 2511 chalk "^4.0.0" 2512 exit "^0.1.2" 2513 graceful-fs "^4.2.4" 2514 - jest-config "^26.0.1" 2515 - jest-docblock "^26.0.0" 2516 - jest-haste-map "^26.0.1" 2517 - jest-jasmine2 "^26.0.1" 2518 - jest-leak-detector "^26.0.1" 2519 - jest-message-util "^26.0.1" 2520 - jest-resolve "^26.0.1" 2521 - jest-runtime "^26.0.1" 2522 - jest-util "^26.0.1" 2523 - jest-worker "^26.0.0" 2524 source-map-support "^0.5.6" 2525 - throat "^5.0.0" 2526 2527 - jest-runtime@^26.0.1: 2528 - version "26.0.1" 2529 - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.0.1.tgz#a121a6321235987d294168e282d52b364d7d3f89" 2530 - integrity sha512-Ci2QhYFmANg5qaXWf78T2Pfo6GtmIBn2rRaLnklRyEucmPccmCKvS9JPljcmtVamsdMmkyNkVFb9pBTD6si9Lw== 2531 dependencies: 2532 - "@jest/console" "^26.0.1" 2533 - "@jest/environment" "^26.0.1" 2534 - "@jest/fake-timers" "^26.0.1" 2535 - "@jest/globals" "^26.0.1" 2536 - "@jest/source-map" "^26.0.0" 2537 - "@jest/test-result" "^26.0.1" 2538 - "@jest/transform" "^26.0.1" 2539 - "@jest/types" "^26.0.1" 2540 - "@types/yargs" "^15.0.0" 2541 chalk "^4.0.0" 2542 collect-v8-coverage "^1.0.0" 2543 exit "^0.1.2" 2544 glob "^7.1.3" 2545 graceful-fs "^4.2.4" 2546 - jest-config "^26.0.1" 2547 - jest-haste-map "^26.0.1" 2548 - jest-message-util "^26.0.1" 2549 - jest-mock "^26.0.1" 2550 - jest-regex-util "^26.0.0" 2551 - jest-resolve "^26.0.1" 2552 - jest-snapshot "^26.0.1" 2553 - jest-util "^26.0.1" 2554 - jest-validate "^26.0.1" 2555 slash "^3.0.0" 2556 strip-bom "^4.0.0" 2557 - yargs "^15.3.1" 2558 2559 - jest-serializer@^26.0.0: 2560 - version "26.0.0" 2561 - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.0.0.tgz#f6c521ddb976943b93e662c0d4d79245abec72a3" 2562 - integrity sha512-sQGXLdEGWFAE4wIJ2ZaIDb+ikETlUirEOBsLXdoBbeLhTHkZUJwgk3+M8eyFizhM6le43PDCCKPA1hzkSDo4cQ== 2563 dependencies: 2564 graceful-fs "^4.2.4" 2565 2566 - jest-snapshot@^26.0.1: 2567 - version "26.0.1" 2568 - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.0.1.tgz#1baa942bd83d47b837a84af7fcf5fd4a236da399" 2569 - integrity sha512-jxd+cF7+LL+a80qh6TAnTLUZHyQoWwEHSUFJjkw35u3Gx+BZUNuXhYvDqHXr62UQPnWo2P6fvQlLjsU93UKyxA== 2570 dependencies: 2571 "@babel/types" "^7.0.0" 2572 - "@jest/types" "^26.0.1" 2573 - "@types/prettier" "^2.0.0" 2574 chalk "^4.0.0" 2575 - expect "^26.0.1" 2576 graceful-fs "^4.2.4" 2577 - jest-diff "^26.0.1" 2578 - jest-get-type "^26.0.0" 2579 - jest-matcher-utils "^26.0.1" 2580 - jest-message-util "^26.0.1" 2581 - jest-resolve "^26.0.1" 2582 - make-dir "^3.0.0" 2583 natural-compare "^1.4.0" 2584 - pretty-format "^26.0.1" 2585 semver "^7.3.2" 2586 2587 - jest-util@^26.0.1: 2588 - version "26.0.1" 2589 - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.0.1.tgz#72c4c51177b695fdd795ca072a6f94e3d7cef00a" 2590 - integrity sha512-byQ3n7ad1BO/WyFkYvlWQHTsomB6GIewBh8tlGtusiylAlaxQ1UpS0XYH0ngOyhZuHVLN79Qvl6/pMiDMSSG1g== 2591 dependencies: 2592 - "@jest/types" "^26.0.1" 2593 chalk "^4.0.0" 2594 graceful-fs "^4.2.4" 2595 - is-ci "^2.0.0" 2596 - make-dir "^3.0.0" 2597 2598 - jest-validate@^26.0.1: 2599 - version "26.0.1" 2600 - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.0.1.tgz#a62987e1da5b7f724130f904725e22f4e5b2e23c" 2601 - integrity sha512-u0xRc+rbmov/VqXnX3DlkxD74rHI/CfS5xaV2VpeaVySjbb1JioNVOyly5b56q2l9ZKe7bVG5qWmjfctkQb0bA== 2602 dependencies: 2603 - "@jest/types" "^26.0.1" 2604 - camelcase "^6.0.0" 2605 chalk "^4.0.0" 2606 - jest-get-type "^26.0.0" 2607 leven "^3.1.0" 2608 - pretty-format "^26.0.1" 2609 2610 - jest-watcher@^26.0.1: 2611 - version "26.0.1" 2612 - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.0.1.tgz#5b5e3ebbdf10c240e22a98af66d645631afda770" 2613 - integrity sha512-pdZPydsS8475f89kGswaNsN3rhP6lnC3/QDCppP7bg1L9JQz7oU9Mb/5xPETk1RHDCWeqmVC47M4K5RR7ejxFw== 2614 dependencies: 2615 - "@jest/test-result" "^26.0.1" 2616 - "@jest/types" "^26.0.1" 2617 ansi-escapes "^4.2.1" 2618 chalk "^4.0.0" 2619 - jest-util "^26.0.1" 2620 string-length "^4.0.1" 2621 2622 - jest-worker@^26.0.0: 2623 - version "26.0.0" 2624 - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.0.0.tgz#4920c7714f0a96c6412464718d0c58a3df3fb066" 2625 - integrity sha512-pPaYa2+JnwmiZjK9x7p9BoZht+47ecFCDFA/CJxspHzeDvQcfVBLWzCiWyo+EGrSiQMWZtCFo9iSvMZnAAo8vw== 2626 dependencies: 2627 merge-stream "^2.0.0" 2628 - supports-color "^7.0.0" 2629 2630 - jest@^26.0.1: 2631 - version "26.0.1" 2632 - resolved "https://registry.yarnpkg.com/jest/-/jest-26.0.1.tgz#5c51a2e58dff7525b65f169721767173bf832694" 2633 - integrity sha512-29Q54kn5Bm7ZGKIuH2JRmnKl85YRigp0o0asTc6Sb6l2ch1DCXIeZTLLFy9ultJvhkTqbswF5DEx4+RlkmCxWg== 2634 dependencies: 2635 - "@jest/core" "^26.0.1" 2636 import-local "^3.0.2" 2637 - jest-cli "^26.0.1" 2638 2639 js-tokens@^4.0.0: 2640 version "4.0.0" ··· 2649 argparse "^1.0.7" 2650 esprima "^4.0.0" 2651 2652 - jsbn@~0.1.0: 2653 - version "0.1.1" 2654 - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 2655 - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= 2656 - 2657 - jsdom@^16.2.2: 2658 - version "16.2.2" 2659 - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.2.2.tgz#76f2f7541646beb46a938f5dc476b88705bedf2b" 2660 - integrity sha512-pDFQbcYtKBHxRaP55zGXCJWgFHkDAYbKcsXEK/3Icu9nKYZkutUXfLBwbD+09XDutkYSHcgfQLZ0qvpAAm9mvg== 2661 dependencies: 2662 - abab "^2.0.3" 2663 - acorn "^7.1.1" 2664 acorn-globals "^6.0.0" 2665 cssom "^0.4.4" 2666 - cssstyle "^2.2.0" 2667 data-urls "^2.0.0" 2668 - decimal.js "^10.2.0" 2669 domexception "^2.0.1" 2670 - escodegen "^1.14.1" 2671 html-encoding-sniffer "^2.0.1" 2672 - is-potential-custom-element-name "^1.0.0" 2673 nwsapi "^2.2.0" 2674 - parse5 "5.1.1" 2675 - request "^2.88.2" 2676 - request-promise-native "^1.0.8" 2677 - saxes "^5.0.0" 2678 symbol-tree "^3.2.4" 2679 - tough-cookie "^3.0.1" 2680 w3c-hr-time "^1.0.2" 2681 w3c-xmlserializer "^2.0.0" 2682 - webidl-conversions "^6.0.0" 2683 whatwg-encoding "^1.0.5" 2684 whatwg-mimetype "^2.3.0" 2685 - whatwg-url "^8.0.0" 2686 - ws "^7.2.3" 2687 xml-name-validator "^3.0.0" 2688 2689 jsesc@^2.5.1: ··· 2701 resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 2702 integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== 2703 2704 - json-schema-traverse@^0.4.1: 2705 - version "0.4.1" 2706 - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 2707 - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 2708 - 2709 - json-schema@0.2.3: 2710 - version "0.2.3" 2711 - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 2712 - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= 2713 - 2714 - json-stringify-safe@~5.0.1: 2715 - version "5.0.1" 2716 - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 2717 - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= 2718 - 2719 json5@^2.1.2: 2720 version "2.1.3" 2721 resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" ··· 2723 dependencies: 2724 minimist "^1.2.5" 2725 2726 - jsprim@^1.2.2: 2727 - version "1.4.1" 2728 - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 2729 - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= 2730 - dependencies: 2731 - assert-plus "1.0.0" 2732 - extsprintf "1.3.0" 2733 - json-schema "0.2.3" 2734 - verror "1.10.0" 2735 - 2736 - kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: 2737 - version "3.2.2" 2738 - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 2739 - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= 2740 - dependencies: 2741 - is-buffer "^1.1.5" 2742 - 2743 - kind-of@^4.0.0: 2744 - version "4.0.0" 2745 - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 2746 - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= 2747 - dependencies: 2748 - is-buffer "^1.1.5" 2749 - 2750 - kind-of@^5.0.0: 2751 - version "5.1.0" 2752 - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" 2753 - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== 2754 - 2755 - kind-of@^6.0.0, kind-of@^6.0.2: 2756 - version "6.0.3" 2757 - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" 2758 - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== 2759 - 2760 kleur@^3.0.3: 2761 version "3.0.3" 2762 resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" ··· 2780 resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" 2781 integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= 2782 2783 - lint-staged@^10.2.2: 2784 - version "10.2.2" 2785 - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.2.2.tgz#901403c120eb5d9443a0358b55038b04c8a7db9b" 2786 - integrity sha512-78kNqNdDeKrnqWsexAmkOU3Z5wi+1CsQmUmfCuYgMTE8E4rAIX8RHW7xgxwAZ+LAayb7Cca4uYX4P3LlevzjVg== 2787 dependencies: 2788 - chalk "^4.0.0" 2789 - commander "^5.0.0" 2790 - cosmiconfig "^6.0.0" 2791 - debug "^4.1.1" 2792 - dedent "^0.7.0" 2793 - execa "^4.0.0" 2794 - listr2 "1.3.8" 2795 - log-symbols "^3.0.0" 2796 - micromatch "^4.0.2" 2797 normalize-path "^3.0.0" 2798 please-upgrade-node "^3.2.0" 2799 string-argv "0.3.1" 2800 stringify-object "^3.3.0" 2801 2802 - listr2@1.3.8: 2803 - version "1.3.8" 2804 - resolved "https://registry.yarnpkg.com/listr2/-/listr2-1.3.8.tgz#30924d79de1e936d8c40af54b6465cb814a9c828" 2805 - integrity sha512-iRDRVTgSDz44tBeBBg/35TQz4W+EZBWsDUq7hPpqeUHm7yLPNll0rkwW3lIX9cPAK7l+x95mGWLpxjqxftNfZA== 2806 dependencies: 2807 - "@samverschueren/stream-to-observable" "^0.3.0" 2808 - chalk "^3.0.0" 2809 - cli-cursor "^3.1.0" 2810 cli-truncate "^2.1.0" 2811 - elegant-spinner "^2.0.0" 2812 - enquirer "^2.3.4" 2813 - figures "^3.2.0" 2814 - indent-string "^4.0.0" 2815 log-update "^4.0.0" 2816 p-map "^4.0.0" 2817 - pad "^3.2.0" 2818 - rxjs "^6.3.3" 2819 through "^2.3.8" 2820 - uuid "^7.0.2" 2821 2822 load-json-file@^4.0.0: 2823 version "4.0.0" ··· 2836 dependencies: 2837 p-locate "^4.1.0" 2838 2839 lodash.sortby@^4.7.0: 2840 version "4.7.0" 2841 resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" 2842 integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= 2843 2844 - lodash@^4.17.13, lodash@^4.17.15: 2845 version "4.17.15" 2846 resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" 2847 integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== 2848 2849 - log-symbols@^3.0.0: 2850 - version "3.0.0" 2851 - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" 2852 - integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== 2853 dependencies: 2854 - chalk "^2.4.2" 2855 2856 log-update@^4.0.0: 2857 version "4.0.0" ··· 2863 slice-ansi "^4.0.0" 2864 wrap-ansi "^6.2.0" 2865 2866 - magic-string@0.25.7, magic-string@^0.25.0, magic-string@^0.25.2, magic-string@^0.25.7: 2867 version "0.25.7" 2868 resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" 2869 integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== ··· 2884 dependencies: 2885 tmpl "1.0.x" 2886 2887 - map-cache@^0.2.2: 2888 - version "0.2.2" 2889 - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" 2890 - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= 2891 - 2892 - map-visit@^1.0.0: 2893 - version "1.0.0" 2894 - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" 2895 - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= 2896 - dependencies: 2897 - object-visit "^1.0.0" 2898 - 2899 memorystream@^0.3.1: 2900 version "0.3.1" 2901 resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" ··· 2906 resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 2907 integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 2908 2909 - micromatch@^3.1.4: 2910 - version "3.1.10" 2911 - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" 2912 - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== 2913 - dependencies: 2914 - arr-diff "^4.0.0" 2915 - array-unique "^0.3.2" 2916 - braces "^2.3.1" 2917 - define-property "^2.0.2" 2918 - extend-shallow "^3.0.2" 2919 - extglob "^2.0.4" 2920 - fragment-cache "^0.2.1" 2921 - kind-of "^6.0.2" 2922 - nanomatch "^1.2.9" 2923 - object.pick "^1.3.0" 2924 - regex-not "^1.0.0" 2925 - snapdragon "^0.8.1" 2926 - to-regex "^3.0.2" 2927 - 2928 - micromatch@^4.0.2: 2929 - version "4.0.2" 2930 - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" 2931 - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== 2932 dependencies: 2933 braces "^3.0.1" 2934 - picomatch "^2.0.5" 2935 2936 mime-db@1.44.0: 2937 version "1.44.0" 2938 resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" 2939 integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== 2940 2941 - mime-types@^2.1.12, mime-types@~2.1.19: 2942 version "2.1.27" 2943 resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" 2944 integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== ··· 2957 dependencies: 2958 brace-expansion "^1.1.7" 2959 2960 - minimist@1.x, minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: 2961 version "1.2.5" 2962 resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 2963 integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 2964 2965 - mixin-deep@^1.2.0: 2966 - version "1.3.2" 2967 - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" 2968 - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== 2969 - dependencies: 2970 - for-in "^1.0.2" 2971 - is-extendable "^1.0.1" 2972 - 2973 - ms@2.0.0: 2974 - version "2.0.0" 2975 - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2976 - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 2977 - 2978 - ms@^2.1.1: 2979 version "2.1.2" 2980 resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 2981 integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 2982 2983 - nanomatch@^1.2.9: 2984 - version "1.2.13" 2985 - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" 2986 - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== 2987 dependencies: 2988 - arr-diff "^4.0.0" 2989 - array-unique "^0.3.2" 2990 - define-property "^2.0.2" 2991 - extend-shallow "^3.0.2" 2992 - fragment-cache "^0.2.1" 2993 - is-windows "^1.0.2" 2994 - kind-of "^6.0.2" 2995 - object.pick "^1.3.0" 2996 - regex-not "^1.0.0" 2997 - snapdragon "^0.8.1" 2998 - to-regex "^3.0.1" 2999 3000 natural-compare@^1.4.0: 3001 version "1.4.0" ··· 3017 resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" 3018 integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= 3019 3020 - node-notifier@^7.0.0: 3021 - version "7.0.0" 3022 - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-7.0.0.tgz#513bc42f2aa3a49fce1980a7ff375957c71f718a" 3023 - integrity sha512-y8ThJESxsHcak81PGpzWwQKxzk+5YtP3IxR8AYdpXQ1IB6FmcVzFdZXrkPin49F/DKUCfeeiziB8ptY9npzGuA== 3024 - dependencies: 3025 - growly "^1.3.0" 3026 - is-wsl "^2.1.1" 3027 - semver "^7.2.1" 3028 - shellwords "^0.1.1" 3029 - uuid "^7.0.3" 3030 - which "^2.0.2" 3031 3032 - normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: 3033 version "2.5.0" 3034 resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 3035 integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== ··· 3039 semver "2 || 3 || 4 || 5" 3040 validate-npm-package-license "^3.0.1" 3041 3042 - normalize-path@^2.1.1: 3043 - version "2.1.1" 3044 - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 3045 - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= 3046 - dependencies: 3047 - remove-trailing-separator "^1.0.1" 3048 - 3049 normalize-path@^3.0.0: 3050 version "3.0.0" 3051 resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" ··· 3066 shell-quote "^1.6.1" 3067 string.prototype.padend "^3.0.0" 3068 3069 - npm-run-path@^2.0.0: 3070 - version "2.0.2" 3071 - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 3072 - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= 3073 - dependencies: 3074 - path-key "^2.0.0" 3075 - 3076 - npm-run-path@^4.0.0: 3077 version "4.0.1" 3078 resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" 3079 integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== ··· 3085 resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" 3086 integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== 3087 3088 - oauth-sign@~0.9.0: 3089 - version "0.9.0" 3090 - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" 3091 - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== 3092 - 3093 - object-copy@^0.1.0: 3094 - version "0.1.0" 3095 - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" 3096 - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= 3097 - dependencies: 3098 - copy-descriptor "^0.1.0" 3099 - define-property "^0.2.5" 3100 - kind-of "^3.0.3" 3101 3102 object-inspect@^1.7.0: 3103 version "1.7.0" ··· 3109 resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 3110 integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 3111 3112 - object-visit@^1.0.0: 3113 - version "1.0.1" 3114 - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" 3115 - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= 3116 - dependencies: 3117 - isobject "^3.0.0" 3118 - 3119 object.assign@^4.1.0: 3120 version "4.1.0" 3121 resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" ··· 3126 has-symbols "^1.0.0" 3127 object-keys "^1.0.11" 3128 3129 - object.pick@^1.3.0: 3130 - version "1.3.0" 3131 - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" 3132 - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= 3133 - dependencies: 3134 - isobject "^3.0.1" 3135 - 3136 - once@^1.3.0, once@^1.3.1, once@^1.4.0: 3137 version "1.4.0" 3138 resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 3139 integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= ··· 3147 dependencies: 3148 mimic-fn "^2.1.0" 3149 3150 opencollective-postinstall@^2.0.2: 3151 - version "2.0.2" 3152 - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89" 3153 - integrity sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw== 3154 3155 optionator@^0.8.1: 3156 version "0.8.3" ··· 3169 resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" 3170 integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ== 3171 3172 - p-finally@^1.0.0: 3173 - version "1.0.0" 3174 - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 3175 - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= 3176 - 3177 p-limit@^2.2.0: 3178 version "2.3.0" 3179 resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" ··· 3181 dependencies: 3182 p-try "^2.0.0" 3183 3184 p-locate@^4.1.0: 3185 version "4.1.0" 3186 resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 3187 integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 3188 dependencies: 3189 p-limit "^2.2.0" 3190 3191 p-map@^4.0.0: 3192 version "4.0.0" ··· 3200 resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 3201 integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 3202 3203 - pad@^3.2.0: 3204 - version "3.2.0" 3205 - resolved "https://registry.yarnpkg.com/pad/-/pad-3.2.0.tgz#be7a1d1cb6757049b4ad5b70e71977158fea95d1" 3206 - integrity sha512-2u0TrjcGbOjBTJpyewEl4hBO3OeX5wWue7eIFPzQTg6wFSvoaHcBTTUY5m+n0hd04gmTCPuY0kCpVIVuw5etwg== 3207 - dependencies: 3208 - wcwidth "^1.0.1" 3209 - 3210 parent-module@^1.0.0: 3211 version "1.0.1" 3212 resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" ··· 3232 json-parse-better-errors "^1.0.1" 3233 lines-and-columns "^1.1.6" 3234 3235 - parse5@5.1.1: 3236 - version "5.1.1" 3237 - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" 3238 - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== 3239 - 3240 - pascalcase@^0.1.1: 3241 - version "0.1.1" 3242 - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" 3243 - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= 3244 3245 path-exists@^4.0.0: 3246 version "4.0.0" ··· 3252 resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 3253 integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 3254 3255 - path-key@^2.0.0, path-key@^2.0.1: 3256 version "2.0.1" 3257 resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 3258 integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= ··· 3279 resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 3280 integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 3281 3282 - performance-now@^2.1.0: 3283 - version "2.1.0" 3284 - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 3285 - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= 3286 - 3287 - picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.2: 3288 version "2.2.2" 3289 resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" 3290 integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== 3291 3292 pidtree@^0.3.0: 3293 version "0.3.1" ··· 3313 dependencies: 3314 find-up "^4.0.0" 3315 3316 please-upgrade-node@^3.2.0: 3317 version "3.2.0" 3318 resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" ··· 3320 dependencies: 3321 semver-compare "^1.0.0" 3322 3323 - posix-character-classes@^0.1.0: 3324 - version "0.1.1" 3325 - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" 3326 - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= 3327 - 3328 prelude-ls@~1.1.2: 3329 version "1.1.2" 3330 resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 3331 integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 3332 3333 - prettier@^2.0.5: 3334 - version "2.0.5" 3335 - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4" 3336 - integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg== 3337 3338 - pretty-format@^26.0.1: 3339 - version "26.0.1" 3340 - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.0.1.tgz#a4fe54fe428ad2fd3413ca6bbd1ec8c2e277e197" 3341 - integrity sha512-SWxz6MbupT3ZSlL0Po4WF/KujhQaVehijR2blyRDCzk9e45EaYMVhMBn49fnRuHxtkSpXTes1GxNpVmH86Bxfw== 3342 dependencies: 3343 - "@jest/types" "^26.0.1" 3344 ansi-regex "^5.0.0" 3345 - ansi-styles "^4.0.0" 3346 - react-is "^16.12.0" 3347 3348 process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: 3349 version "2.0.1" ··· 3358 kleur "^3.0.3" 3359 sisteransi "^1.0.4" 3360 3361 - psl@^1.1.28: 3362 version "1.8.0" 3363 resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" 3364 integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== 3365 3366 - pump@^3.0.0: 3367 - version "3.0.0" 3368 - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 3369 - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 3370 - dependencies: 3371 - end-of-stream "^1.1.0" 3372 - once "^1.3.1" 3373 - 3374 - punycode@^2.1.0, punycode@^2.1.1: 3375 version "2.1.1" 3376 resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 3377 integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 3378 3379 - qs@~6.5.2: 3380 - version "6.5.2" 3381 - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" 3382 - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== 3383 - 3384 - react-is@^16.12.0: 3385 - version "16.13.1" 3386 - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" 3387 - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== 3388 - 3389 - read-pkg-up@^7.0.1: 3390 - version "7.0.1" 3391 - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" 3392 - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== 3393 - dependencies: 3394 - find-up "^4.1.0" 3395 - read-pkg "^5.2.0" 3396 - type-fest "^0.8.1" 3397 3398 read-pkg@^3.0.0: 3399 version "3.0.0" ··· 3404 normalize-package-data "^2.3.2" 3405 path-type "^3.0.0" 3406 3407 - read-pkg@^5.2.0: 3408 - version "5.2.0" 3409 - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" 3410 - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== 3411 - dependencies: 3412 - "@types/normalize-package-data" "^2.4.0" 3413 - normalize-package-data "^2.5.0" 3414 - parse-json "^5.0.0" 3415 - type-fest "^0.6.0" 3416 - 3417 readable-stream@^2.3.5: 3418 version "2.3.7" 3419 resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" ··· 3439 resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" 3440 integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== 3441 3442 - regex-not@^1.0.0, regex-not@^1.0.2: 3443 - version "1.0.2" 3444 - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" 3445 - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== 3446 - dependencies: 3447 - extend-shallow "^3.0.2" 3448 - safe-regex "^1.1.0" 3449 - 3450 regexpu-core@4.5.4: 3451 version "4.5.4" 3452 resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae" ··· 3476 resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 3477 integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= 3478 3479 - repeat-element@^1.1.2: 3480 - version "1.1.3" 3481 - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" 3482 - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== 3483 - 3484 - repeat-string@^1.6.1: 3485 - version "1.6.1" 3486 - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 3487 - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= 3488 - 3489 replace-ext@^1.0.0: 3490 version "1.0.1" 3491 resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" 3492 integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== 3493 3494 - request-promise-core@1.1.3: 3495 - version "1.1.3" 3496 - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" 3497 - integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== 3498 - dependencies: 3499 - lodash "^4.17.15" 3500 - 3501 - request-promise-native@^1.0.8: 3502 - version "1.0.8" 3503 - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" 3504 - integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== 3505 - dependencies: 3506 - request-promise-core "1.1.3" 3507 - stealthy-require "^1.1.1" 3508 - tough-cookie "^2.3.3" 3509 - 3510 - request@^2.88.2: 3511 - version "2.88.2" 3512 - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" 3513 - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== 3514 - dependencies: 3515 - aws-sign2 "~0.7.0" 3516 - aws4 "^1.8.0" 3517 - caseless "~0.12.0" 3518 - combined-stream "~1.0.6" 3519 - extend "~3.0.2" 3520 - forever-agent "~0.6.1" 3521 - form-data "~2.3.2" 3522 - har-validator "~5.1.3" 3523 - http-signature "~1.2.0" 3524 - is-typedarray "~1.0.0" 3525 - isstream "~0.1.2" 3526 - json-stringify-safe "~5.0.1" 3527 - mime-types "~2.1.19" 3528 - oauth-sign "~0.9.0" 3529 - performance-now "^2.1.0" 3530 - qs "~6.5.2" 3531 - safe-buffer "^5.1.2" 3532 - tough-cookie "~2.5.0" 3533 - tunnel-agent "^0.6.0" 3534 - uuid "^3.3.2" 3535 - 3536 require-directory@^2.1.1: 3537 version "2.1.1" 3538 resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 3539 integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 3540 - 3541 - require-main-filename@^2.0.0: 3542 - version "2.0.0" 3543 - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" 3544 - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== 3545 3546 resolve-cwd@^3.0.0: 3547 version "3.0.0" ··· 3560 resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 3561 integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 3562 3563 - resolve-url@^0.2.1: 3564 - version "0.2.1" 3565 - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" 3566 - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= 3567 - 3568 - resolve@^1.10.0, resolve@^1.11.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.3.2: 3569 version "1.17.0" 3570 resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" 3571 integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== 3572 dependencies: 3573 path-parse "^1.0.6" 3574 3575 restore-cursor@^3.1.0: 3576 version "3.1.0" 3577 resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" ··· 3580 onetime "^5.1.0" 3581 signal-exit "^3.0.2" 3582 3583 - ret@~0.1.10: 3584 - version "0.1.15" 3585 - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" 3586 - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== 3587 - 3588 rimraf@^3.0.0, rimraf@^3.0.2: 3589 version "3.0.2" 3590 resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" ··· 3592 dependencies: 3593 glob "^7.1.3" 3594 3595 - rollup-plugin-babel@^4.4.0: 3596 - version "4.4.0" 3597 - resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz#d15bd259466a9d1accbdb2fe2fff17c52d030acb" 3598 - integrity sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw== 3599 - dependencies: 3600 - "@babel/helper-module-imports" "^7.0.0" 3601 - rollup-pluginutils "^2.8.1" 3602 - 3603 - rollup-pluginutils@^2.8.1: 3604 - version "2.8.2" 3605 - resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" 3606 - integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== 3607 - dependencies: 3608 - estree-walker "^0.6.1" 3609 - 3610 - rollup@^2.10.2: 3611 - version "2.10.2" 3612 - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.10.2.tgz#9adfcf8ab36861b5b0f8ca7b436f5866e3e9e200" 3613 - integrity sha512-tivFM8UXBlYOUqpBYD3pRktYpZvK/eiCQ190eYlrAyrpE/lzkyG2gbawroNdbwmzyUc7Y4eT297xfzv0BDh9qw== 3614 optionalDependencies: 3615 - fsevents "~2.1.2" 3616 3617 - rsvp@^4.8.4: 3618 - version "4.8.5" 3619 - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" 3620 - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== 3621 - 3622 - rxjs@^6.3.3: 3623 - version "6.5.5" 3624 - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" 3625 - integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== 3626 dependencies: 3627 tslib "^1.9.0" 3628 3629 - safe-buffer@^5.0.1, safe-buffer@^5.1.2: 3630 - version "5.2.1" 3631 - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 3632 - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 3633 - 3634 safe-buffer@~5.1.0, safe-buffer@~5.1.1: 3635 version "5.1.2" 3636 resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 3637 integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 3638 3639 - safe-regex@^1.1.0: 3640 - version "1.1.0" 3641 - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" 3642 - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= 3643 - dependencies: 3644 - ret "~0.1.10" 3645 - 3646 - "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: 3647 version "2.1.2" 3648 resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 3649 integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 3650 3651 - sane@^4.0.3: 3652 - version "4.1.0" 3653 - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" 3654 - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== 3655 - dependencies: 3656 - "@cnakazawa/watch" "^1.0.3" 3657 - anymatch "^2.0.0" 3658 - capture-exit "^2.0.0" 3659 - exec-sh "^0.3.2" 3660 - execa "^1.0.0" 3661 - fb-watchman "^2.0.0" 3662 - micromatch "^3.1.4" 3663 - minimist "^1.1.1" 3664 - walker "~1.0.5" 3665 - 3666 - saxes@^5.0.0: 3667 version "5.0.1" 3668 resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" 3669 integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== ··· 3675 resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" 3676 integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= 3677 3678 - semver-regex@^2.0.0: 3679 - version "2.0.0" 3680 - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338" 3681 - integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw== 3682 3683 "semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0: 3684 version "5.7.1" ··· 3690 resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 3691 integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 3692 3693 - semver@^7.2.1, semver@^7.3.2: 3694 version "7.3.2" 3695 resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" 3696 integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== 3697 3698 - set-blocking@^2.0.0: 3699 - version "2.0.0" 3700 - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 3701 - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= 3702 - 3703 - set-value@^2.0.0, set-value@^2.0.1: 3704 - version "2.0.1" 3705 - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" 3706 - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== 3707 - dependencies: 3708 - extend-shallow "^2.0.1" 3709 - is-extendable "^0.1.1" 3710 - is-plain-object "^2.0.3" 3711 - split-string "^3.0.1" 3712 - 3713 shebang-command@^1.2.0: 3714 version "1.2.0" 3715 resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" ··· 3739 resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" 3740 integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== 3741 3742 - shellwords@^0.1.1: 3743 - version "0.1.1" 3744 - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" 3745 - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== 3746 - 3747 - signal-exit@^3.0.0, signal-exit@^3.0.2: 3748 version "3.0.3" 3749 resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" 3750 integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== ··· 3777 astral-regex "^2.0.0" 3778 is-fullwidth-code-point "^3.0.0" 3779 3780 - snapdragon-node@^2.0.1: 3781 - version "2.1.1" 3782 - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" 3783 - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== 3784 - dependencies: 3785 - define-property "^1.0.0" 3786 - isobject "^3.0.0" 3787 - snapdragon-util "^3.0.1" 3788 - 3789 - snapdragon-util@^3.0.1: 3790 - version "3.0.1" 3791 - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" 3792 - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== 3793 - dependencies: 3794 - kind-of "^3.2.0" 3795 - 3796 - snapdragon@^0.8.1: 3797 - version "0.8.2" 3798 - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" 3799 - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== 3800 - dependencies: 3801 - base "^0.11.1" 3802 - debug "^2.2.0" 3803 - define-property "^0.2.5" 3804 - extend-shallow "^2.0.1" 3805 - map-cache "^0.2.2" 3806 - source-map "^0.5.6" 3807 - source-map-resolve "^0.5.0" 3808 - use "^3.1.0" 3809 - 3810 - source-map-resolve@^0.5.0: 3811 - version "0.5.3" 3812 - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" 3813 - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== 3814 - dependencies: 3815 - atob "^2.1.2" 3816 - decode-uri-component "^0.2.0" 3817 - resolve-url "^0.2.1" 3818 - source-map-url "^0.4.0" 3819 - urix "^0.1.0" 3820 - 3821 source-map-support@^0.5.6: 3822 version "0.5.19" 3823 resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" ··· 3826 buffer-from "^1.0.0" 3827 source-map "^0.6.0" 3828 3829 - source-map-url@^0.4.0: 3830 - version "0.4.0" 3831 - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" 3832 - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= 3833 - 3834 - source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.6: 3835 version "0.5.7" 3836 resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 3837 integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= ··· 3877 resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" 3878 integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== 3879 3880 - split-string@^3.0.1, split-string@^3.0.2: 3881 - version "3.1.0" 3882 - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" 3883 - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== 3884 - dependencies: 3885 - extend-shallow "^3.0.0" 3886 - 3887 sprintf-js@~1.0.2: 3888 version "1.0.3" 3889 resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 3890 integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 3891 3892 - sshpk@^1.7.0: 3893 - version "1.16.1" 3894 - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" 3895 - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== 3896 - dependencies: 3897 - asn1 "~0.2.3" 3898 - assert-plus "^1.0.0" 3899 - bcrypt-pbkdf "^1.0.0" 3900 - dashdash "^1.12.0" 3901 - ecc-jsbn "~0.1.1" 3902 - getpass "^0.1.1" 3903 - jsbn "~0.1.0" 3904 - safer-buffer "^2.0.2" 3905 - tweetnacl "~0.14.0" 3906 - 3907 - stack-utils@^2.0.2: 3908 - version "2.0.2" 3909 - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.2.tgz#5cf48b4557becb4638d0bc4f21d23f5d19586593" 3910 - integrity sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg== 3911 dependencies: 3912 escape-string-regexp "^2.0.0" 3913 - 3914 - static-extend@^0.1.1: 3915 - version "0.1.2" 3916 - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" 3917 - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= 3918 - dependencies: 3919 - define-property "^0.2.5" 3920 - object-copy "^0.1.0" 3921 - 3922 - stealthy-require@^1.1.1: 3923 - version "1.1.1" 3924 - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" 3925 - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= 3926 3927 string-argv@0.3.1: 3928 version "0.3.1" ··· 4021 resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" 4022 integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== 4023 4024 - strip-eof@^1.0.0: 4025 - version "1.0.0" 4026 - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 4027 - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= 4028 - 4029 strip-final-newline@^2.0.0: 4030 version "2.0.0" 4031 resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" 4032 integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 4033 4034 supports-color@^5.3.0: 4035 version "5.5.0" 4036 resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" ··· 4042 version "7.1.0" 4043 resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" 4044 integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== 4045 dependencies: 4046 has-flag "^4.0.0" 4047 ··· 4075 glob "^7.1.4" 4076 minimatch "^3.0.4" 4077 4078 - throat@^5.0.0: 4079 - version "5.0.0" 4080 - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" 4081 - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== 4082 4083 through@^2.3.8: 4084 version "2.3.8" ··· 4095 resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 4096 integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 4097 4098 - to-object-path@^0.3.0: 4099 - version "0.3.0" 4100 - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" 4101 - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= 4102 - dependencies: 4103 - kind-of "^3.0.2" 4104 - 4105 - to-regex-range@^2.1.0: 4106 - version "2.1.1" 4107 - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" 4108 - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= 4109 - dependencies: 4110 - is-number "^3.0.0" 4111 - repeat-string "^1.6.1" 4112 - 4113 to-regex-range@^5.0.1: 4114 version "5.0.1" 4115 resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" ··· 4117 dependencies: 4118 is-number "^7.0.0" 4119 4120 - to-regex@^3.0.1, to-regex@^3.0.2: 4121 - version "3.0.2" 4122 - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" 4123 - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== 4124 - dependencies: 4125 - define-property "^2.0.2" 4126 - extend-shallow "^3.0.2" 4127 - regex-not "^1.0.2" 4128 - safe-regex "^1.1.0" 4129 - 4130 - tough-cookie@^2.3.3, tough-cookie@~2.5.0: 4131 - version "2.5.0" 4132 - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" 4133 - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== 4134 - dependencies: 4135 - psl "^1.1.28" 4136 - punycode "^2.1.1" 4137 - 4138 - tough-cookie@^3.0.1: 4139 - version "3.0.1" 4140 - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" 4141 - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== 4142 dependencies: 4143 - ip-regex "^2.1.0" 4144 - psl "^1.1.28" 4145 punycode "^2.1.1" 4146 4147 tr46@^2.0.2: 4148 version "2.0.2" ··· 4151 dependencies: 4152 punycode "^2.1.1" 4153 4154 tslib@^1.9.0: 4155 version "1.13.0" 4156 resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" 4157 integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== 4158 4159 - tunnel-agent@^0.6.0: 4160 - version "0.6.0" 4161 - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 4162 - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= 4163 - dependencies: 4164 - safe-buffer "^5.0.1" 4165 - 4166 - tweetnacl@^0.14.3, tweetnacl@~0.14.0: 4167 - version "0.14.5" 4168 - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 4169 - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= 4170 - 4171 type-check@~0.3.2: 4172 version "0.3.2" 4173 resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" ··· 4185 resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" 4186 integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== 4187 4188 - type-fest@^0.6.0: 4189 - version "0.6.0" 4190 - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" 4191 - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== 4192 - 4193 - type-fest@^0.8.1: 4194 - version "0.8.1" 4195 - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" 4196 - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== 4197 - 4198 typedarray-to-buffer@^3.1.5: 4199 version "3.1.5" 4200 resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" ··· 4225 resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" 4226 integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== 4227 4228 - union-value@^1.0.0: 4229 - version "1.0.1" 4230 - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" 4231 - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== 4232 - dependencies: 4233 - arr-union "^3.1.0" 4234 - get-value "^2.0.6" 4235 - is-extendable "^0.1.1" 4236 - set-value "^2.0.1" 4237 - 4238 - unset-value@^1.0.0: 4239 - version "1.0.0" 4240 - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" 4241 - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= 4242 - dependencies: 4243 - has-value "^0.3.1" 4244 - isobject "^3.0.0" 4245 - 4246 - uri-js@^4.2.2: 4247 - version "4.2.2" 4248 - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 4249 - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== 4250 - dependencies: 4251 - punycode "^2.1.0" 4252 - 4253 - urix@^0.1.0: 4254 - version "0.1.0" 4255 - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 4256 - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= 4257 - 4258 - use@^3.1.0: 4259 - version "3.1.1" 4260 - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" 4261 - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== 4262 4263 util-deprecate@~1.0.1: 4264 version "1.0.2" ··· 4270 resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.1.0.tgz#6f1536eb43249f473abc6bd58ff983da1ca30d8d" 4271 integrity sha512-CI18flHDznR0lq54xBycOVmphdCYnQLKn8abKn7PXUiKUGdEd+/l9LWNJmugXel4hXq7S+RMNl34ecyC9TntWg== 4272 4273 - uuid@^3.3.2: 4274 - version "3.4.0" 4275 - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" 4276 - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== 4277 - 4278 - uuid@^7.0.2, uuid@^7.0.3: 4279 - version "7.0.3" 4280 - resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" 4281 - integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== 4282 - 4283 - v8-to-istanbul@^4.1.3: 4284 - version "4.1.4" 4285 - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6" 4286 - integrity sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ== 4287 dependencies: 4288 "@types/istanbul-lib-coverage" "^2.0.1" 4289 convert-source-map "^1.6.0" ··· 4297 spdx-correct "^3.0.0" 4298 spdx-expression-parse "^3.0.0" 4299 4300 - verror@1.10.0: 4301 - version "1.10.0" 4302 - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 4303 - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= 4304 - dependencies: 4305 - assert-plus "^1.0.0" 4306 - core-util-is "1.0.2" 4307 - extsprintf "^1.2.0" 4308 - 4309 vinyl-sourcemaps-apply@^0.2.0: 4310 version "0.2.1" 4311 resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" ··· 4339 dependencies: 4340 xml-name-validator "^3.0.0" 4341 4342 - walker@^1.0.7, walker@~1.0.5: 4343 version "1.0.7" 4344 resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" 4345 integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= 4346 dependencies: 4347 makeerror "1.0.x" 4348 4349 - wcwidth@^1.0.1: 4350 - version "1.0.1" 4351 - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" 4352 - integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= 4353 - dependencies: 4354 - defaults "^1.0.3" 4355 - 4356 webidl-conversions@^5.0.0: 4357 version "5.0.0" 4358 resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" 4359 integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== 4360 4361 - webidl-conversions@^6.0.0: 4362 version "6.1.0" 4363 resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" 4364 integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== ··· 4384 tr46 "^2.0.2" 4385 webidl-conversions "^5.0.0" 4386 4387 - which-module@^2.0.0: 4388 - version "2.0.0" 4389 - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 4390 - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= 4391 4392 which-pm-runs@^1.0.0: 4393 version "1.0.0" ··· 4401 dependencies: 4402 isexe "^2.0.0" 4403 4404 - which@^2.0.1, which@^2.0.2: 4405 version "2.0.2" 4406 resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 4407 integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== ··· 4422 string-width "^4.1.0" 4423 strip-ansi "^6.0.0" 4424 4425 wrappy@1: 4426 version "1.0.2" 4427 resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" ··· 4437 signal-exit "^3.0.2" 4438 typedarray-to-buffer "^3.1.5" 4439 4440 - ws@^7.2.3: 4441 - version "7.3.0" 4442 - resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.0.tgz#4b2f7f219b3d3737bc1a2fbf145d825b94d38ffd" 4443 - integrity sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w== 4444 4445 xml-name-validator@^3.0.0: 4446 version "3.0.0" ··· 4452 resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" 4453 integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== 4454 4455 - y18n@^4.0.0: 4456 - version "4.0.0" 4457 - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" 4458 - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== 4459 4460 - yaml@^1.7.2: 4461 - version "1.10.0" 4462 - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" 4463 - integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== 4464 4465 - yargs-parser@^18.1.1: 4466 - version "18.1.3" 4467 - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" 4468 - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== 4469 - dependencies: 4470 - camelcase "^5.0.0" 4471 - decamelize "^1.2.0" 4472 4473 - yargs@^15.3.1: 4474 - version "15.3.1" 4475 - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" 4476 - integrity sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA== 4477 dependencies: 4478 - cliui "^6.0.0" 4479 - decamelize "^1.2.0" 4480 - find-up "^4.1.0" 4481 - get-caller-file "^2.0.1" 4482 require-directory "^2.1.1" 4483 - require-main-filename "^2.0.0" 4484 - set-blocking "^2.0.0" 4485 string-width "^4.2.0" 4486 - which-module "^2.0.0" 4487 - y18n "^4.0.0" 4488 - yargs-parser "^18.1.1"
··· 10 "@jridgewell/resolve-uri" "1.0.0" 11 sourcemap-codec "1.4.8" 12 13 + "@ampproject/rollup-plugin-closure-compiler@^0.27.0": 14 + version "0.27.0" 15 + resolved "https://registry.yarnpkg.com/@ampproject/rollup-plugin-closure-compiler/-/rollup-plugin-closure-compiler-0.27.0.tgz#fd98e7257946242cc6f3eaf8ae18d4a67a99ed40" 16 + integrity sha512-stpAOn2ZZEJuAV39HFw9cnKJYNhEeHtcsoa83orpLDhSxsxSbVEKwHaWlFBaQYpQRSOdapC4eJhJnCzocZxnqg== 17 dependencies: 18 "@ampproject/remapping" "0.2.0" 19 + acorn "7.3.1" 20 acorn-walk "7.1.1" 21 estree-walker "2.0.1" 22 + google-closure-compiler "20210808.0.0" 23 magic-string "0.25.7" 24 uuid "8.1.0" 25 ··· 30 dependencies: 31 "@babel/highlight" "^7.8.3" 32 33 + "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5": 34 + version "7.14.5" 35 + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" 36 + integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== 37 + dependencies: 38 + "@babel/highlight" "^7.14.5" 39 + 40 + "@babel/compat-data@^7.15.0": 41 + version "7.15.0" 42 + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.15.0.tgz#2dbaf8b85334796cafbb0f5793a90a2fc010b176" 43 + integrity sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA== 44 + 45 + "@babel/core@7.15.0", "@babel/core@^7.7.2": 46 + version "7.15.0" 47 + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.15.0.tgz#749e57c68778b73ad8082775561f67f5196aafa8" 48 + integrity sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw== 49 + dependencies: 50 + "@babel/code-frame" "^7.14.5" 51 + "@babel/generator" "^7.15.0" 52 + "@babel/helper-compilation-targets" "^7.15.0" 53 + "@babel/helper-module-transforms" "^7.15.0" 54 + "@babel/helpers" "^7.14.8" 55 + "@babel/parser" "^7.15.0" 56 + "@babel/template" "^7.14.5" 57 + "@babel/traverse" "^7.15.0" 58 + "@babel/types" "^7.15.0" 59 + convert-source-map "^1.7.0" 60 + debug "^4.1.0" 61 + gensync "^1.0.0-beta.2" 62 + json5 "^2.1.2" 63 + semver "^6.3.0" 64 + source-map "^0.5.0" 65 + 66 + "@babel/core@^7.1.0", "@babel/core@^7.7.5": 67 version "7.9.6" 68 resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.6.tgz#d9aa1f580abf3b2286ef40b6904d390904c63376" 69 integrity sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg== ··· 85 semver "^5.4.1" 86 source-map "^0.5.0" 87 88 + "@babel/generator@^7.15.0", "@babel/generator@^7.7.2": 89 + version "7.15.0" 90 + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.0.tgz#a7d0c172e0d814974bad5aa77ace543b97917f15" 91 + integrity sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ== 92 + dependencies: 93 + "@babel/types" "^7.15.0" 94 + jsesc "^2.5.1" 95 + source-map "^0.5.0" 96 + 97 "@babel/generator@^7.9.6": 98 version "7.9.6" 99 resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.6.tgz#5408c82ac5de98cda0d77d8124e99fa1f2170a43" ··· 104 lodash "^4.17.13" 105 source-map "^0.5.0" 106 107 + "@babel/helper-compilation-targets@^7.15.0": 108 + version "7.15.0" 109 + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz#973df8cbd025515f3ff25db0c05efc704fa79818" 110 + integrity sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A== 111 + dependencies: 112 + "@babel/compat-data" "^7.15.0" 113 + "@babel/helper-validator-option" "^7.14.5" 114 + browserslist "^4.16.6" 115 + semver "^6.3.0" 116 + 117 + "@babel/helper-function-name@^7.14.5": 118 + version "7.14.5" 119 + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4" 120 + integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== 121 + dependencies: 122 + "@babel/helper-get-function-arity" "^7.14.5" 123 + "@babel/template" "^7.14.5" 124 + "@babel/types" "^7.14.5" 125 + 126 "@babel/helper-function-name@^7.9.5": 127 version "7.9.5" 128 resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c" ··· 132 "@babel/template" "^7.8.3" 133 "@babel/types" "^7.9.5" 134 135 + "@babel/helper-get-function-arity@^7.14.5": 136 + version "7.14.5" 137 + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815" 138 + integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== 139 + dependencies: 140 + "@babel/types" "^7.14.5" 141 + 142 "@babel/helper-get-function-arity@^7.8.3": 143 version "7.8.3" 144 resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" ··· 146 dependencies: 147 "@babel/types" "^7.8.3" 148 149 + "@babel/helper-hoist-variables@^7.14.5": 150 + version "7.14.5" 151 + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d" 152 + integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== 153 + dependencies: 154 + "@babel/types" "^7.14.5" 155 + 156 + "@babel/helper-member-expression-to-functions@^7.15.0": 157 + version "7.15.0" 158 + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz#0ddaf5299c8179f27f37327936553e9bba60990b" 159 + integrity sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg== 160 + dependencies: 161 + "@babel/types" "^7.15.0" 162 + 163 "@babel/helper-member-expression-to-functions@^7.8.3": 164 version "7.8.3" 165 resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c" ··· 167 dependencies: 168 "@babel/types" "^7.8.3" 169 170 + "@babel/helper-module-imports@^7.14.5": 171 + version "7.14.5" 172 + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3" 173 + integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== 174 + dependencies: 175 + "@babel/types" "^7.14.5" 176 + 177 + "@babel/helper-module-imports@^7.8.3": 178 version "7.8.3" 179 resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498" 180 integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg== 181 dependencies: 182 "@babel/types" "^7.8.3" 183 184 + "@babel/helper-module-transforms@^7.15.0": 185 + version "7.15.0" 186 + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz#679275581ea056373eddbe360e1419ef23783b08" 187 + integrity sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg== 188 + dependencies: 189 + "@babel/helper-module-imports" "^7.14.5" 190 + "@babel/helper-replace-supers" "^7.15.0" 191 + "@babel/helper-simple-access" "^7.14.8" 192 + "@babel/helper-split-export-declaration" "^7.14.5" 193 + "@babel/helper-validator-identifier" "^7.14.9" 194 + "@babel/template" "^7.14.5" 195 + "@babel/traverse" "^7.15.0" 196 + "@babel/types" "^7.15.0" 197 + 198 "@babel/helper-module-transforms@^7.9.0": 199 version "7.9.0" 200 resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5" ··· 208 "@babel/types" "^7.9.0" 209 lodash "^4.17.13" 210 211 + "@babel/helper-optimise-call-expression@^7.14.5": 212 + version "7.14.5" 213 + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c" 214 + integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA== 215 + dependencies: 216 + "@babel/types" "^7.14.5" 217 + 218 "@babel/helper-optimise-call-expression@^7.8.3": 219 version "7.8.3" 220 resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9" ··· 227 resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670" 228 integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ== 229 230 + "@babel/helper-plugin-utils@^7.10.4": 231 + version "7.10.4" 232 + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" 233 + integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== 234 + 235 + "@babel/helper-plugin-utils@^7.14.5": 236 + version "7.14.5" 237 + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" 238 + integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== 239 + 240 + "@babel/helper-replace-supers@^7.15.0": 241 + version "7.15.0" 242 + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz#ace07708f5bf746bf2e6ba99572cce79b5d4e7f4" 243 + integrity sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA== 244 + dependencies: 245 + "@babel/helper-member-expression-to-functions" "^7.15.0" 246 + "@babel/helper-optimise-call-expression" "^7.14.5" 247 + "@babel/traverse" "^7.15.0" 248 + "@babel/types" "^7.15.0" 249 + 250 "@babel/helper-replace-supers@^7.8.6": 251 version "7.9.6" 252 resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz#03149d7e6a5586ab6764996cd31d6981a17e1444" ··· 257 "@babel/traverse" "^7.9.6" 258 "@babel/types" "^7.9.6" 259 260 + "@babel/helper-simple-access@^7.14.8": 261 + version "7.14.8" 262 + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz#82e1fec0644a7e775c74d305f212c39f8fe73924" 263 + integrity sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg== 264 + dependencies: 265 + "@babel/types" "^7.14.8" 266 + 267 "@babel/helper-simple-access@^7.8.3": 268 version "7.8.3" 269 resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae" ··· 272 "@babel/template" "^7.8.3" 273 "@babel/types" "^7.8.3" 274 275 + "@babel/helper-split-export-declaration@^7.14.5": 276 + version "7.14.5" 277 + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a" 278 + integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== 279 + dependencies: 280 + "@babel/types" "^7.14.5" 281 + 282 "@babel/helper-split-export-declaration@^7.8.3": 283 version "7.8.3" 284 resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" ··· 286 dependencies: 287 "@babel/types" "^7.8.3" 288 289 + "@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9": 290 + version "7.14.9" 291 + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz#6654d171b2024f6d8ee151bf2509699919131d48" 292 + integrity sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g== 293 + 294 "@babel/helper-validator-identifier@^7.9.5": 295 version "7.9.5" 296 resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" 297 integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g== 298 299 + "@babel/helper-validator-option@^7.14.5": 300 + version "7.14.5" 301 + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" 302 + integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== 303 + 304 + "@babel/helpers@^7.14.8": 305 + version "7.15.3" 306 + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.15.3.tgz#c96838b752b95dcd525b4e741ed40bb1dc2a1357" 307 + integrity sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g== 308 + dependencies: 309 + "@babel/template" "^7.14.5" 310 + "@babel/traverse" "^7.15.0" 311 + "@babel/types" "^7.15.0" 312 + 313 "@babel/helpers@^7.9.6": 314 version "7.9.6" 315 resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.6.tgz#092c774743471d0bb6c7de3ad465ab3d3486d580" ··· 319 "@babel/traverse" "^7.9.6" 320 "@babel/types" "^7.9.6" 321 322 + "@babel/highlight@^7.14.5": 323 + version "7.14.5" 324 + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" 325 + integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== 326 + dependencies: 327 + "@babel/helper-validator-identifier" "^7.14.5" 328 + chalk "^2.0.0" 329 + js-tokens "^4.0.0" 330 + 331 "@babel/highlight@^7.8.3": 332 version "7.8.3" 333 resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797" ··· 341 version "7.9.6" 342 resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7" 343 integrity sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q== 344 + 345 + "@babel/parser@^7.14.5", "@babel/parser@^7.15.0", "@babel/parser@^7.7.2": 346 + version "7.15.3" 347 + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.3.tgz#3416d9bea748052cfcb63dbcc27368105b1ed862" 348 + integrity sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA== 349 350 "@babel/plugin-syntax-async-generators@^7.8.4": 351 version "7.8.4" ··· 368 dependencies: 369 "@babel/helper-plugin-utils" "^7.8.3" 370 371 + "@babel/plugin-syntax-import-meta@^7.8.3": 372 + version "7.10.4" 373 + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" 374 + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== 375 + dependencies: 376 + "@babel/helper-plugin-utils" "^7.10.4" 377 + 378 "@babel/plugin-syntax-json-strings@^7.8.3": 379 version "7.8.3" 380 resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" ··· 424 dependencies: 425 "@babel/helper-plugin-utils" "^7.8.0" 426 427 + "@babel/plugin-syntax-top-level-await@^7.8.3": 428 + version "7.14.5" 429 + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" 430 + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== 431 + dependencies: 432 + "@babel/helper-plugin-utils" "^7.14.5" 433 + 434 + "@babel/plugin-syntax-typescript@^7.7.2": 435 + version "7.14.5" 436 + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716" 437 + integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q== 438 dependencies: 439 + "@babel/helper-plugin-utils" "^7.14.5" 440 + 441 + "@babel/plugin-transform-modules-commonjs@^7.15.0": 442 + version "7.15.0" 443 + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz#3305896e5835f953b5cdb363acd9e8c2219a5281" 444 + integrity sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig== 445 + dependencies: 446 + "@babel/helper-module-transforms" "^7.15.0" 447 + "@babel/helper-plugin-utils" "^7.14.5" 448 + "@babel/helper-simple-access" "^7.14.8" 449 babel-plugin-dynamic-import-node "^2.3.3" 450 451 + "@babel/plugin-transform-template-literals@^7.14.5": 452 + version "7.14.5" 453 + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz#a5f2bc233937d8453885dc736bdd8d9ffabf3d93" 454 + integrity sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg== 455 dependencies: 456 + "@babel/helper-plugin-utils" "^7.14.5" 457 + 458 + "@babel/template@^7.14.5": 459 + version "7.14.5" 460 + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4" 461 + integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== 462 + dependencies: 463 + "@babel/code-frame" "^7.14.5" 464 + "@babel/parser" "^7.14.5" 465 + "@babel/types" "^7.14.5" 466 467 "@babel/template@^7.3.3", "@babel/template@^7.8.3", "@babel/template@^7.8.6": 468 version "7.8.6" ··· 488 globals "^11.1.0" 489 lodash "^4.17.13" 490 491 + "@babel/traverse@^7.15.0", "@babel/traverse@^7.7.2": 492 + version "7.15.0" 493 + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.0.tgz#4cca838fd1b2a03283c1f38e141f639d60b3fc98" 494 + integrity sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw== 495 + dependencies: 496 + "@babel/code-frame" "^7.14.5" 497 + "@babel/generator" "^7.15.0" 498 + "@babel/helper-function-name" "^7.14.5" 499 + "@babel/helper-hoist-variables" "^7.14.5" 500 + "@babel/helper-split-export-declaration" "^7.14.5" 501 + "@babel/parser" "^7.15.0" 502 + "@babel/types" "^7.15.0" 503 + debug "^4.1.0" 504 + globals "^11.1.0" 505 + 506 "@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.9.0", "@babel/types@^7.9.5", "@babel/types@^7.9.6": 507 version "7.9.6" 508 resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7" ··· 512 lodash "^4.17.13" 513 to-fast-properties "^2.0.0" 514 515 + "@babel/types@^7.14.5", "@babel/types@^7.14.8", "@babel/types@^7.15.0": 516 + version "7.15.0" 517 + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd" 518 + integrity sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ== 519 + dependencies: 520 + "@babel/helper-validator-identifier" "^7.14.9" 521 + to-fast-properties "^2.0.0" 522 + 523 "@bcoe/v8-coverage@^0.2.3": 524 version "0.2.3" 525 resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" 526 integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== 527 528 "@istanbuljs/load-nyc-config@^1.0.0": 529 version "1.0.0" ··· 540 resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" 541 integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== 542 543 + "@jest/console@^27.1.0": 544 + version "27.1.0" 545 + resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.1.0.tgz#de13b603cb1d389b50c0dc6296e86e112381e43c" 546 + integrity sha512-+Vl+xmLwAXLNlqT61gmHEixeRbS4L8MUzAjtpBCOPWH+izNI/dR16IeXjkXJdRtIVWVSf9DO1gdp67B1XorZhQ== 547 dependencies: 548 + "@jest/types" "^27.1.0" 549 + "@types/node" "*" 550 chalk "^4.0.0" 551 + jest-message-util "^27.1.0" 552 + jest-util "^27.1.0" 553 slash "^3.0.0" 554 555 + "@jest/core@^27.1.0": 556 + version "27.1.0" 557 + resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.1.0.tgz#622220f18032f5869e579cecbe744527238648bf" 558 + integrity sha512-3l9qmoknrlCFKfGdrmiQiPne+pUR4ALhKwFTYyOeKw6egfDwJkO21RJ1xf41rN8ZNFLg5W+w6+P4fUqq4EMRWA== 559 dependencies: 560 + "@jest/console" "^27.1.0" 561 + "@jest/reporters" "^27.1.0" 562 + "@jest/test-result" "^27.1.0" 563 + "@jest/transform" "^27.1.0" 564 + "@jest/types" "^27.1.0" 565 + "@types/node" "*" 566 ansi-escapes "^4.2.1" 567 chalk "^4.0.0" 568 + emittery "^0.8.1" 569 exit "^0.1.2" 570 graceful-fs "^4.2.4" 571 + jest-changed-files "^27.1.0" 572 + jest-config "^27.1.0" 573 + jest-haste-map "^27.1.0" 574 + jest-message-util "^27.1.0" 575 + jest-regex-util "^27.0.6" 576 + jest-resolve "^27.1.0" 577 + jest-resolve-dependencies "^27.1.0" 578 + jest-runner "^27.1.0" 579 + jest-runtime "^27.1.0" 580 + jest-snapshot "^27.1.0" 581 + jest-util "^27.1.0" 582 + jest-validate "^27.1.0" 583 + jest-watcher "^27.1.0" 584 + micromatch "^4.0.4" 585 p-each-series "^2.1.0" 586 rimraf "^3.0.0" 587 slash "^3.0.0" 588 strip-ansi "^6.0.0" 589 590 + "@jest/environment@^27.1.0": 591 + version "27.1.0" 592 + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.1.0.tgz#c7224a67004759ec203d8fa44e8bc0db93f66c44" 593 + integrity sha512-wRp50aAMY2w1U2jP1G32d6FUVBNYqmk8WaGkiIEisU48qyDV0WPtw3IBLnl7orBeggveommAkuijY+RzVnNDOQ== 594 dependencies: 595 + "@jest/fake-timers" "^27.1.0" 596 + "@jest/types" "^27.1.0" 597 + "@types/node" "*" 598 + jest-mock "^27.1.0" 599 600 + "@jest/fake-timers@^27.1.0": 601 + version "27.1.0" 602 + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.1.0.tgz#c0b343d8a16af17eab2cb6862e319947c0ea2abe" 603 + integrity sha512-22Zyn8il8DzpS+30jJNVbTlm7vAtnfy1aYvNeOEHloMlGy1PCYLHa4PWlSws0hvNsMM5bON6GISjkLoQUV3oMA== 604 dependencies: 605 + "@jest/types" "^27.1.0" 606 + "@sinonjs/fake-timers" "^7.0.2" 607 + "@types/node" "*" 608 + jest-message-util "^27.1.0" 609 + jest-mock "^27.1.0" 610 + jest-util "^27.1.0" 611 612 + "@jest/globals@^27.1.0": 613 + version "27.1.0" 614 + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.1.0.tgz#e093a49c718dd678a782c197757775534c88d3f2" 615 + integrity sha512-73vLV4aNHAlAgjk0/QcSIzzCZSqVIPbmFROJJv9D3QUR7BI4f517gVdJpSrCHxuRH3VZFhe0yGG/tmttlMll9g== 616 dependencies: 617 + "@jest/environment" "^27.1.0" 618 + "@jest/types" "^27.1.0" 619 + expect "^27.1.0" 620 621 + "@jest/reporters@^27.1.0": 622 + version "27.1.0" 623 + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.1.0.tgz#02ed1e6601552c2f6447378533f77aad002781d4" 624 + integrity sha512-5T/zlPkN2HnK3Sboeg64L5eC8iiaZueLpttdktWTJsvALEtP2YMkC5BQxwjRWQACG9SwDmz+XjjkoxXUDMDgdw== 625 dependencies: 626 "@bcoe/v8-coverage" "^0.2.3" 627 + "@jest/console" "^27.1.0" 628 + "@jest/test-result" "^27.1.0" 629 + "@jest/transform" "^27.1.0" 630 + "@jest/types" "^27.1.0" 631 chalk "^4.0.0" 632 collect-v8-coverage "^1.0.0" 633 exit "^0.1.2" 634 glob "^7.1.2" 635 graceful-fs "^4.2.4" 636 istanbul-lib-coverage "^3.0.0" 637 + istanbul-lib-instrument "^4.0.3" 638 istanbul-lib-report "^3.0.0" 639 istanbul-lib-source-maps "^4.0.0" 640 istanbul-reports "^3.0.2" 641 + jest-haste-map "^27.1.0" 642 + jest-resolve "^27.1.0" 643 + jest-util "^27.1.0" 644 + jest-worker "^27.1.0" 645 slash "^3.0.0" 646 source-map "^0.6.0" 647 string-length "^4.0.1" 648 terminal-link "^2.0.0" 649 + v8-to-istanbul "^8.0.0" 650 651 + "@jest/source-map@^27.0.6": 652 + version "27.0.6" 653 + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.6.tgz#be9e9b93565d49b0548b86e232092491fb60551f" 654 + integrity sha512-Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g== 655 dependencies: 656 callsites "^3.0.0" 657 graceful-fs "^4.2.4" 658 source-map "^0.6.0" 659 660 + "@jest/test-result@^27.1.0": 661 + version "27.1.0" 662 + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.1.0.tgz#9345ae5f97f6a5287af9ebd54716cd84331d42e8" 663 + integrity sha512-Aoz00gpDL528ODLghat3QSy6UBTD5EmmpjrhZZMK/v1Q2/rRRqTGnFxHuEkrD4z/Py96ZdOHxIWkkCKRpmnE1A== 664 dependencies: 665 + "@jest/console" "^27.1.0" 666 + "@jest/types" "^27.1.0" 667 "@types/istanbul-lib-coverage" "^2.0.0" 668 collect-v8-coverage "^1.0.0" 669 670 + "@jest/test-sequencer@^27.1.0": 671 + version "27.1.0" 672 + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.1.0.tgz#04e8b3bd735570d3d48865e74977a14dc99bff2d" 673 + integrity sha512-lnCWawDr6Z1DAAK9l25o3AjmKGgcutq1iIbp+hC10s/HxnB8ZkUsYq1FzjOoxxZ5hW+1+AthBtvS4x9yno3V1A== 674 dependencies: 675 + "@jest/test-result" "^27.1.0" 676 graceful-fs "^4.2.4" 677 + jest-haste-map "^27.1.0" 678 + jest-runtime "^27.1.0" 679 680 + "@jest/transform@^27.1.0": 681 + version "27.1.0" 682 + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.1.0.tgz#962e385517e3d1f62827fa39c305edcc3ca8544b" 683 + integrity sha512-ZRGCA2ZEVJ00ubrhkTG87kyLbN6n55g1Ilq0X9nJb5bX3MhMp3O6M7KG+LvYu+nZRqG5cXsQnJEdZbdpTAV8pQ== 684 dependencies: 685 "@babel/core" "^7.1.0" 686 + "@jest/types" "^27.1.0" 687 babel-plugin-istanbul "^6.0.0" 688 chalk "^4.0.0" 689 convert-source-map "^1.4.0" 690 fast-json-stable-stringify "^2.0.0" 691 graceful-fs "^4.2.4" 692 + jest-haste-map "^27.1.0" 693 + jest-regex-util "^27.0.6" 694 + jest-util "^27.1.0" 695 + micromatch "^4.0.4" 696 pirates "^4.0.1" 697 slash "^3.0.0" 698 source-map "^0.6.1" 699 write-file-atomic "^3.0.0" 700 701 + "@jest/types@^27.1.0": 702 + version "27.1.0" 703 + resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.1.0.tgz#674a40325eab23c857ebc0689e7e191a3c5b10cc" 704 + integrity sha512-pRP5cLIzN7I7Vp6mHKRSaZD7YpBTK7hawx5si8trMKqk4+WOdK8NEKOTO2G8PKWD1HbKMVckVB6/XHh/olhf2g== 705 dependencies: 706 "@types/istanbul-lib-coverage" "^2.0.0" 707 + "@types/istanbul-reports" "^3.0.0" 708 + "@types/node" "*" 709 + "@types/yargs" "^16.0.0" 710 chalk "^4.0.0" 711 712 "@jridgewell/resolve-uri@1.0.0": ··· 723 "@types/buble" "^0.19.2" 724 buble "^0.20.0" 725 726 + "@rollup/plugin-commonjs@^20.0.0": 727 + version "20.0.0" 728 + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-20.0.0.tgz#3246872dcbcb18a54aaa6277a8c7d7f1b155b745" 729 + integrity sha512-5K0g5W2Ol8hAcTHqcTBHiA7M58tfmYi1o9KxeJuuRNpGaTa5iLjcyemBitCBcKXaHamOBBEH2dGom6v6Unmqjg== 730 dependencies: 731 + "@rollup/pluginutils" "^3.1.0" 732 commondir "^1.0.1" 733 + estree-walker "^2.0.1" 734 + glob "^7.1.6" 735 + is-reference "^1.2.1" 736 + magic-string "^0.25.7" 737 + resolve "^1.17.0" 738 739 + "@rollup/plugin-node-resolve@^13.0.4": 740 + version "13.0.4" 741 + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.4.tgz#b10222f4145a019740acb7738402130d848660c0" 742 + integrity sha512-eYq4TFy40O8hjeDs+sIxEH/jc9lyuI2k9DM557WN6rO5OpnC2qXMBNj4IKH1oHrnAazL49C5p0tgP0/VpqJ+/w== 743 dependencies: 744 + "@rollup/pluginutils" "^3.1.0" 745 + "@types/resolve" "1.17.1" 746 builtin-modules "^3.1.0" 747 + deepmerge "^4.2.2" 748 is-module "^1.0.0" 749 + resolve "^1.19.0" 750 751 "@rollup/pluginutils@^3.0.8": 752 version "3.0.10" ··· 757 estree-walker "^1.0.1" 758 picomatch "^2.2.2" 759 760 + "@rollup/pluginutils@^3.1.0": 761 + version "3.1.0" 762 + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" 763 + integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== 764 dependencies: 765 + "@types/estree" "0.0.39" 766 + estree-walker "^1.0.1" 767 picomatch "^2.2.2" 768 769 + "@rollup/pluginutils@^4.1.1": 770 + version "4.1.1" 771 + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.1.tgz#1d4da86dd4eded15656a57d933fda2b9a08d47ec" 772 + integrity sha512-clDjivHqWGXi7u+0d2r2sBi4Ie6VLEAzWMIkvJLnDmxoOhBYOTfzGbOQBA32THHm11/LiJbd01tJUpJsbshSWQ== 773 dependencies: 774 + estree-walker "^2.0.1" 775 + picomatch "^2.2.2" 776 777 "@sinonjs/commons@^1.7.0": 778 version "1.7.2" ··· 781 dependencies: 782 type-detect "4.0.8" 783 784 + "@sinonjs/fake-timers@^7.0.2": 785 + version "7.1.2" 786 + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz#2524eae70c4910edccf99b2f4e6efc5894aff7b5" 787 + integrity sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg== 788 dependencies: 789 "@sinonjs/commons" "^1.7.0" 790 791 + "@sucrase/jest-plugin@^2.1.1": 792 + version "2.1.1" 793 + resolved "https://registry.yarnpkg.com/@sucrase/jest-plugin/-/jest-plugin-2.1.1.tgz#b1e5192e7057fec159151b6aed96eb5b3c08d5c4" 794 + integrity sha512-1j+exUcbLRgka2lq/i0IVOYcmrMW1wYPtxJY/+RvZkAQG9GD7lygj5OiHWFKWmynltAg9+x1d5NWQQYNdBTkpQ== 795 + dependencies: 796 + sucrase "^3.18.0" 797 + 798 + "@tootallnate/once@1": 799 + version "1.1.2" 800 + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" 801 + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== 802 + 803 + "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": 804 + version "7.1.15" 805 + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.15.tgz#2ccfb1ad55a02c83f8e0ad327cbc332f55eb1024" 806 + integrity sha512-bxlMKPDbY8x5h6HBwVzEOk2C8fb6SLfYQ5Jw3uBYuYF1lfWk/kbLd81la82vrIkBb0l+JdmrZaDikPrNxpS/Ew== 807 dependencies: 808 "@babel/parser" "^7.1.0" 809 "@babel/types" "^7.0.0" ··· 833 dependencies: 834 "@babel/types" "^7.3.0" 835 836 + "@types/babel__traverse@^7.0.4": 837 + version "7.14.2" 838 + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" 839 + integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== 840 + dependencies: 841 + "@babel/types" "^7.3.0" 842 + 843 "@types/buble@^0.19.2": 844 version "0.19.2" 845 resolved "https://registry.yarnpkg.com/@types/buble/-/buble-0.19.2.tgz#a4289d20b175b3c206aaad80caabdabe3ecdfdd1" ··· 851 version "1.1.1" 852 resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" 853 integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== 854 + 855 + "@types/estree@*": 856 + version "0.0.50" 857 + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" 858 + integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== 859 860 "@types/estree@0.0.39": 861 version "0.0.39" ··· 881 dependencies: 882 "@types/istanbul-lib-coverage" "*" 883 884 + "@types/istanbul-reports@^3.0.0": 885 + version "3.0.1" 886 + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" 887 + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== 888 dependencies: 889 "@types/istanbul-lib-report" "*" 890 891 "@types/node@*": ··· 893 resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.1.tgz#5d93e0a099cd0acd5ef3d5bde3c086e1f49ff68c" 894 integrity sha512-FAYBGwC+W6F9+huFIDtn43cpy7+SzG+atzRiTfdp3inUKL2hXnd4rG8hylJLIh4+hqrQy1P17kvJByE/z825hA== 895 896 "@types/parse-json@^4.0.0": 897 version "4.0.0" 898 resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" 899 integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== 900 901 + "@types/prettier@^2.1.5": 902 + version "2.3.2" 903 + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.2.tgz#fc8c2825e4ed2142473b4a81064e6e081463d1b3" 904 + integrity sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog== 905 906 + "@types/resolve@1.17.1": 907 + version "1.17.1" 908 + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" 909 + integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== 910 dependencies: 911 "@types/node" "*" 912 913 + "@types/stack-utils@^2.0.0": 914 + version "2.0.1" 915 + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" 916 + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== 917 918 "@types/yargs-parser@*": 919 version "15.0.0" 920 resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" 921 integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== 922 923 + "@types/yargs@^16.0.0": 924 + version "16.0.4" 925 + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" 926 + integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== 927 dependencies: 928 "@types/yargs-parser" "*" 929 ··· 931 version "2.0.3" 932 resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" 933 integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg== 934 + 935 + abab@^2.0.5: 936 + version "2.0.5" 937 + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" 938 + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== 939 940 acorn-dynamic-import@^4.0.0: 941 version "4.0.0" ··· 960 resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e" 961 integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ== 962 963 + acorn@7.3.1: 964 + version "7.3.1" 965 + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd" 966 + integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA== 967 968 acorn@^6.4.1: 969 version "6.4.1" 970 resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" 971 integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== 972 973 + acorn@^7.1.1: 974 + version "7.2.0" 975 + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.2.0.tgz#17ea7e40d7c8640ff54a694c889c26f31704effe" 976 + integrity sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ== 977 + 978 + acorn@^8.2.4: 979 + version "8.4.1" 980 + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c" 981 + integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA== 982 + 983 + agent-base@6: 984 + version "6.0.2" 985 + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" 986 + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== 987 + dependencies: 988 + debug "4" 989 + 990 aggregate-error@^3.0.0: 991 version "3.0.1" 992 resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" ··· 995 clean-stack "^2.0.0" 996 indent-string "^4.0.0" 997 998 + ansi-colors@^4.1.1: 999 + version "4.1.1" 1000 + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" 1001 + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 1002 1003 ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: 1004 version "4.3.1" ··· 1027 "@types/color-name" "^1.1.1" 1028 color-convert "^2.0.1" 1029 1030 + ansi-styles@^5.0.0: 1031 + version "5.2.0" 1032 + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" 1033 + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== 1034 1035 + any-promise@^1.0.0: 1036 + version "1.3.0" 1037 + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" 1038 + integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= 1039 1040 anymatch@^3.0.3: 1041 version "3.1.1" ··· 1052 dependencies: 1053 sprintf-js "~1.0.2" 1054 1055 astral-regex@^2.0.0: 1056 version "2.0.0" 1057 resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" ··· 1062 resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 1063 integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 1064 1065 + babel-jest@^27.1.0: 1066 + version "27.1.0" 1067 + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.1.0.tgz#e96ca04554fd32274439869e2b6d24de9d91bc4e" 1068 + integrity sha512-6NrdqzaYemALGCuR97QkC/FkFIEBWP5pw5TMJoUHZTVXyOgocujp6A0JE2V6gE0HtqAAv6VKU/nI+OCR1Z4gHA== 1069 dependencies: 1070 + "@jest/transform" "^27.1.0" 1071 + "@jest/types" "^27.1.0" 1072 + "@types/babel__core" "^7.1.14" 1073 babel-plugin-istanbul "^6.0.0" 1074 + babel-preset-jest "^27.0.6" 1075 chalk "^4.0.0" 1076 graceful-fs "^4.2.4" 1077 slash "^3.0.0" 1078 1079 + babel-plugin-closure-elimination@^1.3.2: 1080 + version "1.3.2" 1081 + resolved "https://registry.yarnpkg.com/babel-plugin-closure-elimination/-/babel-plugin-closure-elimination-1.3.2.tgz#2c9a90360bdf888fd3b3694391a745a70ce18c34" 1082 + integrity sha512-GJnezbVp5ejiwh74fXJPznsrrWHR9bTuJV20FhXivbgEtg1WyNG/9KaDyHEpfU7G9iB6Gy+F2UffYLZ7DJh+Jw== 1083 1084 babel-plugin-dynamic-import-node@^2.3.3: 1085 version "2.3.3" ··· 1099 istanbul-lib-instrument "^4.0.0" 1100 test-exclude "^6.0.0" 1101 1102 + babel-plugin-jest-hoist@^27.0.6: 1103 + version "27.0.6" 1104 + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.6.tgz#f7c6b3d764af21cb4a2a1ab6870117dbde15b456" 1105 + integrity sha512-CewFeM9Vv2gM7Yr9n5eyyLVPRSiBnk6lKZRjgwYnGKSl9M14TMn2vkN02wTF04OGuSDLEzlWiMzvjXuW9mB6Gw== 1106 dependencies: 1107 "@babel/template" "^7.3.3" 1108 "@babel/types" "^7.3.3" 1109 + "@types/babel__core" "^7.0.0" 1110 "@types/babel__traverse" "^7.0.6" 1111 1112 + babel-preset-current-node-syntax@^1.0.0: 1113 + version "1.0.1" 1114 + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" 1115 + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== 1116 dependencies: 1117 "@babel/plugin-syntax-async-generators" "^7.8.4" 1118 "@babel/plugin-syntax-bigint" "^7.8.3" 1119 "@babel/plugin-syntax-class-properties" "^7.8.3" 1120 + "@babel/plugin-syntax-import-meta" "^7.8.3" 1121 "@babel/plugin-syntax-json-strings" "^7.8.3" 1122 "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" 1123 "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" ··· 1125 "@babel/plugin-syntax-object-rest-spread" "^7.8.3" 1126 "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" 1127 "@babel/plugin-syntax-optional-chaining" "^7.8.3" 1128 + "@babel/plugin-syntax-top-level-await" "^7.8.3" 1129 1130 + babel-preset-jest@^27.0.6: 1131 + version "27.0.6" 1132 + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.0.6.tgz#909ef08e9f24a4679768be2f60a3df0856843f9d" 1133 + integrity sha512-WObA0/Biw2LrVVwZkF/2GqbOdzhKD6Fkdwhoy9ASIrOWr/zodcSpQh72JOkEn6NWyjmnPDjNSqaGN4KnpKzhXw== 1134 dependencies: 1135 + babel-plugin-jest-hoist "^27.0.6" 1136 + babel-preset-current-node-syntax "^1.0.0" 1137 1138 balanced-match@^1.0.0: 1139 version "1.0.0" 1140 resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 1141 integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 1142 1143 brace-expansion@^1.1.7: 1144 version "1.1.11" 1145 resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" ··· 1148 balanced-match "^1.0.0" 1149 concat-map "0.0.1" 1150 1151 braces@^3.0.1: 1152 version "3.0.2" 1153 resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" ··· 1160 resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" 1161 integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== 1162 1163 + browserslist@^4.16.6: 1164 + version "4.16.8" 1165 + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.8.tgz#cb868b0b554f137ba6e33de0ecff2eda403c4fb0" 1166 + integrity sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ== 1167 + dependencies: 1168 + caniuse-lite "^1.0.30001251" 1169 + colorette "^1.3.0" 1170 + electron-to-chromium "^1.3.811" 1171 + escalade "^3.1.1" 1172 + node-releases "^1.1.75" 1173 + 1174 bser@2.1.1: 1175 version "2.1.1" 1176 resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" ··· 1201 resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" 1202 integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== 1203 1204 callsites@^3.0.0: 1205 version "3.1.0" 1206 resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 1207 integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 1208 1209 + camelcase@^5.3.1: 1210 version "5.3.1" 1211 resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 1212 integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 1213 1214 + camelcase@^6.2.0: 1215 + version "6.2.0" 1216 + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" 1217 + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== 1218 1219 + caniuse-lite@^1.0.30001251: 1220 + version "1.0.30001252" 1221 + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001252.tgz#cb16e4e3dafe948fc4a9bb3307aea054b912019a" 1222 + integrity sha512-I56jhWDGMtdILQORdusxBOH+Nl/KgQSdDmpJezYddnAkVOmnoU8zwjTV9xAjMIYxr0iPreEAVylCGcmHCjfaOw== 1223 1224 chalk@2.x, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: 1225 version "2.4.2" ··· 1230 escape-string-regexp "^1.0.5" 1231 supports-color "^5.3.0" 1232 1233 + chalk@^4.0.0: 1234 + version "4.0.0" 1235 + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72" 1236 + integrity sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A== 1237 dependencies: 1238 ansi-styles "^4.1.0" 1239 supports-color "^7.1.0" 1240 1241 + chalk@^4.1.0, chalk@^4.1.1: 1242 + version "4.1.2" 1243 + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 1244 + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 1245 dependencies: 1246 ansi-styles "^4.1.0" 1247 supports-color "^7.1.0" ··· 1256 resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" 1257 integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== 1258 1259 + ci-info@^3.1.1: 1260 + version "3.2.0" 1261 + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6" 1262 + integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== 1263 + 1264 + cjs-module-lexer@^1.0.0: 1265 + version "1.2.2" 1266 + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" 1267 + integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== 1268 1269 clean-stack@^2.0.0: 1270 version "2.2.0" ··· 1286 slice-ansi "^3.0.0" 1287 string-width "^4.2.0" 1288 1289 + cliui@^7.0.2: 1290 + version "7.0.4" 1291 + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 1292 + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 1293 dependencies: 1294 string-width "^4.2.0" 1295 strip-ansi "^6.0.0" 1296 + wrap-ansi "^7.0.0" 1297 1298 clone-buffer@^1.0.0: 1299 version "1.0.0" ··· 1304 version "1.0.0" 1305 resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" 1306 integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= 1307 1308 clone@^2.1.1: 1309 version "2.1.2" ··· 1329 resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" 1330 integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== 1331 1332 color-convert@^1.9.0: 1333 version "1.9.3" 1334 resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" ··· 1353 resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 1354 integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 1355 1356 + colorette@^1.2.2, colorette@^1.3.0: 1357 + version "1.3.0" 1358 + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.3.0.tgz#ff45d2f0edb244069d3b772adeb04fed38d0a0af" 1359 + integrity sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w== 1360 + 1361 + combined-stream@^1.0.8: 1362 version "1.0.8" 1363 resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 1364 integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 1365 dependencies: 1366 delayed-stream "~1.0.0" 1367 1368 + commander@^4.0.0: 1369 + version "4.1.1" 1370 + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" 1371 + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== 1372 + 1373 + commander@^7.2.0: 1374 + version "7.2.0" 1375 + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" 1376 + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== 1377 1378 commondir@^1.0.1: 1379 version "1.0.1" ··· 1385 resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" 1386 integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== 1387 1388 concat-map@0.0.1: 1389 version "0.0.1" 1390 resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" ··· 1397 dependencies: 1398 safe-buffer "~5.1.1" 1399 1400 + core-util-is@~1.0.0: 1401 version "1.0.2" 1402 resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 1403 integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 1404 1405 + cosmiconfig@^7.0.0: 1406 + version "7.0.1" 1407 + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" 1408 + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== 1409 dependencies: 1410 "@types/parse-json" "^4.0.0" 1411 + import-fresh "^3.2.1" 1412 parse-json "^5.0.0" 1413 path-type "^4.0.0" 1414 + yaml "^1.10.0" 1415 1416 + cross-spawn@^6.0.5: 1417 version "6.0.5" 1418 resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 1419 integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== ··· 1424 shebang-command "^1.2.0" 1425 which "^1.2.9" 1426 1427 + cross-spawn@^7.0.3: 1428 + version "7.0.3" 1429 + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 1430 + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 1431 dependencies: 1432 path-key "^3.1.0" 1433 shebang-command "^2.0.0" ··· 1443 resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" 1444 integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== 1445 1446 + cssstyle@^2.3.0: 1447 version "2.3.0" 1448 resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" 1449 integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== 1450 dependencies: 1451 cssom "~0.3.6" 1452 1453 data-urls@^2.0.0: 1454 version "2.0.0" ··· 1459 whatwg-mimetype "^2.3.0" 1460 whatwg-url "^8.0.0" 1461 1462 + debug@4, debug@^4.3.1: 1463 + version "4.3.2" 1464 + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" 1465 + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== 1466 dependencies: 1467 + ms "2.1.2" 1468 1469 debug@^4.1.0, debug@^4.1.1: 1470 version "4.1.1" ··· 1473 dependencies: 1474 ms "^2.1.1" 1475 1476 + decimal.js@^10.2.1: 1477 + version "10.3.1" 1478 + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" 1479 + integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== 1480 1481 dedent@^0.7.0: 1482 version "0.7.0" ··· 1493 resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" 1494 integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== 1495 1496 define-properties@^1.1.2, define-properties@^1.1.3: 1497 version "1.1.3" 1498 resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" ··· 1500 dependencies: 1501 object-keys "^1.0.12" 1502 1503 delayed-stream@~1.0.0: 1504 version "1.0.0" 1505 resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" ··· 1510 resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" 1511 integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== 1512 1513 + diff-sequences@^27.0.6: 1514 + version "27.0.6" 1515 + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723" 1516 + integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ== 1517 1518 domexception@^2.0.1: 1519 version "2.0.1" ··· 1522 dependencies: 1523 webidl-conversions "^5.0.0" 1524 1525 + electron-to-chromium@^1.3.811: 1526 + version "1.3.822" 1527 + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.822.tgz#7036edc7f669b0aa79e9801dc5f56866c6ddc0b2" 1528 + integrity sha512-k7jG5oYYHxF4jx6PcqwHX3JVME/OjzolqOZiIogi9xtsfsmTjTdie4x88OakYFPEa8euciTgCCzvVNwvmjHb1Q== 1529 1530 + emittery@^0.8.1: 1531 + version "0.8.1" 1532 + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" 1533 + integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== 1534 1535 emoji-regex@^8.0.0: 1536 version "8.0.0" 1537 resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 1538 integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 1539 1540 + enquirer@^2.3.6: 1541 + version "2.3.6" 1542 + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" 1543 + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== 1544 dependencies: 1545 + ansi-colors "^4.1.1" 1546 1547 error-ex@^1.3.1: 1548 version "1.3.2" ··· 1577 is-date-object "^1.0.1" 1578 is-symbol "^1.0.2" 1579 1580 + escalade@^3.1.1: 1581 + version "3.1.1" 1582 + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 1583 + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 1584 + 1585 escape-string-regexp@^1.0.5: 1586 version "1.0.5" 1587 resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" ··· 1592 resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" 1593 integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== 1594 1595 + escodegen@^2.0.0: 1596 + version "2.0.0" 1597 + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" 1598 + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== 1599 dependencies: 1600 esprima "^4.0.1" 1601 + estraverse "^5.2.0" 1602 esutils "^2.0.2" 1603 optionator "^0.8.1" 1604 optionalDependencies: ··· 1609 resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1610 integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 1611 1612 + estraverse@^5.2.0: 1613 + version "5.2.0" 1614 + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" 1615 + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== 1616 1617 estree-walker@2.0.1, estree-walker@^2.0.1: 1618 version "2.0.1" 1619 resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.1.tgz#f8e030fb21cefa183b44b7ad516b747434e7a3e0" 1620 integrity sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg== 1621 1622 estree-walker@^1.0.1: 1623 version "1.0.1" 1624 resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" ··· 1629 resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1630 integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 1631 1632 + execa@^5.0.0: 1633 + version "5.1.1" 1634 + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" 1635 + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== 1636 dependencies: 1637 + cross-spawn "^7.0.3" 1638 + get-stream "^6.0.0" 1639 + human-signals "^2.1.0" 1640 is-stream "^2.0.0" 1641 merge-stream "^2.0.0" 1642 + npm-run-path "^4.0.1" 1643 + onetime "^5.1.2" 1644 + signal-exit "^3.0.3" 1645 strip-final-newline "^2.0.0" 1646 1647 exit@^0.1.2: ··· 1649 resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" 1650 integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= 1651 1652 + expect@^27.1.0: 1653 + version "27.1.0" 1654 + resolved "https://registry.yarnpkg.com/expect/-/expect-27.1.0.tgz#380de0abb3a8f2299c4c6c66bbe930483b5dba9b" 1655 + integrity sha512-9kJngV5hOJgkFil4F/uXm3hVBubUK2nERVfvqNNwxxuW8ZOUwSTTSysgfzckYtv/LBzj/LJXbiAF7okHCXgdug== 1656 dependencies: 1657 + "@jest/types" "^27.1.0" 1658 + ansi-styles "^5.0.0" 1659 + jest-get-type "^27.0.6" 1660 + jest-matcher-utils "^27.1.0" 1661 + jest-message-util "^27.1.0" 1662 + jest-regex-util "^27.0.6" 1663 1664 fast-json-stable-stringify@^2.0.0: 1665 version "2.1.0" ··· 1678 dependencies: 1679 bser "2.1.1" 1680 1681 fill-range@^7.0.1: 1682 version "7.0.1" 1683 resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" ··· 1693 locate-path "^5.0.0" 1694 path-exists "^4.0.0" 1695 1696 + find-up@^5.0.0: 1697 + version "5.0.0" 1698 + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 1699 + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 1700 dependencies: 1701 + locate-path "^6.0.0" 1702 + path-exists "^4.0.0" 1703 1704 + find-versions@^4.0.0: 1705 + version "4.0.0" 1706 + resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-4.0.0.tgz#3c57e573bf97769b8cb8df16934b627915da4965" 1707 + integrity sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ== 1708 + dependencies: 1709 + semver-regex "^3.1.2" 1710 1711 + form-data@^3.0.0: 1712 + version "3.0.1" 1713 + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" 1714 + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== 1715 dependencies: 1716 asynckit "^0.4.0" 1717 + combined-stream "^1.0.8" 1718 mime-types "^2.1.12" 1719 1720 fs.realpath@^1.0.0: 1721 version "1.0.0" 1722 resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1723 integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1724 1725 + fsevents@^2.3.2, fsevents@~2.3.2: 1726 + version "2.3.2" 1727 + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1728 + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1729 1730 function-bind@^1.1.1: 1731 version "1.1.1" ··· 1737 resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" 1738 integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== 1739 1740 + gensync@^1.0.0-beta.2: 1741 + version "1.0.0-beta.2" 1742 + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 1743 + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 1744 + 1745 + get-caller-file@^2.0.5: 1746 version "2.0.5" 1747 resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 1748 integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== ··· 1752 resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" 1753 integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== 1754 1755 + get-stream@^6.0.0: 1756 + version "6.0.1" 1757 + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" 1758 + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== 1759 1760 + glob@7.1.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: 1761 version "7.1.6" 1762 resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 1763 integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== ··· 1769 once "^1.3.0" 1770 path-is-absolute "^1.0.0" 1771 1772 + glob@^7.1.6: 1773 + version "7.1.7" 1774 + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" 1775 + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== 1776 + dependencies: 1777 + fs.realpath "^1.0.0" 1778 + inflight "^1.0.4" 1779 + inherits "2" 1780 + minimatch "^3.0.4" 1781 + once "^1.3.0" 1782 + path-is-absolute "^1.0.0" 1783 + 1784 globals@^11.1.0: 1785 version "11.12.0" 1786 resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1787 integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1788 1789 + google-closure-compiler-java@^20210808.0.0: 1790 + version "20210808.0.0" 1791 + resolved "https://registry.yarnpkg.com/google-closure-compiler-java/-/google-closure-compiler-java-20210808.0.0.tgz#9722073e2ace0ed1a9934423e6277c9994418e84" 1792 + integrity sha512-7dEQfBzOdwdjwa/Pq8VAypNBKyWRrOcKjnNYOO9gEg2hjh8XVMeQzTqw4uANfVvvANGdE/JjD+HF6zHVgLRwjg== 1793 1794 + google-closure-compiler-linux@^20210808.0.0: 1795 + version "20210808.0.0" 1796 + resolved "https://registry.yarnpkg.com/google-closure-compiler-linux/-/google-closure-compiler-linux-20210808.0.0.tgz#42b844cef30cce6570d21f5d75c71f1af36fc070" 1797 + integrity sha512-byKi5ITUiWRvEIcQo76i1siVnOwrTmG+GNcBG4cJ7x8IE6+4ki9rG5pUe4+DOYHkfk52XU6XHt9aAAgCcFDKpg== 1798 1799 + google-closure-compiler-osx@^20210808.0.0: 1800 + version "20210808.0.0" 1801 + resolved "https://registry.yarnpkg.com/google-closure-compiler-osx/-/google-closure-compiler-osx-20210808.0.0.tgz#6fe601c80d19a998d2703de6bb5a8c4d41f75e24" 1802 + integrity sha512-iwyAY6dGj1FrrBdmfwKXkjtTGJnqe8F+9WZbfXxiBjkWLtIsJt2dD1+q7g/sw3w8mdHrGQAdxtDZP/usMwj/Rg== 1803 1804 + google-closure-compiler-windows@^20210808.0.0: 1805 + version "20210808.0.0" 1806 + resolved "https://registry.yarnpkg.com/google-closure-compiler-windows/-/google-closure-compiler-windows-20210808.0.0.tgz#f907fa046d8a25d820485cb4482fbd5bada9cf03" 1807 + integrity sha512-VI+UUYwtGWDYwpiixrWRD8EklHgl6PMbiEaHxQSrQbH8PDXytwaOKqmsaH2lWYd5Y/BOZie2MzjY7F5JI69q1w== 1808 1809 + google-closure-compiler@20210808.0.0: 1810 + version "20210808.0.0" 1811 + resolved "https://registry.yarnpkg.com/google-closure-compiler/-/google-closure-compiler-20210808.0.0.tgz#0638e71f1073f71682277200db71d0ea05b3de1d" 1812 + integrity sha512-+R2+P1tT1lEnDDGk8b+WXfyVZgWjcCK9n1mmZe8pMEzPaPWxqK7GMetLVWnqfTDJ5Q+LRspOiFBv3Is+0yuhCA== 1813 dependencies: 1814 chalk "2.x" 1815 + google-closure-compiler-java "^20210808.0.0" 1816 minimist "1.x" 1817 vinyl "2.x" 1818 vinyl-sourcemaps-apply "^0.2.0" 1819 optionalDependencies: 1820 + google-closure-compiler-linux "^20210808.0.0" 1821 + google-closure-compiler-osx "^20210808.0.0" 1822 + google-closure-compiler-windows "^20210808.0.0" 1823 1824 graceful-fs@^4.1.2, graceful-fs@^4.2.4: 1825 version "4.2.4" 1826 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" 1827 integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== 1828 1829 has-flag@^3.0.0: 1830 version "3.0.0" 1831 resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" ··· 1841 resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" 1842 integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== 1843 1844 has@^1.0.3: 1845 version "1.0.3" 1846 resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" ··· 1865 resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" 1866 integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== 1867 1868 + http-proxy-agent@^4.0.1: 1869 + version "4.0.1" 1870 + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" 1871 + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== 1872 dependencies: 1873 + "@tootallnate/once" "1" 1874 + agent-base "6" 1875 + debug "4" 1876 1877 + https-proxy-agent@^5.0.0: 1878 + version "5.0.0" 1879 + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" 1880 + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== 1881 + dependencies: 1882 + agent-base "6" 1883 + debug "4" 1884 + 1885 + human-signals@^2.1.0: 1886 + version "2.1.0" 1887 + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" 1888 + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== 1889 1890 + husky-v4@^4.3.8: 1891 + version "4.3.8" 1892 + resolved "https://registry.yarnpkg.com/husky-v4/-/husky-v4-4.3.8.tgz#af3be56a8b62b941371b5190e265f76dd1af2e57" 1893 + integrity sha512-M7A9u/t6BnT/qbDzKb7SdXhr8qLTGTkqZL6YLDDM20jfCdmpIMEuO384LvYXSBcgv50oIgNWI/IaO3g4A4ShjA== 1894 dependencies: 1895 chalk "^4.0.0" 1896 ci-info "^2.0.0" 1897 compare-versions "^3.6.0" 1898 + cosmiconfig "^7.0.0" 1899 + find-versions "^4.0.0" 1900 opencollective-postinstall "^2.0.2" 1901 + pkg-dir "^5.0.0" 1902 please-upgrade-node "^3.2.0" 1903 slash "^3.0.0" 1904 which-pm-runs "^1.0.0" ··· 1910 dependencies: 1911 safer-buffer ">= 2.1.2 < 3" 1912 1913 + import-fresh@^3.2.1: 1914 + version "3.3.0" 1915 + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 1916 + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 1917 dependencies: 1918 parent-module "^1.0.0" 1919 resolve-from "^4.0.0" ··· 1949 resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1950 integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1951 1952 is-arrayish@^0.2.1: 1953 version "0.2.1" 1954 resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1955 integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 1956 1957 is-callable@^1.1.4, is-callable@^1.1.5: 1958 version "1.1.5" 1959 resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" 1960 integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== 1961 1962 + is-ci@^3.0.0: 1963 + version "3.0.0" 1964 + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz#c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994" 1965 + integrity sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ== 1966 dependencies: 1967 + ci-info "^3.1.1" 1968 1969 + is-core-module@^2.2.0: 1970 + version "2.6.0" 1971 + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19" 1972 + integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ== 1973 dependencies: 1974 + has "^1.0.3" 1975 1976 is-date-object@^1.0.1: 1977 version "1.0.2" 1978 resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" 1979 integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== 1980 1981 is-fullwidth-code-point@^3.0.0: 1982 version "3.0.0" 1983 resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" ··· 1993 resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" 1994 integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= 1995 1996 is-number@^7.0.0: 1997 version "7.0.0" 1998 resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" ··· 2003 resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" 2004 integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= 2005 2006 + is-potential-custom-element-name@^1.0.1: 2007 + version "1.0.1" 2008 + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" 2009 + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== 2010 2011 + is-reference@^1.2.1: 2012 + version "1.2.1" 2013 + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" 2014 + integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== 2015 dependencies: 2016 + "@types/estree" "*" 2017 2018 is-regex@^1.0.5: 2019 version "1.0.5" ··· 2027 resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" 2028 integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= 2029 2030 is-stream@^2.0.0: 2031 version "2.0.0" 2032 resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" ··· 2039 dependencies: 2040 has-symbols "^1.0.1" 2041 2042 + is-typedarray@^1.0.0: 2043 version "1.0.0" 2044 resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 2045 integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 2046 2047 + is-unicode-supported@^0.1.0: 2048 + version "0.1.0" 2049 + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" 2050 + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== 2051 2052 + isarray@~1.0.0: 2053 version "1.0.0" 2054 resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 2055 integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= ··· 2059 resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 2060 integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 2061 2062 istanbul-lib-coverage@^3.0.0: 2063 version "3.0.0" 2064 resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" 2065 integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== 2066 2067 + istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: 2068 version "4.0.3" 2069 resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" 2070 integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== ··· 2100 html-escaper "^2.0.0" 2101 istanbul-lib-report "^3.0.0" 2102 2103 + jest-changed-files@^27.1.0: 2104 + version "27.1.0" 2105 + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.1.0.tgz#42da6ea00f06274172745729d55f42b60a9dffe0" 2106 + integrity sha512-eRcb13TfQw0xiV2E98EmiEgs9a5uaBIqJChyl0G7jR9fCIvGjXovnDS6Zbku3joij4tXYcSK4SE1AXqOlUxjWg== 2107 + dependencies: 2108 + "@jest/types" "^27.1.0" 2109 + execa "^5.0.0" 2110 + throat "^6.0.1" 2111 + 2112 + jest-circus@^27.1.0: 2113 + version "27.1.0" 2114 + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.1.0.tgz#24c280c90a625ea57da20ee231d25b1621979a57" 2115 + integrity sha512-6FWtHs3nZyZlMBhRf1wvAC5CirnflbGJAY1xssSAnERLiiXQRH+wY2ptBVtXjX4gz4AA2EwRV57b038LmifRbA== 2116 dependencies: 2117 + "@jest/environment" "^27.1.0" 2118 + "@jest/test-result" "^27.1.0" 2119 + "@jest/types" "^27.1.0" 2120 + "@types/node" "*" 2121 + chalk "^4.0.0" 2122 + co "^4.6.0" 2123 + dedent "^0.7.0" 2124 + expect "^27.1.0" 2125 + is-generator-fn "^2.0.0" 2126 + jest-each "^27.1.0" 2127 + jest-matcher-utils "^27.1.0" 2128 + jest-message-util "^27.1.0" 2129 + jest-runtime "^27.1.0" 2130 + jest-snapshot "^27.1.0" 2131 + jest-util "^27.1.0" 2132 + pretty-format "^27.1.0" 2133 + slash "^3.0.0" 2134 + stack-utils "^2.0.3" 2135 + throat "^6.0.1" 2136 2137 + jest-cli@^27.1.0: 2138 + version "27.1.0" 2139 + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.1.0.tgz#118438e4d11cf6fb66cb2b2eb5778817eab3daeb" 2140 + integrity sha512-h6zPUOUu+6oLDrXz0yOWY2YXvBLk8gQinx4HbZ7SF4V3HzasQf+ncoIbKENUMwXyf54/6dBkYXvXJos+gOHYZw== 2141 dependencies: 2142 + "@jest/core" "^27.1.0" 2143 + "@jest/test-result" "^27.1.0" 2144 + "@jest/types" "^27.1.0" 2145 chalk "^4.0.0" 2146 exit "^0.1.2" 2147 graceful-fs "^4.2.4" 2148 import-local "^3.0.2" 2149 + jest-config "^27.1.0" 2150 + jest-util "^27.1.0" 2151 + jest-validate "^27.1.0" 2152 prompts "^2.0.1" 2153 + yargs "^16.0.3" 2154 2155 + jest-config@^27.1.0: 2156 + version "27.1.0" 2157 + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.1.0.tgz#e6826e2baaa34c07c3839af86466870e339d9ada" 2158 + integrity sha512-GMo7f76vMYUA3b3xOdlcKeKQhKcBIgurjERO2hojo0eLkKPGcw7fyIoanH+m6KOP2bLad+fGnF8aWOJYxzNPeg== 2159 dependencies: 2160 "@babel/core" "^7.1.0" 2161 + "@jest/test-sequencer" "^27.1.0" 2162 + "@jest/types" "^27.1.0" 2163 + babel-jest "^27.1.0" 2164 chalk "^4.0.0" 2165 deepmerge "^4.2.2" 2166 glob "^7.1.1" 2167 graceful-fs "^4.2.4" 2168 + is-ci "^3.0.0" 2169 + jest-circus "^27.1.0" 2170 + jest-environment-jsdom "^27.1.0" 2171 + jest-environment-node "^27.1.0" 2172 + jest-get-type "^27.0.6" 2173 + jest-jasmine2 "^27.1.0" 2174 + jest-regex-util "^27.0.6" 2175 + jest-resolve "^27.1.0" 2176 + jest-runner "^27.1.0" 2177 + jest-util "^27.1.0" 2178 + jest-validate "^27.1.0" 2179 + micromatch "^4.0.4" 2180 + pretty-format "^27.1.0" 2181 2182 + jest-diff@^27.1.0: 2183 + version "27.1.0" 2184 + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.1.0.tgz#c7033f25add95e2218f3c7f4c3d7b634ab6b3cd2" 2185 + integrity sha512-rjfopEYl58g/SZTsQFmspBODvMSytL16I+cirnScWTLkQVXYVZfxm78DFfdIIXc05RCYuGjxJqrdyG4PIFzcJg== 2186 dependencies: 2187 chalk "^4.0.0" 2188 + diff-sequences "^27.0.6" 2189 + jest-get-type "^27.0.6" 2190 + pretty-format "^27.1.0" 2191 2192 + jest-docblock@^27.0.6: 2193 + version "27.0.6" 2194 + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.6.tgz#cc78266acf7fe693ca462cbbda0ea4e639e4e5f3" 2195 + integrity sha512-Fid6dPcjwepTFraz0YxIMCi7dejjJ/KL9FBjPYhBp4Sv1Y9PdhImlKZqYU555BlN4TQKaTc+F2Av1z+anVyGkA== 2196 dependencies: 2197 detect-newline "^3.0.0" 2198 2199 + jest-each@^27.1.0: 2200 + version "27.1.0" 2201 + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.1.0.tgz#36ac75f7aeecb3b8da2a8e617ccb30a446df408c" 2202 + integrity sha512-K/cNvQlmDqQMRHF8CaQ0XPzCfjP5HMJc2bIJglrIqI9fjwpNqITle63IWE+wq4p+3v+iBgh7Wq0IdGpLx5xjDg== 2203 dependencies: 2204 + "@jest/types" "^27.1.0" 2205 chalk "^4.0.0" 2206 + jest-get-type "^27.0.6" 2207 + jest-util "^27.1.0" 2208 + pretty-format "^27.1.0" 2209 2210 + jest-environment-jsdom@^27.1.0: 2211 + version "27.1.0" 2212 + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.1.0.tgz#5fb3eb8a67e02e6cc623640388d5f90e33075f18" 2213 + integrity sha512-JbwOcOxh/HOtsj56ljeXQCUJr3ivnaIlM45F5NBezFLVYdT91N5UofB1ux2B1CATsQiudcHdgTaeuqGXJqjJYQ== 2214 dependencies: 2215 + "@jest/environment" "^27.1.0" 2216 + "@jest/fake-timers" "^27.1.0" 2217 + "@jest/types" "^27.1.0" 2218 + "@types/node" "*" 2219 + jest-mock "^27.1.0" 2220 + jest-util "^27.1.0" 2221 + jsdom "^16.6.0" 2222 2223 + jest-environment-node@^27.1.0: 2224 + version "27.1.0" 2225 + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.1.0.tgz#feea6b765f1fd4582284d4f1007df2b0a8d15b7f" 2226 + integrity sha512-JIyJ8H3wVyM4YCXp7njbjs0dIT87yhGlrXCXhDKNIg1OjurXr6X38yocnnbXvvNyqVTqSI4M9l+YfPKueqL1lw== 2227 dependencies: 2228 + "@jest/environment" "^27.1.0" 2229 + "@jest/fake-timers" "^27.1.0" 2230 + "@jest/types" "^27.1.0" 2231 + "@types/node" "*" 2232 + jest-mock "^27.1.0" 2233 + jest-util "^27.1.0" 2234 2235 + jest-get-type@^27.0.6: 2236 + version "27.0.6" 2237 + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.6.tgz#0eb5c7f755854279ce9b68a9f1a4122f69047cfe" 2238 + integrity sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg== 2239 2240 + jest-haste-map@^27.1.0: 2241 + version "27.1.0" 2242 + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.1.0.tgz#a39f456823bd6a74e3c86ad25f6fa870428326bf" 2243 + integrity sha512-7mz6LopSe+eA6cTFMf10OfLLqRoIPvmMyz5/OnSXnHO7hB0aDP1iIeLWCXzAcYU5eIJVpHr12Bk9yyq2fTW9vg== 2244 dependencies: 2245 + "@jest/types" "^27.1.0" 2246 "@types/graceful-fs" "^4.1.2" 2247 + "@types/node" "*" 2248 anymatch "^3.0.3" 2249 fb-watchman "^2.0.0" 2250 graceful-fs "^4.2.4" 2251 + jest-regex-util "^27.0.6" 2252 + jest-serializer "^27.0.6" 2253 + jest-util "^27.1.0" 2254 + jest-worker "^27.1.0" 2255 + micromatch "^4.0.4" 2256 walker "^1.0.7" 2257 optionalDependencies: 2258 + fsevents "^2.3.2" 2259 2260 + jest-jasmine2@^27.1.0: 2261 + version "27.1.0" 2262 + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.1.0.tgz#324a3de0b2ee20d238b2b5b844acc4571331a206" 2263 + integrity sha512-Z/NIt0wBDg3przOW2FCWtYjMn3Ip68t0SL60agD/e67jlhTyV3PIF8IzT9ecwqFbeuUSO2OT8WeJgHcalDGFzQ== 2264 dependencies: 2265 "@babel/traverse" "^7.1.0" 2266 + "@jest/environment" "^27.1.0" 2267 + "@jest/source-map" "^27.0.6" 2268 + "@jest/test-result" "^27.1.0" 2269 + "@jest/types" "^27.1.0" 2270 + "@types/node" "*" 2271 chalk "^4.0.0" 2272 co "^4.6.0" 2273 + expect "^27.1.0" 2274 is-generator-fn "^2.0.0" 2275 + jest-each "^27.1.0" 2276 + jest-matcher-utils "^27.1.0" 2277 + jest-message-util "^27.1.0" 2278 + jest-runtime "^27.1.0" 2279 + jest-snapshot "^27.1.0" 2280 + jest-util "^27.1.0" 2281 + pretty-format "^27.1.0" 2282 + throat "^6.0.1" 2283 2284 + jest-leak-detector@^27.1.0: 2285 + version "27.1.0" 2286 + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.1.0.tgz#fe7eb633c851e06280ec4dd248067fe232c00a79" 2287 + integrity sha512-oHvSkz1E80VyeTKBvZNnw576qU+cVqRXUD3/wKXh1zpaki47Qty2xeHg2HKie9Hqcd2l4XwircgNOWb/NiGqdA== 2288 dependencies: 2289 + jest-get-type "^27.0.6" 2290 + pretty-format "^27.1.0" 2291 2292 + jest-matcher-utils@^27.1.0: 2293 + version "27.1.0" 2294 + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.1.0.tgz#68afda0885db1f0b9472ce98dc4c535080785301" 2295 + integrity sha512-VmAudus2P6Yt/JVBRdTPFhUzlIN8DYJd+et5Rd9QDsO/Z82Z4iwGjo43U8Z+PTiz8CBvKvlb6Fh3oKy39hykkQ== 2296 dependencies: 2297 chalk "^4.0.0" 2298 + jest-diff "^27.1.0" 2299 + jest-get-type "^27.0.6" 2300 + pretty-format "^27.1.0" 2301 2302 + jest-message-util@^27.1.0: 2303 + version "27.1.0" 2304 + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.1.0.tgz#e77692c84945d1d10ef00afdfd3d2c20bd8fb468" 2305 + integrity sha512-Eck8NFnJ5Sg36R9XguD65cf2D5+McC+NF5GIdEninoabcuoOfWrID5qJhufq5FB0DRKoiyxB61hS7MKoMD0trQ== 2306 dependencies: 2307 + "@babel/code-frame" "^7.12.13" 2308 + "@jest/types" "^27.1.0" 2309 + "@types/stack-utils" "^2.0.0" 2310 chalk "^4.0.0" 2311 graceful-fs "^4.2.4" 2312 + micromatch "^4.0.4" 2313 + pretty-format "^27.1.0" 2314 slash "^3.0.0" 2315 + stack-utils "^2.0.3" 2316 2317 + jest-mock@^27.1.0: 2318 + version "27.1.0" 2319 + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.1.0.tgz#7ca6e4d09375c071661642d1c14c4711f3ab4b4f" 2320 + integrity sha512-iT3/Yhu7DwAg/0HvvLCqLvrTKTRMyJlrrfJYWzuLSf9RCAxBoIXN3HoymZxMnYsC3eD8ewGbUa9jUknwBenx2w== 2321 dependencies: 2322 + "@jest/types" "^27.1.0" 2323 + "@types/node" "*" 2324 2325 + jest-pnp-resolver@^1.2.2: 2326 + version "1.2.2" 2327 + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" 2328 + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== 2329 2330 + jest-regex-util@^27.0.6: 2331 + version "27.0.6" 2332 + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.6.tgz#02e112082935ae949ce5d13b2675db3d8c87d9c5" 2333 + integrity sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ== 2334 2335 + jest-resolve-dependencies@^27.1.0: 2336 + version "27.1.0" 2337 + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.1.0.tgz#d32ea4a2c82f76410f6157d0ec6cde24fbff2317" 2338 + integrity sha512-Kq5XuDAELuBnrERrjFYEzu/A+i2W7l9HnPWqZEeKGEQ7m1R+6ndMbdXCVCx29Se1qwLZLgvoXwinB3SPIaitMQ== 2339 dependencies: 2340 + "@jest/types" "^27.1.0" 2341 + jest-regex-util "^27.0.6" 2342 + jest-snapshot "^27.1.0" 2343 2344 + jest-resolve@^27.1.0: 2345 + version "27.1.0" 2346 + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.1.0.tgz#bb22303c9e240cccdda28562e3c6fbcc6a23ac86" 2347 + integrity sha512-TXvzrLyPg0vLOwcWX38ZGYeEztSEmW+cQQKqc4HKDUwun31wsBXwotRlUz4/AYU/Fq4GhbMd/ileIWZEtcdmIA== 2348 dependencies: 2349 + "@jest/types" "^27.1.0" 2350 chalk "^4.0.0" 2351 + escalade "^3.1.1" 2352 graceful-fs "^4.2.4" 2353 + jest-haste-map "^27.1.0" 2354 + jest-pnp-resolver "^1.2.2" 2355 + jest-util "^27.1.0" 2356 + jest-validate "^27.1.0" 2357 + resolve "^1.20.0" 2358 slash "^3.0.0" 2359 2360 + jest-runner@^27.1.0: 2361 + version "27.1.0" 2362 + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.1.0.tgz#1b28d114fb3b67407b8354c9385d47395e8ff83f" 2363 + integrity sha512-ZWPKr9M5w5gDplz1KsJ6iRmQaDT/yyAFLf18fKbb/+BLWsR1sCNC2wMT0H7pP3gDcBz0qZ6aJraSYUNAGSJGaw== 2364 dependencies: 2365 + "@jest/console" "^27.1.0" 2366 + "@jest/environment" "^27.1.0" 2367 + "@jest/test-result" "^27.1.0" 2368 + "@jest/transform" "^27.1.0" 2369 + "@jest/types" "^27.1.0" 2370 + "@types/node" "*" 2371 chalk "^4.0.0" 2372 + emittery "^0.8.1" 2373 exit "^0.1.2" 2374 graceful-fs "^4.2.4" 2375 + jest-docblock "^27.0.6" 2376 + jest-environment-jsdom "^27.1.0" 2377 + jest-environment-node "^27.1.0" 2378 + jest-haste-map "^27.1.0" 2379 + jest-leak-detector "^27.1.0" 2380 + jest-message-util "^27.1.0" 2381 + jest-resolve "^27.1.0" 2382 + jest-runtime "^27.1.0" 2383 + jest-util "^27.1.0" 2384 + jest-worker "^27.1.0" 2385 source-map-support "^0.5.6" 2386 + throat "^6.0.1" 2387 2388 + jest-runtime@^27.1.0: 2389 + version "27.1.0" 2390 + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.1.0.tgz#1a98d984ffebc16a0b4f9eaad8ab47c00a750cf5" 2391 + integrity sha512-okiR2cpGjY0RkWmUGGado6ETpFOi9oG3yV0CioYdoktkVxy5Hv0WRLWnJFuArSYS8cHMCNcceUUMGiIfgxCO9A== 2392 dependencies: 2393 + "@jest/console" "^27.1.0" 2394 + "@jest/environment" "^27.1.0" 2395 + "@jest/fake-timers" "^27.1.0" 2396 + "@jest/globals" "^27.1.0" 2397 + "@jest/source-map" "^27.0.6" 2398 + "@jest/test-result" "^27.1.0" 2399 + "@jest/transform" "^27.1.0" 2400 + "@jest/types" "^27.1.0" 2401 + "@types/yargs" "^16.0.0" 2402 chalk "^4.0.0" 2403 + cjs-module-lexer "^1.0.0" 2404 collect-v8-coverage "^1.0.0" 2405 + execa "^5.0.0" 2406 exit "^0.1.2" 2407 glob "^7.1.3" 2408 graceful-fs "^4.2.4" 2409 + jest-haste-map "^27.1.0" 2410 + jest-message-util "^27.1.0" 2411 + jest-mock "^27.1.0" 2412 + jest-regex-util "^27.0.6" 2413 + jest-resolve "^27.1.0" 2414 + jest-snapshot "^27.1.0" 2415 + jest-util "^27.1.0" 2416 + jest-validate "^27.1.0" 2417 slash "^3.0.0" 2418 strip-bom "^4.0.0" 2419 + yargs "^16.0.3" 2420 2421 + jest-serializer@^27.0.6: 2422 + version "27.0.6" 2423 + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.6.tgz#93a6c74e0132b81a2d54623251c46c498bb5bec1" 2424 + integrity sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA== 2425 dependencies: 2426 + "@types/node" "*" 2427 graceful-fs "^4.2.4" 2428 2429 + jest-snapshot@^27.1.0: 2430 + version "27.1.0" 2431 + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.1.0.tgz#2a063ab90064017a7e9302528be7eaea6da12d17" 2432 + integrity sha512-eaeUBoEjuuRwmiRI51oTldUsKOohB1F6fPqWKKILuDi/CStxzp2IWekVUXbuHHoz5ik33ioJhshiHpgPFbYgcA== 2433 dependencies: 2434 + "@babel/core" "^7.7.2" 2435 + "@babel/generator" "^7.7.2" 2436 + "@babel/parser" "^7.7.2" 2437 + "@babel/plugin-syntax-typescript" "^7.7.2" 2438 + "@babel/traverse" "^7.7.2" 2439 "@babel/types" "^7.0.0" 2440 + "@jest/transform" "^27.1.0" 2441 + "@jest/types" "^27.1.0" 2442 + "@types/babel__traverse" "^7.0.4" 2443 + "@types/prettier" "^2.1.5" 2444 + babel-preset-current-node-syntax "^1.0.0" 2445 chalk "^4.0.0" 2446 + expect "^27.1.0" 2447 graceful-fs "^4.2.4" 2448 + jest-diff "^27.1.0" 2449 + jest-get-type "^27.0.6" 2450 + jest-haste-map "^27.1.0" 2451 + jest-matcher-utils "^27.1.0" 2452 + jest-message-util "^27.1.0" 2453 + jest-resolve "^27.1.0" 2454 + jest-util "^27.1.0" 2455 natural-compare "^1.4.0" 2456 + pretty-format "^27.1.0" 2457 semver "^7.3.2" 2458 2459 + jest-util@^27.1.0: 2460 + version "27.1.0" 2461 + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.1.0.tgz#06a53777a8cb7e4940ca8e20bf9c67dd65d9bd68" 2462 + integrity sha512-edSLD2OneYDKC6gZM1yc+wY/877s/fuJNoM1k3sOEpzFyeptSmke3SLnk1dDHk9CgTA+58mnfx3ew3J11Kes/w== 2463 dependencies: 2464 + "@jest/types" "^27.1.0" 2465 + "@types/node" "*" 2466 chalk "^4.0.0" 2467 graceful-fs "^4.2.4" 2468 + is-ci "^3.0.0" 2469 + picomatch "^2.2.3" 2470 2471 + jest-validate@^27.1.0: 2472 + version "27.1.0" 2473 + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.1.0.tgz#d9e82024c5e3f5cef52a600cfc456793a84c0998" 2474 + integrity sha512-QiJ+4XuSuMsfPi9zvdO//IrSRSlG6ybJhOpuqYSsuuaABaNT84h0IoD6vvQhThBOKT+DIKvl5sTM0l6is9+SRA== 2475 dependencies: 2476 + "@jest/types" "^27.1.0" 2477 + camelcase "^6.2.0" 2478 chalk "^4.0.0" 2479 + jest-get-type "^27.0.6" 2480 leven "^3.1.0" 2481 + pretty-format "^27.1.0" 2482 2483 + jest-watcher@^27.1.0: 2484 + version "27.1.0" 2485 + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.1.0.tgz#2511fcddb0e969a400f3d1daa74265f93f13ce93" 2486 + integrity sha512-ivaWTrA46aHWdgPDgPypSHiNQjyKnLBpUIHeBaGg11U+pDzZpkffGlcB1l1a014phmG0mHgkOHtOgiqJQM6yKQ== 2487 dependencies: 2488 + "@jest/test-result" "^27.1.0" 2489 + "@jest/types" "^27.1.0" 2490 + "@types/node" "*" 2491 ansi-escapes "^4.2.1" 2492 chalk "^4.0.0" 2493 + jest-util "^27.1.0" 2494 string-length "^4.0.1" 2495 2496 + jest-worker@^27.1.0: 2497 + version "27.1.0" 2498 + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.1.0.tgz#65f4a88e37148ed984ba8ca8492d6b376938c0aa" 2499 + integrity sha512-mO4PHb2QWLn9yRXGp7rkvXLAYuxwhq1ZYUo0LoDhg8wqvv4QizP1ZWEJOeolgbEgAWZLIEU0wsku8J+lGWfBhg== 2500 dependencies: 2501 + "@types/node" "*" 2502 merge-stream "^2.0.0" 2503 + supports-color "^8.0.0" 2504 2505 + jest@^27.1.0: 2506 + version "27.1.0" 2507 + resolved "https://registry.yarnpkg.com/jest/-/jest-27.1.0.tgz#eaab62dfdc02d8b7c814cd27b8d2d92bc46d3d69" 2508 + integrity sha512-pSQDVwRSwb109Ss13lcMtdfS9r8/w2Zz8+mTUA9VORD66GflCdl8nUFCqM96geOD2EBwWCNURrNAfQsLIDNBdg== 2509 dependencies: 2510 + "@jest/core" "^27.1.0" 2511 import-local "^3.0.2" 2512 + jest-cli "^27.1.0" 2513 2514 js-tokens@^4.0.0: 2515 version "4.0.0" ··· 2524 argparse "^1.0.7" 2525 esprima "^4.0.0" 2526 2527 + jsdom@^16.6.0: 2528 + version "16.7.0" 2529 + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" 2530 + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== 2531 dependencies: 2532 + abab "^2.0.5" 2533 + acorn "^8.2.4" 2534 acorn-globals "^6.0.0" 2535 cssom "^0.4.4" 2536 + cssstyle "^2.3.0" 2537 data-urls "^2.0.0" 2538 + decimal.js "^10.2.1" 2539 domexception "^2.0.1" 2540 + escodegen "^2.0.0" 2541 + form-data "^3.0.0" 2542 html-encoding-sniffer "^2.0.1" 2543 + http-proxy-agent "^4.0.1" 2544 + https-proxy-agent "^5.0.0" 2545 + is-potential-custom-element-name "^1.0.1" 2546 nwsapi "^2.2.0" 2547 + parse5 "6.0.1" 2548 + saxes "^5.0.1" 2549 symbol-tree "^3.2.4" 2550 + tough-cookie "^4.0.0" 2551 w3c-hr-time "^1.0.2" 2552 w3c-xmlserializer "^2.0.0" 2553 + webidl-conversions "^6.1.0" 2554 whatwg-encoding "^1.0.5" 2555 whatwg-mimetype "^2.3.0" 2556 + whatwg-url "^8.5.0" 2557 + ws "^7.4.6" 2558 xml-name-validator "^3.0.0" 2559 2560 jsesc@^2.5.1: ··· 2572 resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 2573 integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== 2574 2575 json5@^2.1.2: 2576 version "2.1.3" 2577 resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" ··· 2579 dependencies: 2580 minimist "^1.2.5" 2581 2582 kleur@^3.0.3: 2583 version "3.0.3" 2584 resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" ··· 2602 resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" 2603 integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= 2604 2605 + lint-staged@^11.1.2: 2606 + version "11.1.2" 2607 + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-11.1.2.tgz#4dd78782ae43ee6ebf2969cad9af67a46b33cd90" 2608 + integrity sha512-6lYpNoA9wGqkL6Hew/4n1H6lRqF3qCsujVT0Oq5Z4hiSAM7S6NksPJ3gnr7A7R52xCtiZMcEUNNQ6d6X5Bvh9w== 2609 dependencies: 2610 + chalk "^4.1.1" 2611 + cli-truncate "^2.1.0" 2612 + commander "^7.2.0" 2613 + cosmiconfig "^7.0.0" 2614 + debug "^4.3.1" 2615 + enquirer "^2.3.6" 2616 + execa "^5.0.0" 2617 + listr2 "^3.8.2" 2618 + log-symbols "^4.1.0" 2619 + micromatch "^4.0.4" 2620 normalize-path "^3.0.0" 2621 please-upgrade-node "^3.2.0" 2622 string-argv "0.3.1" 2623 stringify-object "^3.3.0" 2624 2625 + listr2@^3.8.2: 2626 + version "3.11.0" 2627 + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.11.0.tgz#9771b02407875aa78e73d6e0ff6541bbec0aaee9" 2628 + integrity sha512-XLJVe2JgXCyQTa3FbSv11lkKExYmEyA4jltVo8z4FX10Vt1Yj8IMekBfwim0BSOM9uj1QMTJvDQQpHyuPbB/dQ== 2629 dependencies: 2630 cli-truncate "^2.1.0" 2631 + colorette "^1.2.2" 2632 log-update "^4.0.0" 2633 p-map "^4.0.0" 2634 + rxjs "^6.6.7" 2635 through "^2.3.8" 2636 + wrap-ansi "^7.0.0" 2637 2638 load-json-file@^4.0.0: 2639 version "4.0.0" ··· 2652 dependencies: 2653 p-locate "^4.1.0" 2654 2655 + locate-path@^6.0.0: 2656 + version "6.0.0" 2657 + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 2658 + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 2659 + dependencies: 2660 + p-locate "^5.0.0" 2661 + 2662 lodash.sortby@^4.7.0: 2663 version "4.7.0" 2664 resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" 2665 integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= 2666 2667 + lodash@^4.17.13: 2668 version "4.17.15" 2669 resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" 2670 integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== 2671 2672 + lodash@^4.7.0: 2673 + version "4.17.21" 2674 + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 2675 + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 2676 + 2677 + log-symbols@^4.1.0: 2678 + version "4.1.0" 2679 + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" 2680 + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== 2681 dependencies: 2682 + chalk "^4.1.0" 2683 + is-unicode-supported "^0.1.0" 2684 2685 log-update@^4.0.0: 2686 version "4.0.0" ··· 2692 slice-ansi "^4.0.0" 2693 wrap-ansi "^6.2.0" 2694 2695 + magic-string@0.25.7, magic-string@^0.25.0, magic-string@^0.25.7: 2696 version "0.25.7" 2697 resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" 2698 integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== ··· 2713 dependencies: 2714 tmpl "1.0.x" 2715 2716 memorystream@^0.3.1: 2717 version "0.3.1" 2718 resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" ··· 2723 resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 2724 integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 2725 2726 + micromatch@^4.0.4: 2727 + version "4.0.4" 2728 + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" 2729 + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== 2730 dependencies: 2731 braces "^3.0.1" 2732 + picomatch "^2.2.3" 2733 2734 mime-db@1.44.0: 2735 version "1.44.0" 2736 resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" 2737 integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== 2738 2739 + mime-types@^2.1.12: 2740 version "2.1.27" 2741 resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" 2742 integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== ··· 2755 dependencies: 2756 brace-expansion "^1.1.7" 2757 2758 + minimist@1.x, minimist@^1.2.5: 2759 version "1.2.5" 2760 resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 2761 integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 2762 2763 + ms@2.1.2, ms@^2.1.1: 2764 version "2.1.2" 2765 resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 2766 integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 2767 2768 + mz@^2.7.0: 2769 + version "2.7.0" 2770 + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" 2771 + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== 2772 dependencies: 2773 + any-promise "^1.0.0" 2774 + object-assign "^4.0.1" 2775 + thenify-all "^1.0.0" 2776 2777 natural-compare@^1.4.0: 2778 version "1.4.0" ··· 2794 resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" 2795 integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= 2796 2797 + node-releases@^1.1.75: 2798 + version "1.1.75" 2799 + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.75.tgz#6dd8c876b9897a1b8e5a02de26afa79bb54ebbfe" 2800 + integrity sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw== 2801 2802 + normalize-package-data@^2.3.2: 2803 version "2.5.0" 2804 resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 2805 integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== ··· 2809 semver "2 || 3 || 4 || 5" 2810 validate-npm-package-license "^3.0.1" 2811 2812 normalize-path@^3.0.0: 2813 version "3.0.0" 2814 resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" ··· 2829 shell-quote "^1.6.1" 2830 string.prototype.padend "^3.0.0" 2831 2832 + npm-run-path@^4.0.1: 2833 version "4.0.1" 2834 resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" 2835 integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== ··· 2841 resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" 2842 integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== 2843 2844 + object-assign@^4.0.1: 2845 + version "4.1.1" 2846 + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 2847 + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 2848 2849 object-inspect@^1.7.0: 2850 version "1.7.0" ··· 2856 resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 2857 integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 2858 2859 object.assign@^4.1.0: 2860 version "4.1.0" 2861 resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" ··· 2866 has-symbols "^1.0.0" 2867 object-keys "^1.0.11" 2868 2869 + once@^1.3.0: 2870 version "1.4.0" 2871 resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2872 integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= ··· 2880 dependencies: 2881 mimic-fn "^2.1.0" 2882 2883 + onetime@^5.1.2: 2884 + version "5.1.2" 2885 + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" 2886 + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 2887 + dependencies: 2888 + mimic-fn "^2.1.0" 2889 + 2890 opencollective-postinstall@^2.0.2: 2891 + version "2.0.3" 2892 + resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" 2893 + integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== 2894 2895 optionator@^0.8.1: 2896 version "0.8.3" ··· 2909 resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" 2910 integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ== 2911 2912 p-limit@^2.2.0: 2913 version "2.3.0" 2914 resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" ··· 2916 dependencies: 2917 p-try "^2.0.0" 2918 2919 + p-limit@^3.0.2: 2920 + version "3.1.0" 2921 + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 2922 + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 2923 + dependencies: 2924 + yocto-queue "^0.1.0" 2925 + 2926 p-locate@^4.1.0: 2927 version "4.1.0" 2928 resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 2929 integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 2930 dependencies: 2931 p-limit "^2.2.0" 2932 + 2933 + p-locate@^5.0.0: 2934 + version "5.0.0" 2935 + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 2936 + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 2937 + dependencies: 2938 + p-limit "^3.0.2" 2939 2940 p-map@^4.0.0: 2941 version "4.0.0" ··· 2949 resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 2950 integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 2951 2952 parent-module@^1.0.0: 2953 version "1.0.1" 2954 resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" ··· 2974 json-parse-better-errors "^1.0.1" 2975 lines-and-columns "^1.1.6" 2976 2977 + parse5@6.0.1: 2978 + version "6.0.1" 2979 + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" 2980 + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== 2981 2982 path-exists@^4.0.0: 2983 version "4.0.0" ··· 2989 resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2990 integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 2991 2992 + path-key@^2.0.1: 2993 version "2.0.1" 2994 resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 2995 integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= ··· 3016 resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 3017 integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 3018 3019 + picomatch@^2.0.4, picomatch@^2.2.2: 3020 version "2.2.2" 3021 resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" 3022 integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== 3023 + 3024 + picomatch@^2.2.3: 3025 + version "2.3.0" 3026 + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" 3027 + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== 3028 3029 pidtree@^0.3.0: 3030 version "0.3.1" ··· 3050 dependencies: 3051 find-up "^4.0.0" 3052 3053 + pkg-dir@^5.0.0: 3054 + version "5.0.0" 3055 + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" 3056 + integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== 3057 + dependencies: 3058 + find-up "^5.0.0" 3059 + 3060 please-upgrade-node@^3.2.0: 3061 version "3.2.0" 3062 resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" ··· 3064 dependencies: 3065 semver-compare "^1.0.0" 3066 3067 prelude-ls@~1.1.2: 3068 version "1.1.2" 3069 resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 3070 integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 3071 3072 + prettier@^2.3.2: 3073 + version "2.3.2" 3074 + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.2.tgz#ef280a05ec253712e486233db5c6f23441e7342d" 3075 + integrity sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ== 3076 3077 + pretty-format@^27.1.0: 3078 + version "27.1.0" 3079 + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.1.0.tgz#022f3fdb19121e0a2612f3cff8d724431461b9ca" 3080 + integrity sha512-4aGaud3w3rxAO6OXmK3fwBFQ0bctIOG3/if+jYEFGNGIs0EvuidQm3bZ9mlP2/t9epLNC/12czabfy7TZNSwVA== 3081 dependencies: 3082 + "@jest/types" "^27.1.0" 3083 ansi-regex "^5.0.0" 3084 + ansi-styles "^5.0.0" 3085 + react-is "^17.0.1" 3086 3087 process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: 3088 version "2.0.1" ··· 3097 kleur "^3.0.3" 3098 sisteransi "^1.0.4" 3099 3100 + psl@^1.1.33: 3101 version "1.8.0" 3102 resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" 3103 integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== 3104 3105 + punycode@^2.1.1: 3106 version "2.1.1" 3107 resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 3108 integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 3109 3110 + react-is@^17.0.1: 3111 + version "17.0.2" 3112 + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" 3113 + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== 3114 3115 read-pkg@^3.0.0: 3116 version "3.0.0" ··· 3121 normalize-package-data "^2.3.2" 3122 path-type "^3.0.0" 3123 3124 readable-stream@^2.3.5: 3125 version "2.3.7" 3126 resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" ··· 3146 resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" 3147 integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== 3148 3149 regexpu-core@4.5.4: 3150 version "4.5.4" 3151 resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae" ··· 3175 resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 3176 integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= 3177 3178 replace-ext@^1.0.0: 3179 version "1.0.1" 3180 resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" 3181 integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== 3182 3183 require-directory@^2.1.1: 3184 version "2.1.1" 3185 resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 3186 integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 3187 3188 resolve-cwd@^3.0.0: 3189 version "3.0.0" ··· 3202 resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 3203 integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 3204 3205 + resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2: 3206 version "1.17.0" 3207 resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" 3208 integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== 3209 dependencies: 3210 path-parse "^1.0.6" 3211 3212 + resolve@^1.19.0, resolve@^1.20.0: 3213 + version "1.20.0" 3214 + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" 3215 + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== 3216 + dependencies: 3217 + is-core-module "^2.2.0" 3218 + path-parse "^1.0.6" 3219 + 3220 restore-cursor@^3.1.0: 3221 version "3.1.0" 3222 resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" ··· 3225 onetime "^5.1.0" 3226 signal-exit "^3.0.2" 3227 3228 rimraf@^3.0.0, rimraf@^3.0.2: 3229 version "3.0.2" 3230 resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" ··· 3232 dependencies: 3233 glob "^7.1.3" 3234 3235 + rollup@^2.56.3: 3236 + version "2.56.3" 3237 + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.56.3.tgz#b63edadd9851b0d618a6d0e6af8201955a77aeff" 3238 + integrity sha512-Au92NuznFklgQCUcV96iXlxUbHuB1vQMaH76DHl5M11TotjOHwqk9CwcrT78+Tnv4FN9uTBxq6p4EJoYkpyekg== 3239 optionalDependencies: 3240 + fsevents "~2.3.2" 3241 3242 + rxjs@^6.6.7: 3243 + version "6.6.7" 3244 + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" 3245 + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== 3246 dependencies: 3247 tslib "^1.9.0" 3248 3249 safe-buffer@~5.1.0, safe-buffer@~5.1.1: 3250 version "5.1.2" 3251 resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 3252 integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 3253 3254 + "safer-buffer@>= 2.1.2 < 3": 3255 version "2.1.2" 3256 resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 3257 integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 3258 3259 + saxes@^5.0.1: 3260 version "5.0.1" 3261 resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" 3262 integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== ··· 3268 resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" 3269 integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= 3270 3271 + semver-regex@^3.1.2: 3272 + version "3.1.2" 3273 + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.2.tgz#34b4c0d361eef262e07199dbef316d0f2ab11807" 3274 + integrity sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA== 3275 3276 "semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0: 3277 version "5.7.1" ··· 3283 resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 3284 integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 3285 3286 + semver@^7.3.2: 3287 version "7.3.2" 3288 resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" 3289 integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== 3290 3291 shebang-command@^1.2.0: 3292 version "1.2.0" 3293 resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" ··· 3317 resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" 3318 integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== 3319 3320 + signal-exit@^3.0.2, signal-exit@^3.0.3: 3321 version "3.0.3" 3322 resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" 3323 integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== ··· 3350 astral-regex "^2.0.0" 3351 is-fullwidth-code-point "^3.0.0" 3352 3353 source-map-support@^0.5.6: 3354 version "0.5.19" 3355 resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" ··· 3358 buffer-from "^1.0.0" 3359 source-map "^0.6.0" 3360 3361 + source-map@^0.5.0, source-map@^0.5.1: 3362 version "0.5.7" 3363 resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 3364 integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= ··· 3404 resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" 3405 integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== 3406 3407 sprintf-js@~1.0.2: 3408 version "1.0.3" 3409 resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 3410 integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 3411 3412 + stack-utils@^2.0.3: 3413 + version "2.0.3" 3414 + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" 3415 + integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== 3416 dependencies: 3417 escape-string-regexp "^2.0.0" 3418 3419 string-argv@0.3.1: 3420 version "0.3.1" ··· 3513 resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" 3514 integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== 3515 3516 strip-final-newline@^2.0.0: 3517 version "2.0.0" 3518 resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" 3519 integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 3520 3521 + sucrase@^3.18.0: 3522 + version "3.20.1" 3523 + resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.20.1.tgz#1c055e97d0fab2f9857f02461364075b3a4ab226" 3524 + integrity sha512-BIG59HaJOxNct9Va6KvT5yzBA/rcMGetzvZyTx0ZdCcspIbpJTPS64zuAfYlJuOj+3WaI5JOdA+F0bJQQi8ZiQ== 3525 + dependencies: 3526 + commander "^4.0.0" 3527 + glob "7.1.6" 3528 + lines-and-columns "^1.1.6" 3529 + mz "^2.7.0" 3530 + pirates "^4.0.1" 3531 + ts-interface-checker "^0.1.9" 3532 + 3533 supports-color@^5.3.0: 3534 version "5.5.0" 3535 resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" ··· 3541 version "7.1.0" 3542 resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" 3543 integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== 3544 + dependencies: 3545 + has-flag "^4.0.0" 3546 + 3547 + supports-color@^8.0.0: 3548 + version "8.1.1" 3549 + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 3550 + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 3551 dependencies: 3552 has-flag "^4.0.0" 3553 ··· 3581 glob "^7.1.4" 3582 minimatch "^3.0.4" 3583 3584 + thenify-all@^1.0.0: 3585 + version "1.6.0" 3586 + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" 3587 + integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= 3588 + dependencies: 3589 + thenify ">= 3.1.0 < 4" 3590 + 3591 + "thenify@>= 3.1.0 < 4": 3592 + version "3.3.1" 3593 + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" 3594 + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== 3595 + dependencies: 3596 + any-promise "^1.0.0" 3597 + 3598 + throat@^6.0.1: 3599 + version "6.0.1" 3600 + resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" 3601 + integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== 3602 3603 through@^2.3.8: 3604 version "2.3.8" ··· 3615 resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 3616 integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 3617 3618 to-regex-range@^5.0.1: 3619 version "5.0.1" 3620 resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" ··· 3622 dependencies: 3623 is-number "^7.0.0" 3624 3625 + tough-cookie@^4.0.0: 3626 + version "4.0.0" 3627 + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" 3628 + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== 3629 dependencies: 3630 + psl "^1.1.33" 3631 punycode "^2.1.1" 3632 + universalify "^0.1.2" 3633 3634 tr46@^2.0.2: 3635 version "2.0.2" ··· 3638 dependencies: 3639 punycode "^2.1.1" 3640 3641 + tr46@^2.1.0: 3642 + version "2.1.0" 3643 + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" 3644 + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== 3645 + dependencies: 3646 + punycode "^2.1.1" 3647 + 3648 + ts-interface-checker@^0.1.9: 3649 + version "0.1.13" 3650 + resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" 3651 + integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== 3652 + 3653 tslib@^1.9.0: 3654 version "1.13.0" 3655 resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" 3656 integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== 3657 3658 type-check@~0.3.2: 3659 version "0.3.2" 3660 resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" ··· 3672 resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" 3673 integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== 3674 3675 typedarray-to-buffer@^3.1.5: 3676 version "3.1.5" 3677 resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" ··· 3702 resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" 3703 integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== 3704 3705 + universalify@^0.1.2: 3706 + version "0.1.2" 3707 + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" 3708 + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== 3709 3710 util-deprecate@~1.0.1: 3711 version "1.0.2" ··· 3717 resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.1.0.tgz#6f1536eb43249f473abc6bd58ff983da1ca30d8d" 3718 integrity sha512-CI18flHDznR0lq54xBycOVmphdCYnQLKn8abKn7PXUiKUGdEd+/l9LWNJmugXel4hXq7S+RMNl34ecyC9TntWg== 3719 3720 + v8-to-istanbul@^8.0.0: 3721 + version "8.0.0" 3722 + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz#4229f2a99e367f3f018fa1d5c2b8ec684667c69c" 3723 + integrity sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg== 3724 dependencies: 3725 "@types/istanbul-lib-coverage" "^2.0.1" 3726 convert-source-map "^1.6.0" ··· 3734 spdx-correct "^3.0.0" 3735 spdx-expression-parse "^3.0.0" 3736 3737 vinyl-sourcemaps-apply@^0.2.0: 3738 version "0.2.1" 3739 resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" ··· 3767 dependencies: 3768 xml-name-validator "^3.0.0" 3769 3770 + walker@^1.0.7: 3771 version "1.0.7" 3772 resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" 3773 integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= 3774 dependencies: 3775 makeerror "1.0.x" 3776 3777 webidl-conversions@^5.0.0: 3778 version "5.0.0" 3779 resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" 3780 integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== 3781 3782 + webidl-conversions@^6.1.0: 3783 version "6.1.0" 3784 resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" 3785 integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== ··· 3805 tr46 "^2.0.2" 3806 webidl-conversions "^5.0.0" 3807 3808 + whatwg-url@^8.5.0: 3809 + version "8.7.0" 3810 + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" 3811 + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== 3812 + dependencies: 3813 + lodash "^4.7.0" 3814 + tr46 "^2.1.0" 3815 + webidl-conversions "^6.1.0" 3816 3817 which-pm-runs@^1.0.0: 3818 version "1.0.0" ··· 3826 dependencies: 3827 isexe "^2.0.0" 3828 3829 + which@^2.0.1: 3830 version "2.0.2" 3831 resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 3832 integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== ··· 3847 string-width "^4.1.0" 3848 strip-ansi "^6.0.0" 3849 3850 + wrap-ansi@^7.0.0: 3851 + version "7.0.0" 3852 + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 3853 + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 3854 + dependencies: 3855 + ansi-styles "^4.0.0" 3856 + string-width "^4.1.0" 3857 + strip-ansi "^6.0.0" 3858 + 3859 wrappy@1: 3860 version "1.0.2" 3861 resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" ··· 3871 signal-exit "^3.0.2" 3872 typedarray-to-buffer "^3.1.5" 3873 3874 + ws@^7.4.6: 3875 + version "7.5.3" 3876 + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74" 3877 + integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== 3878 3879 xml-name-validator@^3.0.0: 3880 version "3.0.0" ··· 3886 resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" 3887 integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== 3888 3889 + y18n@^5.0.5: 3890 + version "5.0.8" 3891 + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 3892 + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 3893 3894 + yaml@^1.10.0: 3895 + version "1.10.2" 3896 + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 3897 + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 3898 3899 + yargs-parser@^20.2.2: 3900 + version "20.2.9" 3901 + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" 3902 + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== 3903 3904 + yargs@^16.0.3: 3905 + version "16.2.0" 3906 + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" 3907 + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== 3908 dependencies: 3909 + cliui "^7.0.2" 3910 + escalade "^3.1.1" 3911 + get-caller-file "^2.0.5" 3912 require-directory "^2.1.1" 3913 string-width "^4.2.0" 3914 + y18n "^5.0.5" 3915 + yargs-parser "^20.2.2" 3916 + 3917 + yocto-queue@^0.1.0: 3918 + version "0.1.0" 3919 + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 3920 + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==