├── .github └── workflows │ └── nodejs.yml ├── .gitignore ├── .husky └── pre-commit ├── CHANGELOG.md ├── LICENSE ├── README.md ├── lib ├── defaults.js ├── index.js ├── load.js ├── parseDeclValue.js ├── parseRule.js ├── processors.js ├── render.js └── resolveId.js ├── package.json ├── test ├── cases.test.js ├── extended.test.js ├── fixtures │ ├── basic-black.svg │ ├── basic-with-xmlns.svg │ ├── basic.svg │ ├── fill-icon.svg │ ├── fill.svg │ ├── font.svg │ ├── path.svg │ ├── stroke-icon.svg │ └── stroke.svg ├── options.test.js ├── short.test.js └── utils.js └── yarn.lock /.github/workflows/nodejs.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | pull_request: 8 | branches: 9 | - '**' 10 | 11 | jobs: 12 | test: 13 | name: Test on Node.js ${{ matrix.node }} 14 | 15 | runs-on: ubuntu-latest 16 | 17 | strategy: 18 | fail-fast: false 19 | matrix: 20 | node: [14, 16, 18] 21 | 22 | steps: 23 | - uses: actions/checkout@v3 24 | 25 | - uses: actions/setup-node@v3 26 | with: 27 | node-version: ${{ matrix.node }} 28 | 29 | - run: yarn install 30 | 31 | - name: Test 32 | run: yarn test 33 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | npx lint-staged 5 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## 6.0.0 4 | 5 | * Dropped Node.js 10 and 12 support. 6 | * Fixed security vulnerabilities in dependencies. 7 | 8 | ## 5.0.0 9 | 10 | * Migrated to PostCSS 8. 11 | * Dropped Node.js 8 support. 12 | 13 | ## 4.1.0 14 | 15 | * Added `removeStroke` option. 16 | 17 | ## 4.0.0 18 | 19 | * Option `path` was replaced with `paths`. Allows to specify multiple paths for URL resolve. 20 | * Default `encode` function now escapes curly brackets. 21 | * Dropped Node.js 6 support. Node.js 8.7.0 or greater is now required. 22 | * Upgraded to PostCSS 7. 23 | 24 | ## 3.1.0 25 | 26 | * Added `xmlns` option to add xmlns attribute if not present 27 | 28 | ## 3.0.0 29 | 30 | * Upgrade to postcss 6 31 | 32 | ## 2.3.1 33 | 34 | * Warn more descriptive messages 35 | 36 | ## 2.3.0 37 | 38 | * Add parent prop in dependency message 39 | 40 | ## 2.2.0 41 | 42 | * Add dependency message for bundlers 43 | 44 | ## 2.1.2 45 | 46 | * Allow color functions in short syntax 47 | 48 | ## 2.1.1 49 | 50 | * Customize `ENOENT` error 51 | * Codebase refactoring 52 | 53 | ## 2.1.0 54 | 55 | * Add `removeFill` option to force color in pure icons 56 | 57 | ## 2.0.1 58 | 59 | * Stringify decl values 60 | 61 | ## 2.0.0 62 | 63 | * Code and tests refactoring 64 | * `encode` is not included in `transform` and runs before it 65 | * `encode` is `function` or `false` 66 | * `transform` can't return false 67 | * Fix bug with quotes [#19](https://github.com/TrySound/postcss-inline-svg/issues/19) 68 | 69 | ## 1.4.0 70 | 71 | * Support "=" separator in svg-load() definition 72 | 73 | ## 1.3.2 74 | 75 | * Fix URI malformed error 76 | 77 | ## 1.3.1 78 | 79 | * Add read-cache 80 | 81 | ## 1.3.0 82 | 83 | * Refactoring 84 | * Loaded files will be cached 85 | 86 | ## 1.2.1 87 | 88 | * Fix relative path detecting 89 | 90 | ## 1.2.0 91 | 92 | * Add transform option 93 | 94 | ## 1.1.1 95 | 96 | * Improve documentation 97 | 98 | ## 1.1.0 99 | 100 | * Fix ie strict data uri by adding custom url encode 101 | * Add encode option 102 | 103 | ## 1.0.0 104 | 105 | * Initial release 106 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2015 Bogdan Chadkin 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # postcss-inline-svg [![CI][build-badge-img]][ci] 2 | 3 | [PostCSS] plugin to reference an SVG file and control its attributes with CSS syntax. 4 | 5 | [PostCSS]: https://github.com/postcss/postcss 6 | [build-badge-img]: https://github.com/TrySound/postcss-inline-svg/actions/workflows/nodejs.yml/badge.svg 7 | [ci]: https://github.com/TrySound/postcss-inline-svg/actions/workflows/nodejs.yml 8 | 9 | ```postcss 10 | @svg-load nav url(img/nav.svg) { 11 | fill: #cfc; 12 | path:nth-child(2) { 13 | fill: #ff0; 14 | } 15 | } 16 | .nav { 17 | background: svg-inline(nav); 18 | } 19 | .up { 20 | background: svg-load('img/arrow-up.svg', fill=#000, stroke=#fff); 21 | } 22 | ``` 23 | 24 | ```css 25 | .nav { 26 | background: url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23cfc'%3E%3Cpath d='...'/%3E%3Cpath d='...' fill='%23ff0'/%3E%3Cpath d='...'/%3E%3C/svg%3E"); 27 | } 28 | .up { 29 | background: url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23000' stroke='%23fff'%3E...%3C/svg%3E"); 30 | } 31 | ``` 32 | 33 | PostCSS parsers allow to use different syntax (but only one syntax in one svg-load() definition): 34 | 35 | ```postcss 36 | .up { 37 | background: svg-load('img/arrow-up.svg', fill: #000, stroke: #fff); 38 | } 39 | .down { 40 | background: svg-load('img/arrow-down.svg', fill=#000, stroke=#fff); 41 | } 42 | ``` 43 | 44 | ## Usage 45 | 46 | ```js 47 | postcss([ require('postcss-inline-svg')(options) ]) 48 | ``` 49 | 50 | See [PostCSS] docs for examples for your environment. 51 | 52 | ### Options 53 | 54 | #### options.paths 55 | 56 | Array of paths to resolve URL. Paths are tried in order, until an existing file is found. 57 | 58 | Default: `false` - path will be relative to source file if it was specified. 59 | 60 | #### options.removeFill 61 | 62 | Default: `false` - with `true` removes all `fill` attributes before applying specified. 63 | Passed RegExp filters files by ID. 64 | 65 | #### options.removeStroke 66 | 67 | Default: `false` - with `true` removes all `stroke` attributes before applying specified. 68 | Passed RegExp filters files by ID. 69 | 70 | 71 | #### options.encode(svg) 72 | 73 | Processes SVG after applying parameters. Default will be ommited if passed `false`. 74 | 75 | Default: 76 | 77 | ```js 78 | function encode(code) { 79 | return code 80 | .replace(/%/g, '%25') 81 | .replace(//g, '%3E') 83 | .replace(/&/g, '%26') 84 | .replace(/#/g, "%23") 85 | .replace(/{/g, "%7B") 86 | .replace(/}/g, "%7D"); 87 | } 88 | ``` 89 | 90 | #### options.transform(svg, path) 91 | 92 | Transforms SVG after `encode` function and generates URL. 93 | 94 | #### options.xmlns 95 | 96 | type: boolean 97 | default: true 98 | 99 | Adds `xmlns` attribute to SVG if not present. 100 | 101 | 102 | ## Frequently asked questions 103 | 104 | ### Why svg-load() doesn't work and the color still black (or red or whatever)? 105 | 106 | That's because `svg-load()` overrides attributes only in `` element and children inherit that color. 107 | But if there is already color on children nothing will be inherited. 108 | 109 | For example 110 | 111 | ```xml 112 | 113 | 114 | 115 | ``` 116 | 117 | after inline-svg (fill: #000) will looks like 118 | 119 | ```xml 120 | 121 | 122 | 123 | ``` 124 | 125 | There are three solutions: to remove that attribute (preferable), to use extended `@svg-load` notation or to use removeFill option. 126 | 127 | ### How to optimize svg on build step? 128 | 129 | > There is a plugin. :) 130 | 131 | You are able to add [postcss-svgo](https://github.com/cssnano/cssnano/tree/master/packages/postcss-svgo) in your PostCSS plugins list which will detect every URL which contains data SVG URI and minify via [svgo](https://github.com/svg/svgo). 132 | 133 | ```js 134 | postcss([ 135 | require('postcss-inline-svg'), 136 | require('postcss-svgo') 137 | ]) 138 | ``` 139 | 140 | Or if you use [cssnano](https://cssnano.co/) your SVG URLs already minified 141 | as cssnano includes postcss-svgo. 142 | 143 | ```js 144 | postcss([ 145 | require('postcss-inline-svg'), 146 | require('cssnano') 147 | ]) 148 | ``` 149 | 150 | 151 | # License 152 | 153 | MIT © [Bogdan Chadkin](mailto:trysound@yandex.ru) 154 | 155 | ## Support on Beerpay 156 | Hey dude! Help me out for a couple of :beers:! 157 | 158 | [![Beerpay](https://beerpay.io/TrySound/postcss-inline-svg/badge.svg?style=beer-square)](https://beerpay.io/TrySound/postcss-inline-svg) [![Beerpay](https://beerpay.io/TrySound/postcss-inline-svg/make-wish.svg?style=flat-square)](https://beerpay.io/TrySound/postcss-inline-svg?focus=wish) 159 | -------------------------------------------------------------------------------- /lib/defaults.js: -------------------------------------------------------------------------------- 1 | function encode(code) { 2 | return code 3 | .replace(/%/g, "%25") 4 | .replace(//g, "%3E") 6 | .replace(/&/g, "%26") 7 | .replace(/#/g, "%23") 8 | .replace(/{/g, "%7B") 9 | .replace(/}/g, "%7D"); 10 | } 11 | 12 | function addXmlns(code) { 13 | if (code.indexOf("xmlns") === -1) { 14 | return code.replace(/ { 31 | return { 32 | postcssPlugin: "postcss-inline-svg", 33 | 34 | prepare(result) { 35 | const loadersMap = {}; 36 | const loaders = []; 37 | const inliners = []; 38 | 39 | return { 40 | AtRule: { 41 | "svg-load": (node) => { 42 | try { 43 | const file = 44 | node.source && node.source.input && node.source.input.file; 45 | const { name, url } = parseRuleDefinition(node.params); 46 | const { params, selectors } = getRuleParams(node); 47 | const loader = { 48 | id: resolveId(file, url, opts), 49 | parent: file, 50 | params, 51 | selectors, 52 | node, 53 | }; 54 | loaders.push(loader); 55 | loadersMap[name] = loader; 56 | } catch (e) { 57 | node.warn(result, e.message); 58 | } 59 | }, 60 | }, 61 | 62 | Declaration(node) { 63 | if ( 64 | node.value.includes("svg-load(") || 65 | node.value.includes("svg-inline(") 66 | ) { 67 | try { 68 | const file = 69 | node.source && node.source.input && node.source.input.file; 70 | const statements = parseDeclValue(node.value); 71 | statements.loaders.forEach( 72 | ({ url, params, valueNode, parsedValue }) => { 73 | const loader = { 74 | id: resolveId(file, url, opts), 75 | parent: file, 76 | params, 77 | selectors: {}, 78 | node, 79 | }; 80 | loaders.push(loader); 81 | inliners.push({ 82 | loader, 83 | node, 84 | valueNode, 85 | parsedValue, 86 | }); 87 | } 88 | ); 89 | statements.inliners.forEach( 90 | ({ name, valueNode, parsedValue }) => { 91 | const loader = loadersMap[name]; 92 | if (loader) { 93 | inliners.push({ 94 | loader, 95 | node, 96 | valueNode, 97 | parsedValue, 98 | }); 99 | } else { 100 | node.warn(result, `"${name}" svg is not defined`); 101 | } 102 | } 103 | ); 104 | } catch (e) { 105 | node.warn(result, e.message); 106 | } 107 | } 108 | }, 109 | 110 | OnceExit() { 111 | const promises = loaders.map((loader) => { 112 | return load(loader.id, loader.params, loader.selectors, opts) 113 | .then((code) => { 114 | loader.svg = code; 115 | result.messages.push({ 116 | type: "dependency", 117 | file: loader.id, 118 | parent: loader.parent, 119 | }); 120 | }) 121 | .catch((err) => { 122 | loader.error = true; 123 | loader.node.warn(result, err.message); 124 | }); 125 | }); 126 | 127 | return Promise.all(promises).then(() => { 128 | loaders.forEach(removeLoader); 129 | inliners.forEach(applyInliner); 130 | inliners.forEach(stringifyInliner); 131 | }); 132 | }, 133 | }; 134 | }, 135 | }; 136 | }; 137 | 138 | module.exports.postcss = true; 139 | -------------------------------------------------------------------------------- /lib/load.js: -------------------------------------------------------------------------------- 1 | const { readFile } = require("fs"); 2 | const render = require("./render.js"); 3 | const { transform, encode, addXmlns } = require("./defaults.js"); 4 | const { 5 | removeFill, 6 | removeStroke, 7 | applyRootParams, 8 | applySelectedParams, 9 | } = require("./processors.js"); 10 | 11 | function read(id) { 12 | return new Promise((resolve, reject) => { 13 | readFile(id, "utf-8", (err, data) => { 14 | if (err) { 15 | reject(Error(`Can't load '${id}'`)); 16 | } else { 17 | resolve(data); 18 | } 19 | }); 20 | }); 21 | } 22 | 23 | module.exports = function load(id, params, selectors, opts) { 24 | const processors = [ 25 | removeFill(id, opts), 26 | removeStroke(id, opts), 27 | applyRootParams(params), 28 | applySelectedParams(selectors), 29 | ]; 30 | return read(id).then((data) => { 31 | let code = render(data, ...processors); 32 | 33 | if (opts.xmlns !== false) { 34 | code = addXmlns(code); 35 | } 36 | 37 | if (opts.encode !== false) { 38 | code = (opts.encode || encode)(code); 39 | } 40 | 41 | if (opts.transform !== false) { 42 | code = (opts.transform || transform)(code, id); 43 | } 44 | 45 | return code; 46 | }); 47 | }; 48 | -------------------------------------------------------------------------------- /lib/parseDeclValue.js: -------------------------------------------------------------------------------- 1 | const valueParser = require("postcss-value-parser"); 2 | 3 | const { stringify } = valueParser; 4 | 5 | function getUrl(nodes) { 6 | let url = ""; 7 | let urlEnd = 0; 8 | 9 | for (let i = 0; i < nodes.length; i += 1) { 10 | const node = nodes[i]; 11 | if (node.type === "string") { 12 | if (i !== 0) { 13 | throw Error(`Invalid "svg-load(${stringify(nodes)})" definition`); 14 | } 15 | url = node.value; 16 | urlEnd = i + 1; 17 | break; 18 | } 19 | if (node.type === "div" && node.value === ",") { 20 | if (i === 0) { 21 | throw Error(`Invalid "svg-load(${stringify(nodes)})" definition`); 22 | } 23 | urlEnd = i; 24 | break; 25 | } 26 | url += stringify(node); 27 | urlEnd += 1; 28 | } 29 | 30 | return { 31 | url, 32 | urlEnd, 33 | }; 34 | } 35 | 36 | function getParamChunks(nodes) { 37 | const list = []; 38 | const lastArg = nodes.reduce((arg, node) => { 39 | if (node.type === "word" || node.type === "string") { 40 | return arg + node.value; 41 | } 42 | if (node.type === "space") { 43 | return arg + " "; 44 | } 45 | if (node.type === "div" && node.value === ",") { 46 | list.push(arg); 47 | return ""; 48 | } 49 | return arg + stringify(node); 50 | }, ""); 51 | 52 | return list.concat(lastArg); 53 | } 54 | 55 | function splitParams(list) { 56 | const params = {}; 57 | 58 | list.reduce((sep, arg) => { 59 | if (!arg) { 60 | throw Error(`Expected parameter`); 61 | } 62 | 63 | if (!sep) { 64 | if (arg.indexOf(":") !== -1) { 65 | sep = ":"; 66 | } else if (arg.indexOf("=") !== -1) { 67 | sep = "="; 68 | } else { 69 | throw Error(`Expected ":" or "=" separator in "${arg}"`); 70 | } 71 | } 72 | 73 | const pair = arg.split(sep); 74 | if (pair.length !== 2) { 75 | throw Error(`Expected "${sep}" separator in "${arg}"`); 76 | } 77 | params[pair[0].trim()] = pair[1].trim(); 78 | 79 | return sep; 80 | }, null); 81 | 82 | return params; 83 | } 84 | 85 | function getLoader(parsedValue, valueNode) { 86 | if (!valueNode.nodes.length) { 87 | throw Error(`Invalid "svg-load()" statement`); 88 | } 89 | 90 | // parse url 91 | const { url, urlEnd } = getUrl(valueNode.nodes); 92 | 93 | // parse params 94 | const paramsNodes = valueNode.nodes.slice(urlEnd + 1); 95 | const params = 96 | urlEnd !== valueNode.nodes.length 97 | ? splitParams(getParamChunks(paramsNodes)) 98 | : {}; 99 | 100 | return { 101 | url, 102 | params, 103 | valueNode, 104 | parsedValue, 105 | }; 106 | } 107 | 108 | function getInliner(parsedValue, valueNode) { 109 | if (!valueNode.nodes.length) { 110 | throw Error(`Invalid "svg-inline()" statement`); 111 | } 112 | const name = valueNode.nodes[0].value; 113 | 114 | return { 115 | name, 116 | valueNode, 117 | parsedValue, 118 | }; 119 | } 120 | 121 | module.exports = function parseDeclValue(value) { 122 | const loaders = []; 123 | const inliners = []; 124 | const parsedValue = valueParser(value); 125 | 126 | parsedValue.walk((valueNode) => { 127 | if (valueNode.type === "function") { 128 | if (valueNode.value === "svg-load") { 129 | loaders.push(getLoader(parsedValue, valueNode)); 130 | } else if (valueNode.value === "svg-inline") { 131 | inliners.push(getInliner(parsedValue, valueNode)); 132 | } 133 | } 134 | }); 135 | 136 | return { 137 | loaders, 138 | inliners, 139 | }; 140 | }; 141 | -------------------------------------------------------------------------------- /lib/parseRule.js: -------------------------------------------------------------------------------- 1 | const valueParser = require("postcss-value-parser"); 2 | 3 | function parseRuleDefinition(params) { 4 | const { nodes } = valueParser(params); 5 | if ( 6 | nodes.length !== 3 || 7 | nodes[0].type !== "word" || 8 | nodes[1].type !== "space" || 9 | nodes[2].type !== "function" || 10 | nodes[2].value !== "url" || 11 | nodes[2].nodes.length === 0 12 | ) { 13 | throw Error('Invalid "@svg-load" definition'); 14 | } 15 | return { 16 | name: nodes[0].value, 17 | url: nodes[2].nodes[0].value, 18 | }; 19 | } 20 | 21 | function getRuleParams(rule) { 22 | const params = {}; 23 | const selectors = {}; 24 | 25 | rule.each((node) => { 26 | if (node.type === "decl") { 27 | params[node.prop] = node.value; 28 | } else if (node.type === "rule") { 29 | const selector = selectors[node.selectors] || {}; 30 | node.each((child) => { 31 | if (child.type === "decl") { 32 | selector[child.prop] = child.value; 33 | } 34 | }); 35 | selectors[node.selectors] = selector; 36 | } 37 | }); 38 | 39 | return { 40 | params, 41 | selectors, 42 | }; 43 | } 44 | 45 | module.exports = { 46 | parseRuleDefinition, 47 | getRuleParams, 48 | }; 49 | -------------------------------------------------------------------------------- /lib/processors.js: -------------------------------------------------------------------------------- 1 | const { selectOne, selectAll } = require("css-select"); 2 | 3 | function matchId(exp, id) { 4 | return exp instanceof RegExp ? exp.test(id) : Boolean(exp); 5 | } 6 | 7 | function removeFillAttrib(element) { 8 | delete element.attribs.fill; 9 | } 10 | 11 | function removeFill(id, opts) { 12 | return (dom) => { 13 | if (matchId(opts.removeFill, id)) { 14 | selectAll("[fill]", dom).forEach(removeFillAttrib); 15 | } 16 | }; 17 | } 18 | 19 | function removeStrokeAttrib(element) { 20 | delete element.attribs.stroke; 21 | } 22 | 23 | function removeStroke(id, opts) { 24 | return (dom) => { 25 | if (matchId(opts.removeStroke, id)) { 26 | selectAll("[stroke]", dom).forEach(removeStrokeAttrib); 27 | } 28 | }; 29 | } 30 | 31 | function applyParams(params) { 32 | return ({ attribs }) => { 33 | Object.keys(params).forEach((name) => { 34 | attribs[name] = params[name]; 35 | }); 36 | }; 37 | } 38 | 39 | function applyRootParams(params) { 40 | return (dom) => { 41 | applyParams(params)(selectOne("svg", dom)); 42 | }; 43 | } 44 | 45 | function applySelectedParams(selectors) { 46 | return (dom) => { 47 | const svg = selectOne("svg", dom); 48 | 49 | Object.keys(selectors).forEach((selector) => { 50 | selectAll(selector, svg).forEach(applyParams(selectors[selector])); 51 | }); 52 | }; 53 | } 54 | 55 | module.exports = { 56 | removeFill, 57 | removeStroke, 58 | applyRootParams, 59 | applySelectedParams, 60 | }; 61 | -------------------------------------------------------------------------------- /lib/render.js: -------------------------------------------------------------------------------- 1 | const { parseDOM } = require("htmlparser2"); 2 | const serialize = require("dom-serializer").default; 3 | 4 | module.exports = function render(code, ...processors) { 5 | const dom = parseDOM(code, { xmlMode: true }); 6 | 7 | processors.forEach((processor) => processor(dom)); 8 | 9 | return serialize(dom, { decodeEntities: false }); 10 | }; 11 | -------------------------------------------------------------------------------- /lib/resolveId.js: -------------------------------------------------------------------------------- 1 | const { dirname, resolve } = require("path"); 2 | const { existsSync } = require("fs"); 3 | 4 | module.exports = function resolveId(file, url, opts) { 5 | if (opts.paths && opts.paths.length) { 6 | let absolutePath; 7 | 8 | for (let path of opts.paths) { 9 | absolutePath = resolve(path, url); 10 | 11 | if (existsSync(absolutePath)) { 12 | return absolutePath; 13 | } 14 | } 15 | 16 | return absolutePath; 17 | } 18 | 19 | if (file) { 20 | return resolve(dirname(file), url); 21 | } 22 | 23 | return resolve(url); 24 | }; 25 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "postcss-inline-svg", 3 | "version": "6.0.0", 4 | "description": "PostCSS plugin to reference an SVG file and control its attributes with CSS syntax", 5 | "keywords": [ 6 | "postcss", 7 | "css", 8 | "postcss-plugin", 9 | "svg", 10 | "inline" 11 | ], 12 | "main": "lib/index.js", 13 | "files": [ 14 | "lib" 15 | ], 16 | "scripts": { 17 | "test": "jest", 18 | "prepare": "husky install" 19 | }, 20 | "lint-staged": { 21 | "*.js": [ 22 | "prettier --write" 23 | ] 24 | }, 25 | "author": "Bogdan Chadkin ", 26 | "license": "MIT", 27 | "repository": "TrySound/postcss-inline-svg", 28 | "bugs": { 29 | "url": "https://github.com/TrySound/postcss-inline-svg/issues" 30 | }, 31 | "homepage": "https://github.com/TrySound/postcss-inline-svg", 32 | "dependencies": { 33 | "css-select": "^5.1.0", 34 | "dom-serializer": "^2.0.0", 35 | "htmlparser2": "^8.0.1", 36 | "postcss-value-parser": "^4.2.0" 37 | }, 38 | "peerDependencies": { 39 | "postcss": "^8.1.4" 40 | }, 41 | "devDependencies": { 42 | "husky": "^8.0.3", 43 | "jest": "^29.4.2", 44 | "lint-staged": "^13.1.1", 45 | "postcss": "^8.4.21", 46 | "prettier": "^2.8.4" 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /test/cases.test.js: -------------------------------------------------------------------------------- 1 | /* eslint-env mocha */ 2 | const path = require("path"); 3 | const { compare } = require("./utils.js"); 4 | 5 | process.chdir(__dirname); 6 | 7 | test("should resolve quotes in transform step", () => { 8 | return compare( 9 | `background: svg-load('fixtures/font.svg');`, 10 | `background: url("data:image/svg+xml;charset=utf-8,");`, 11 | { from: "input.css", encode: false } 12 | ); 13 | }); 14 | 15 | test("should stringify all values after ast transformation", () => { 16 | return compare( 17 | ` 18 | @svg-load icon url(fixtures/basic.svg) {} 19 | background: svg-inline(icon); 20 | background: svg-load('fixtures/basic.svg'); 21 | `, 22 | ` 23 | background: url("data:image/svg+xml;charset=utf-8,"); 24 | background: url("data:image/svg+xml;charset=utf-8,"); 25 | `, 26 | { from: "input.css", encode: false } 27 | ).then((result) => { 28 | result.root.walkDecls((decl) => { 29 | expect(typeof decl.value).toEqual("string"); 30 | }); 31 | }); 32 | }); 33 | 34 | test("should warn on not found file", () => { 35 | return compare( 36 | `background: svg-load('fixtures/not-found.svg');`, 37 | `background: svg-load('fixtures/not-found.svg');`, 38 | { from: "input.css", encode: false }, 39 | [`Can't load '${path.resolve("fixtures/not-found.svg")}'`] 40 | ); 41 | }); 42 | 43 | test("should add message about dependency", () => { 44 | return compare( 45 | ` 46 | background: svg-load('fixtures/basic.svg'); 47 | @svg-load icon url('fixtures/basic-black.svg') {} 48 | `, 49 | ` 50 | background: url("data:image/svg+xml;charset=utf-8,") 51 | `, 52 | { from: "input.css", encode: false } 53 | ).then((result) => { 54 | const messages = result.messages 55 | .filter((message) => message.type === "dependency") 56 | .map((message) => [message.file, message.parent]) 57 | .sort(); 58 | expect(messages).toEqual([ 59 | [path.resolve("fixtures/basic-black.svg"), path.resolve("input.css")], 60 | [path.resolve("fixtures/basic.svg"), path.resolve("input.css")], 61 | ]); 62 | }); 63 | }); 64 | 65 | test("should not add message about not found dependency", () => { 66 | return compare( 67 | ` 68 | background: svg-load('fixtures/not-found.svg'); 69 | @svg-load icon url('fixtures/not-found.svg') {} 70 | `, 71 | ` 72 | background: svg-load('fixtures/not-found.svg'); 73 | @svg-load icon url('fixtures/not-found.svg') {} 74 | `, 75 | { from: "input.css", encode: false }, 76 | [ 77 | `Can't load '${path.resolve("fixtures/not-found.svg")}'`, 78 | `Can't load '${path.resolve("fixtures/not-found.svg")}'`, 79 | ] 80 | ).then((result) => { 81 | const messages = result.messages 82 | .filter((message) => message.type === "dependency") 83 | .map((message) => message.file) 84 | .sort(); 85 | expect(messages).toEqual([]); 86 | }); 87 | }); 88 | 89 | test("should add parent in dependency message if specified", () => { 90 | return compare( 91 | ` 92 | background: svg-load('basic.svg'); 93 | @svg-load icon url('basic-black.svg') {} 94 | `, 95 | ` 96 | background: url("data:image/svg+xml;charset=utf-8,") 97 | `, 98 | { from: "fixtures/file.css", encode: false } 99 | ).then((result) => { 100 | const messages = result.messages 101 | .filter((message) => message.type === "dependency") 102 | .map((message) => message.parent) 103 | .sort(); 104 | expect(messages).toEqual([ 105 | path.resolve("fixtures/file.css"), 106 | path.resolve("fixtures/file.css"), 107 | ]); 108 | }); 109 | }); 110 | -------------------------------------------------------------------------------- /test/extended.test.js: -------------------------------------------------------------------------------- 1 | /* eslint-env mocha */ 2 | const { compare } = require("./utils.js"); 3 | 4 | process.chdir(__dirname); 5 | 6 | test("should compile basic", () => { 7 | return compare( 8 | ` 9 | @svg-load icon url(fixtures/basic.svg) {} 10 | @svg-load icon2 url('fixtures/basic.svg') {} 11 | background: svg-inline(icon); 12 | background: svg-inline(icon2); 13 | `, 14 | ` 15 | background: url("data:image/svg+xml;charset=utf-8,"); 16 | background: url("data:image/svg+xml;charset=utf-8,"); 17 | `, 18 | { from: "input.css", encode: false } 19 | ); 20 | }); 21 | 22 | test("should skip invalid syntax", () => { 23 | const fixtures = ` 24 | @svg-load {} 25 | @svg-load url() {} 26 | @svg-load icon {} 27 | @svg-load icon url() {} 28 | background: svg-inline(); 29 | `; 30 | return compare(fixtures, fixtures, { from: "input.css", encode: false }, [ 31 | 'Invalid "@svg-load" definition', 32 | 'Invalid "@svg-load" definition', 33 | 'Invalid "@svg-load" definition', 34 | 'Invalid "@svg-load" definition', 35 | 'Invalid "svg-inline()" statement', 36 | ]); 37 | }); 38 | 39 | test("should skip if svg is not defined", () => { 40 | const fixtures = ` 41 | background: svg-inline(icon); 42 | background: svg-inline(icon2); 43 | `; 44 | return compare(fixtures, fixtures, { from: "input.css", encode: false }, [ 45 | '"icon" svg is not defined', 46 | '"icon2" svg is not defined', 47 | ]); 48 | }); 49 | 50 | test("should apply root params", () => { 51 | return compare( 52 | ` 53 | @svg-load icon url(fixtures/basic.svg) { 54 | fill: #fff; 55 | stroke: #000; 56 | } 57 | background: svg-inline(icon); 58 | `, 59 | ` 60 | background: url("data:image/svg+xml;charset=utf-8,"); 61 | `, 62 | { from: "input.css", encode: false } 63 | ); 64 | }); 65 | 66 | test("should rewrite root params", () => { 67 | return compare( 68 | ` 69 | @svg-load icon url(fixtures/basic-black.svg) { 70 | fill: #fff; 71 | stroke: #000; 72 | } 73 | background: svg-inline(icon); 74 | `, 75 | ` 76 | background: url("data:image/svg+xml;charset=utf-8,"); 77 | `, 78 | { from: "input.css", encode: false } 79 | ); 80 | }); 81 | 82 | test("should apply params by tag", () => { 83 | return compare( 84 | ` 85 | @svg-load icon url(fixtures/path.svg) { 86 | path { 87 | fill: #fff; 88 | } 89 | } 90 | background: svg-inline(icon); 91 | `, 92 | ` 93 | background: url("data:image/svg+xml;charset=utf-8,"); 94 | `, 95 | { from: "input.css", encode: false } 96 | ); 97 | }); 98 | 99 | test("should apply params by className", () => { 100 | return compare( 101 | ` 102 | @svg-load icon url(fixtures/path.svg) { 103 | .g1 { 104 | fill: #fff; 105 | } 106 | } 107 | background: svg-inline(icon); 108 | `, 109 | ` 110 | background: url("data:image/svg+xml;charset=utf-8,"); 111 | `, 112 | { from: "input.css", encode: false } 113 | ); 114 | }); 115 | -------------------------------------------------------------------------------- /test/fixtures/basic-black.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/fixtures/basic-with-xmlns.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/fixtures/basic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/fixtures/fill-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/fixtures/fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/fixtures/font.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/fixtures/path.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/fixtures/stroke-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/fixtures/stroke.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/options.test.js: -------------------------------------------------------------------------------- 1 | /* eslint-env mocha */ 2 | const { compare } = require("./utils.js"); 3 | 4 | process.chdir(__dirname); 5 | 6 | test('should take file relatively to "from" option', () => { 7 | return compare( 8 | ` 9 | @svg-load icon url(basic.svg) {} 10 | background: svg-load('basic.svg'); 11 | background: svg-inline(icon); 12 | `, 13 | ` 14 | background: url("data:image/svg+xml;charset=utf-8,"); 15 | background: url("data:image/svg+xml;charset=utf-8,"); 16 | `, 17 | { from: "./fixtures/index.css", encode: false } 18 | ); 19 | }); 20 | 21 | test('should take file relatively to "paths" option', () => { 22 | return compare( 23 | ` 24 | @svg-load icon url(basic.svg) {} 25 | background: svg-load('basic.svg'); 26 | background: svg-inline(icon); 27 | `, 28 | ` 29 | background: url("data:image/svg+xml;charset=utf-8,"); 30 | background: url("data:image/svg+xml;charset=utf-8,"); 31 | `, 32 | { from: "input.css", paths: ["./fixtures"], encode: false } 33 | ); 34 | }); 35 | 36 | test('should find existing path from "paths" option', () => { 37 | return compare( 38 | ` 39 | @svg-load icon url(basic.svg) {} 40 | background: svg-load('basic.svg'); 41 | background: svg-inline(icon); 42 | `, 43 | ` 44 | background: url("data:image/svg+xml;charset=utf-8,"); 45 | background: url("data:image/svg+xml;charset=utf-8,"); 46 | `, 47 | { 48 | from: "input.css", 49 | paths: ["./does_not_exist", "./fixtures"], 50 | encode: false, 51 | } 52 | ); 53 | }); 54 | 55 | test('should prefer "paths" option over "from"', () => { 56 | return compare( 57 | ` 58 | @svg-load icon url(basic.svg) {} 59 | background: svg-load('basic.svg'); 60 | background: svg-inline(icon); 61 | `, 62 | ` 63 | background: url("data:image/svg+xml;charset=utf-8,"); 64 | background: url("data:image/svg+xml;charset=utf-8,"); 65 | `, 66 | { 67 | from: "./fixtures/deeper/index.css", 68 | paths: ["./fixtures"], 69 | encode: false, 70 | } 71 | ); 72 | }); 73 | 74 | test("should ignore xmlns absence", () => { 75 | return compare( 76 | `background: svg-load('fixtures/basic.svg');`, 77 | `background: url("data:image/svg+xml;charset=utf-8,%3Csvg id='basic'/%3E");`, 78 | { from: "input.css", xmlns: false } 79 | ); 80 | }); 81 | 82 | test("should skip adding of xmlns if it is present in file", () => { 83 | return compare( 84 | `background: svg-load('fixtures/basic-with-xmlns.svg');`, 85 | `background: url("data:image/svg+xml;charset=utf-8,");`, 86 | { from: "input.css", encode: false } 87 | ); 88 | }); 89 | 90 | test("should transform result svg into url", () => { 91 | return compare( 92 | ` 93 | @svg-load icon url(fixtures/basic.svg) { 94 | fill: #fff; 95 | } 96 | background: svg-load('fixtures/basic.svg', fill=#fff); 97 | background: svg-inline(icon); 98 | `, 99 | ` 100 | background: url(basic.svg: transformed content); 101 | background: url(basic.svg: transformed content); 102 | `, 103 | { 104 | from: "input.css", 105 | encode: false, 106 | xmlns: false, 107 | transform(result, file) { 108 | expect(result).toEqual(''); 109 | return file.split(/\\|\//).pop() + ": transformed content"; 110 | }, 111 | } 112 | ); 113 | }); 114 | 115 | test("should encode result svg", () => { 116 | return compare( 117 | ` 118 | @svg-load icon url(fixtures/basic.svg) {} 119 | background: svg-load('fixtures/basic.svg'); 120 | background: svg-inline(icon); 121 | `, 122 | ` 123 | background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' id='basic'/%3E"); 124 | background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' id='basic'/%3E"); 125 | `, 126 | { from: "input.css" } 127 | ); 128 | }); 129 | 130 | test("should encode result svg with custom encoder", () => { 131 | return compare( 132 | ` 133 | @svg-load icon url(fixtures/basic.svg) {} 134 | background: svg-load('fixtures/basic.svg'); 135 | background: svg-inline(icon); 136 | `, 137 | ` 138 | background: url("data:image/svg+xml;charset=utf-8,1234567890"); 139 | background: url("data:image/svg+xml;charset=utf-8,1234567890"); 140 | `, 141 | { 142 | from: "input.css", 143 | encode(code) { 144 | expect(code).toEqual( 145 | `` 146 | ); 147 | return "1234567890"; 148 | }, 149 | } 150 | ); 151 | }); 152 | 153 | test('should combine results of "encode" and "transform"', () => { 154 | return compare( 155 | `background: svg-load('fixtures/basic.svg');`, 156 | `background: url([transform: encode]);`, 157 | { 158 | from: "input.css", 159 | encode() { 160 | return "encode"; 161 | }, 162 | transform(code) { 163 | return `[transform: ${code}]`; 164 | }, 165 | } 166 | ); 167 | }); 168 | 169 | test("should remove fill attributes with removeFill: true", () => { 170 | return compare( 171 | `background: svg-load('fixtures/fill.svg', fill="#fff");`, 172 | `background: url("data:image/svg+xml;charset=utf-8, ");`, 173 | { 174 | from: "input.css", 175 | removeFill: true, 176 | encode: false, 177 | } 178 | ); 179 | }); 180 | 181 | test("should remove fill attributes with removeFill: RegExp", () => { 182 | return compare( 183 | ` 184 | background: svg-load('fixtures/fill.svg', fill="#fff"); 185 | background: svg-load('fixtures/fill-icon.svg', fill="#fff"); 186 | `, 187 | ` 188 | background: url("data:image/svg+xml;charset=utf-8, "); 189 | background: url("data:image/svg+xml;charset=utf-8, "); 190 | `, 191 | { 192 | from: "input.css", 193 | removeFill: /-icon/, 194 | encode: false, 195 | } 196 | ); 197 | }); 198 | 199 | test("should remove stroke attributes with removeStroke: true", () => { 200 | return compare( 201 | `background: svg-load('fixtures/stroke.svg', stroke="#fff");`, 202 | `background: url("data:image/svg+xml;charset=utf-8, ");`, 203 | { 204 | from: "input.css", 205 | removeStroke: true, 206 | encode: false, 207 | } 208 | ); 209 | }); 210 | 211 | test("should remove stroke attributes with removeStroke: RegExp", () => { 212 | return compare( 213 | ` 214 | background: svg-load('fixtures/stroke.svg', stroke="#fff"); 215 | background: svg-load('fixtures/stroke-icon.svg', stroke="#fff"); 216 | `, 217 | ` 218 | background: url("data:image/svg+xml;charset=utf-8, "); 219 | background: url("data:image/svg+xml;charset=utf-8, "); 220 | `, 221 | { 222 | from: "input.css", 223 | removeStroke: /-icon/, 224 | encode: false, 225 | } 226 | ); 227 | }); 228 | -------------------------------------------------------------------------------- /test/short.test.js: -------------------------------------------------------------------------------- 1 | const { compare } = require("./utils.js"); 2 | 3 | process.chdir(__dirname); 4 | 5 | test("should compile basic", () => { 6 | return compare( 7 | `background: svg-load('fixtures/basic.svg');`, 8 | `background: url("data:image/svg+xml;charset=utf-8,");`, 9 | { from: "input.css", encode: false } 10 | ); 11 | }); 12 | 13 | test("should skip unexpected function syntax", () => { 14 | const fixtures = ` 15 | background: svg-load(); 16 | background: svg-load('fixtures/basic.svg', ); 17 | background: svg-load(a'fixtures/basic.svg'); 18 | background: svg-load(,'fixtures/basic.svg'); 19 | `; 20 | return compare(fixtures, fixtures, { from: "input.css", encode: false }, [ 21 | `Invalid "svg-load()" statement`, 22 | `Expected parameter`, 23 | `Invalid "svg-load(a'fixtures/basic.svg')" definition`, 24 | `Invalid "svg-load(,'fixtures/basic.svg')" definition`, 25 | ]); 26 | }); 27 | 28 | test("should compile fill param", () => { 29 | return compare( 30 | `background: svg-load('fixtures/basic.svg', fill=#fff);`, 31 | `background: url("data:image/svg+xml;charset=utf-8,");`, 32 | { from: "input.css", encode: false } 33 | ); 34 | }); 35 | 36 | test("should compile unquoted path", () => { 37 | return compare( 38 | ` 39 | background: svg-load(fixtures/basic.svg); 40 | background: svg-load(fixtures/basic.svg, fill=#fff); 41 | `, 42 | ` 43 | background: url("data:image/svg+xml;charset=utf-8,"); 44 | background: url("data:image/svg+xml;charset=utf-8,"); 45 | `, 46 | { from: "input.css", encode: false } 47 | ); 48 | }); 49 | 50 | test("should compile fill and stroke param", () => { 51 | return compare( 52 | `background: svg-load('fixtures/basic.svg', fill=#fff, stroke=#000);`, 53 | `background: url("data:image/svg+xml;charset=utf-8,");`, 54 | { from: "input.css", encode: false } 55 | ); 56 | }); 57 | 58 | test("should compile fill param with colon syntax", () => { 59 | return compare( 60 | `background: svg-load('fixtures/basic.svg', fill: #fff);`, 61 | `background: url("data:image/svg+xml;charset=utf-8,");`, 62 | { from: "input.css", encode: false } 63 | ); 64 | }); 65 | 66 | test("should skip param with unexpected separator", () => { 67 | const fixtures = ` 68 | background: svg-load('fixtures/basic.svg', fill: #fff, stroke=#000); 69 | background: svg-load('fixtures/basic.svg', fill=#fff, stroke: #000); 70 | background: svg-load('fixtures/basic.svg', fill::#fff); 71 | background: svg-load('fixtures/basic.svg', fill #fff); 72 | background: svg-load('fixtures/basic.svg', fill-#fff); 73 | background: svg-load('fixtures/basic.svg', fn()); 74 | `; 75 | return compare(fixtures, fixtures, { from: "input.css", encode: false }, [ 76 | 'Expected ":" separator in "stroke=#000"', 77 | 'Expected "=" separator in "stroke: #000"', 78 | 'Expected ":" separator in "fill::#fff"', 79 | 'Expected ":" or "=" separator in "fill #fff"', 80 | 'Expected ":" or "=" separator in "fill-#fff"', 81 | 'Expected ":" or "=" separator in "fn()"', 82 | ]); 83 | }); 84 | 85 | test("should override fill param", () => { 86 | return compare( 87 | `background: svg-load('fixtures/basic-black.svg', fill=#fff);`, 88 | `background: url("data:image/svg+xml;charset=utf-8,");`, 89 | { from: "input.css", encode: false } 90 | ); 91 | }); 92 | 93 | test("should compile color functions", () => { 94 | return compare( 95 | `background: svg-load('fixtures/basic.svg', fill=rgb(255, 0, 0));`, 96 | `background: url("data:image/svg+xml;charset=utf-8,");`, 97 | { from: "input.css", encode: false } 98 | ); 99 | }); 100 | -------------------------------------------------------------------------------- /test/utils.js: -------------------------------------------------------------------------------- 1 | const postcss = require("postcss"); 2 | const plugin = require("../"); 3 | 4 | function compare(fixture, expected, options, warnings = []) { 5 | return postcss([plugin(options)]) 6 | .process(fixture, options) 7 | .then((result) => { 8 | const resultWarnings = result.warnings(); 9 | resultWarnings.forEach((warning, index) => { 10 | expect(warnings[index]).toEqual(warning.text); 11 | }); 12 | expect(resultWarnings.length).toEqual(warnings.length); 13 | expect(result.css).toEqual(expected); 14 | return result; 15 | }); 16 | } 17 | 18 | exports.compare = compare; 19 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@ampproject/remapping@^2.1.0": 6 | version "2.2.0" 7 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" 8 | integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== 9 | dependencies: 10 | "@jridgewell/gen-mapping" "^0.1.0" 11 | "@jridgewell/trace-mapping" "^0.3.9" 12 | 13 | "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": 14 | version "7.10.4" 15 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" 16 | integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== 17 | dependencies: 18 | "@babel/highlight" "^7.10.4" 19 | 20 | "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": 21 | version "7.18.6" 22 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" 23 | integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== 24 | dependencies: 25 | "@babel/highlight" "^7.18.6" 26 | 27 | "@babel/compat-data@^7.20.5": 28 | version "7.20.10" 29 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.10.tgz#9d92fa81b87542fff50e848ed585b4212c1d34ec" 30 | integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg== 31 | 32 | "@babel/core@^7.11.6", "@babel/core@^7.12.3": 33 | version "7.20.12" 34 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.12.tgz#7930db57443c6714ad216953d1356dac0eb8496d" 35 | integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg== 36 | dependencies: 37 | "@ampproject/remapping" "^2.1.0" 38 | "@babel/code-frame" "^7.18.6" 39 | "@babel/generator" "^7.20.7" 40 | "@babel/helper-compilation-targets" "^7.20.7" 41 | "@babel/helper-module-transforms" "^7.20.11" 42 | "@babel/helpers" "^7.20.7" 43 | "@babel/parser" "^7.20.7" 44 | "@babel/template" "^7.20.7" 45 | "@babel/traverse" "^7.20.12" 46 | "@babel/types" "^7.20.7" 47 | convert-source-map "^1.7.0" 48 | debug "^4.1.0" 49 | gensync "^1.0.0-beta.2" 50 | json5 "^2.2.2" 51 | semver "^6.3.0" 52 | 53 | "@babel/generator@^7.20.7", "@babel/generator@^7.7.2": 54 | version "7.20.7" 55 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a" 56 | integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw== 57 | dependencies: 58 | "@babel/types" "^7.20.7" 59 | "@jridgewell/gen-mapping" "^0.3.2" 60 | jsesc "^2.5.1" 61 | 62 | "@babel/helper-compilation-targets@^7.20.7": 63 | version "7.20.7" 64 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" 65 | integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== 66 | dependencies: 67 | "@babel/compat-data" "^7.20.5" 68 | "@babel/helper-validator-option" "^7.18.6" 69 | browserslist "^4.21.3" 70 | lru-cache "^5.1.1" 71 | semver "^6.3.0" 72 | 73 | "@babel/helper-environment-visitor@^7.18.9": 74 | version "7.18.9" 75 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" 76 | integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== 77 | 78 | "@babel/helper-function-name@^7.19.0": 79 | version "7.19.0" 80 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" 81 | integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== 82 | dependencies: 83 | "@babel/template" "^7.18.10" 84 | "@babel/types" "^7.19.0" 85 | 86 | "@babel/helper-hoist-variables@^7.18.6": 87 | version "7.18.6" 88 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" 89 | integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== 90 | dependencies: 91 | "@babel/types" "^7.18.6" 92 | 93 | "@babel/helper-module-imports@^7.18.6": 94 | version "7.18.6" 95 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" 96 | integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== 97 | dependencies: 98 | "@babel/types" "^7.18.6" 99 | 100 | "@babel/helper-module-transforms@^7.20.11": 101 | version "7.20.11" 102 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" 103 | integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== 104 | dependencies: 105 | "@babel/helper-environment-visitor" "^7.18.9" 106 | "@babel/helper-module-imports" "^7.18.6" 107 | "@babel/helper-simple-access" "^7.20.2" 108 | "@babel/helper-split-export-declaration" "^7.18.6" 109 | "@babel/helper-validator-identifier" "^7.19.1" 110 | "@babel/template" "^7.20.7" 111 | "@babel/traverse" "^7.20.10" 112 | "@babel/types" "^7.20.7" 113 | 114 | "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0": 115 | version "7.10.4" 116 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" 117 | integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== 118 | 119 | "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0": 120 | version "7.20.2" 121 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" 122 | integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== 123 | 124 | "@babel/helper-simple-access@^7.20.2": 125 | version "7.20.2" 126 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" 127 | integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== 128 | dependencies: 129 | "@babel/types" "^7.20.2" 130 | 131 | "@babel/helper-split-export-declaration@^7.18.6": 132 | version "7.18.6" 133 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" 134 | integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== 135 | dependencies: 136 | "@babel/types" "^7.18.6" 137 | 138 | "@babel/helper-string-parser@^7.19.4": 139 | version "7.19.4" 140 | resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" 141 | integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== 142 | 143 | "@babel/helper-validator-identifier@^7.10.4": 144 | version "7.10.4" 145 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" 146 | integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== 147 | 148 | "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": 149 | version "7.19.1" 150 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" 151 | integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== 152 | 153 | "@babel/helper-validator-option@^7.18.6": 154 | version "7.18.6" 155 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" 156 | integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== 157 | 158 | "@babel/helpers@^7.20.7": 159 | version "7.20.7" 160 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.7.tgz#04502ff0feecc9f20ecfaad120a18f011a8e6dce" 161 | integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA== 162 | dependencies: 163 | "@babel/template" "^7.20.7" 164 | "@babel/traverse" "^7.20.7" 165 | "@babel/types" "^7.20.7" 166 | 167 | "@babel/highlight@^7.10.4": 168 | version "7.10.4" 169 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" 170 | integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== 171 | dependencies: 172 | "@babel/helper-validator-identifier" "^7.10.4" 173 | chalk "^2.0.0" 174 | js-tokens "^4.0.0" 175 | 176 | "@babel/highlight@^7.18.6": 177 | version "7.18.6" 178 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" 179 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== 180 | dependencies: 181 | "@babel/helper-validator-identifier" "^7.18.6" 182 | chalk "^2.0.0" 183 | js-tokens "^4.0.0" 184 | 185 | "@babel/parser@^7.1.0", "@babel/parser@^7.10.4": 186 | version "7.12.3" 187 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" 188 | integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw== 189 | 190 | "@babel/parser@^7.14.7", "@babel/parser@^7.20.7": 191 | version "7.20.7" 192 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b" 193 | integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== 194 | 195 | "@babel/plugin-syntax-async-generators@^7.8.4": 196 | version "7.8.4" 197 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" 198 | integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== 199 | dependencies: 200 | "@babel/helper-plugin-utils" "^7.8.0" 201 | 202 | "@babel/plugin-syntax-bigint@^7.8.3": 203 | version "7.8.3" 204 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" 205 | integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== 206 | dependencies: 207 | "@babel/helper-plugin-utils" "^7.8.0" 208 | 209 | "@babel/plugin-syntax-class-properties@^7.8.3": 210 | version "7.12.1" 211 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz#bcb297c5366e79bebadef509549cd93b04f19978" 212 | integrity sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA== 213 | dependencies: 214 | "@babel/helper-plugin-utils" "^7.10.4" 215 | 216 | "@babel/plugin-syntax-import-meta@^7.8.3": 217 | version "7.10.4" 218 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" 219 | integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== 220 | dependencies: 221 | "@babel/helper-plugin-utils" "^7.10.4" 222 | 223 | "@babel/plugin-syntax-json-strings@^7.8.3": 224 | version "7.8.3" 225 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" 226 | integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== 227 | dependencies: 228 | "@babel/helper-plugin-utils" "^7.8.0" 229 | 230 | "@babel/plugin-syntax-jsx@^7.7.2": 231 | version "7.18.6" 232 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" 233 | integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== 234 | dependencies: 235 | "@babel/helper-plugin-utils" "^7.18.6" 236 | 237 | "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": 238 | version "7.10.4" 239 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" 240 | integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== 241 | dependencies: 242 | "@babel/helper-plugin-utils" "^7.10.4" 243 | 244 | "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": 245 | version "7.8.3" 246 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" 247 | integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== 248 | dependencies: 249 | "@babel/helper-plugin-utils" "^7.8.0" 250 | 251 | "@babel/plugin-syntax-numeric-separator@^7.8.3": 252 | version "7.10.4" 253 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" 254 | integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== 255 | dependencies: 256 | "@babel/helper-plugin-utils" "^7.10.4" 257 | 258 | "@babel/plugin-syntax-object-rest-spread@^7.8.3": 259 | version "7.8.3" 260 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" 261 | integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== 262 | dependencies: 263 | "@babel/helper-plugin-utils" "^7.8.0" 264 | 265 | "@babel/plugin-syntax-optional-catch-binding@^7.8.3": 266 | version "7.8.3" 267 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" 268 | integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== 269 | dependencies: 270 | "@babel/helper-plugin-utils" "^7.8.0" 271 | 272 | "@babel/plugin-syntax-optional-chaining@^7.8.3": 273 | version "7.8.3" 274 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" 275 | integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== 276 | dependencies: 277 | "@babel/helper-plugin-utils" "^7.8.0" 278 | 279 | "@babel/plugin-syntax-top-level-await@^7.8.3": 280 | version "7.14.5" 281 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" 282 | integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== 283 | dependencies: 284 | "@babel/helper-plugin-utils" "^7.14.5" 285 | 286 | "@babel/plugin-syntax-typescript@^7.7.2": 287 | version "7.20.0" 288 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7" 289 | integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== 290 | dependencies: 291 | "@babel/helper-plugin-utils" "^7.19.0" 292 | 293 | "@babel/template@^7.18.10", "@babel/template@^7.20.7": 294 | version "7.20.7" 295 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" 296 | integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== 297 | dependencies: 298 | "@babel/code-frame" "^7.18.6" 299 | "@babel/parser" "^7.20.7" 300 | "@babel/types" "^7.20.7" 301 | 302 | "@babel/template@^7.3.3": 303 | version "7.10.4" 304 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" 305 | integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== 306 | dependencies: 307 | "@babel/code-frame" "^7.10.4" 308 | "@babel/parser" "^7.10.4" 309 | "@babel/types" "^7.10.4" 310 | 311 | "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.7", "@babel/traverse@^7.7.2": 312 | version "7.20.12" 313 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.12.tgz#7f0f787b3a67ca4475adef1f56cb94f6abd4a4b5" 314 | integrity sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ== 315 | dependencies: 316 | "@babel/code-frame" "^7.18.6" 317 | "@babel/generator" "^7.20.7" 318 | "@babel/helper-environment-visitor" "^7.18.9" 319 | "@babel/helper-function-name" "^7.19.0" 320 | "@babel/helper-hoist-variables" "^7.18.6" 321 | "@babel/helper-split-export-declaration" "^7.18.6" 322 | "@babel/parser" "^7.20.7" 323 | "@babel/types" "^7.20.7" 324 | debug "^4.1.0" 325 | globals "^11.1.0" 326 | 327 | "@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.3.0", "@babel/types@^7.3.3": 328 | version "7.12.1" 329 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.1.tgz#e109d9ab99a8de735be287ee3d6a9947a190c4ae" 330 | integrity sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA== 331 | dependencies: 332 | "@babel/helper-validator-identifier" "^7.10.4" 333 | lodash "^4.17.19" 334 | to-fast-properties "^2.0.0" 335 | 336 | "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7": 337 | version "7.20.7" 338 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" 339 | integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== 340 | dependencies: 341 | "@babel/helper-string-parser" "^7.19.4" 342 | "@babel/helper-validator-identifier" "^7.19.1" 343 | to-fast-properties "^2.0.0" 344 | 345 | "@bcoe/v8-coverage@^0.2.3": 346 | version "0.2.3" 347 | resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" 348 | integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== 349 | 350 | "@istanbuljs/load-nyc-config@^1.0.0": 351 | version "1.1.0" 352 | resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" 353 | integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== 354 | dependencies: 355 | camelcase "^5.3.1" 356 | find-up "^4.1.0" 357 | get-package-type "^0.1.0" 358 | js-yaml "^3.13.1" 359 | resolve-from "^5.0.0" 360 | 361 | "@istanbuljs/schema@^0.1.2": 362 | version "0.1.2" 363 | resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" 364 | integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== 365 | 366 | "@jest/console@^29.4.2": 367 | version "29.4.2" 368 | resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.4.2.tgz#f78374905c2454764152904a344a2d5226b0ef09" 369 | integrity sha512-0I/rEJwMpV9iwi9cDEnT71a5nNGK9lj8Z4+1pRAU2x/thVXCDnaTGrvxyK+cAqZTFVFCiR+hfVrP4l2m+dCmQg== 370 | dependencies: 371 | "@jest/types" "^29.4.2" 372 | "@types/node" "*" 373 | chalk "^4.0.0" 374 | jest-message-util "^29.4.2" 375 | jest-util "^29.4.2" 376 | slash "^3.0.0" 377 | 378 | "@jest/core@^29.4.2": 379 | version "29.4.2" 380 | resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.4.2.tgz#6e999b67bdc2df9d96ba9b142465bda71ee472c2" 381 | integrity sha512-KGuoQah0P3vGNlaS/l9/wQENZGNKGoWb+OPxh3gz+YzG7/XExvYu34MzikRndQCdM2S0tzExN4+FL37i6gZmCQ== 382 | dependencies: 383 | "@jest/console" "^29.4.2" 384 | "@jest/reporters" "^29.4.2" 385 | "@jest/test-result" "^29.4.2" 386 | "@jest/transform" "^29.4.2" 387 | "@jest/types" "^29.4.2" 388 | "@types/node" "*" 389 | ansi-escapes "^4.2.1" 390 | chalk "^4.0.0" 391 | ci-info "^3.2.0" 392 | exit "^0.1.2" 393 | graceful-fs "^4.2.9" 394 | jest-changed-files "^29.4.2" 395 | jest-config "^29.4.2" 396 | jest-haste-map "^29.4.2" 397 | jest-message-util "^29.4.2" 398 | jest-regex-util "^29.4.2" 399 | jest-resolve "^29.4.2" 400 | jest-resolve-dependencies "^29.4.2" 401 | jest-runner "^29.4.2" 402 | jest-runtime "^29.4.2" 403 | jest-snapshot "^29.4.2" 404 | jest-util "^29.4.2" 405 | jest-validate "^29.4.2" 406 | jest-watcher "^29.4.2" 407 | micromatch "^4.0.4" 408 | pretty-format "^29.4.2" 409 | slash "^3.0.0" 410 | strip-ansi "^6.0.0" 411 | 412 | "@jest/environment@^29.4.2": 413 | version "29.4.2" 414 | resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.4.2.tgz#ee92c316ee2fbdf0bcd9d2db0ef42d64fea26b56" 415 | integrity sha512-JKs3VUtse0vQfCaFGJRX1bir9yBdtasxziSyu+pIiEllAQOe4oQhdCYIf3+Lx+nGglFktSKToBnRJfD5QKp+NQ== 416 | dependencies: 417 | "@jest/fake-timers" "^29.4.2" 418 | "@jest/types" "^29.4.2" 419 | "@types/node" "*" 420 | jest-mock "^29.4.2" 421 | 422 | "@jest/expect-utils@^29.4.2": 423 | version "29.4.2" 424 | resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.4.2.tgz#cd0065dfdd8e8a182aa350cc121db97b5eed7b3f" 425 | integrity sha512-Dd3ilDJpBnqa0GiPN7QrudVs0cczMMHtehSo2CSTjm3zdHx0RcpmhFNVEltuEFeqfLIyWKFI224FsMSQ/nsJQA== 426 | dependencies: 427 | jest-get-type "^29.4.2" 428 | 429 | "@jest/expect@^29.4.2": 430 | version "29.4.2" 431 | resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.4.2.tgz#2d4a6a41b29380957c5094de19259f87f194578b" 432 | integrity sha512-NUAeZVApzyaeLjfWIV/64zXjA2SS+NuUPHpAlO7IwVMGd5Vf9szTl9KEDlxY3B4liwLO31os88tYNHl6cpjtKQ== 433 | dependencies: 434 | expect "^29.4.2" 435 | jest-snapshot "^29.4.2" 436 | 437 | "@jest/fake-timers@^29.4.2": 438 | version "29.4.2" 439 | resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.4.2.tgz#af43ee1a5720b987d0348f80df98f2cb17d45cd0" 440 | integrity sha512-Ny1u0Wg6kCsHFWq7A/rW/tMhIedq2siiyHyLpHCmIhP7WmcAmd2cx95P+0xtTZlj5ZbJxIRQi4OPydZZUoiSQQ== 441 | dependencies: 442 | "@jest/types" "^29.4.2" 443 | "@sinonjs/fake-timers" "^10.0.2" 444 | "@types/node" "*" 445 | jest-message-util "^29.4.2" 446 | jest-mock "^29.4.2" 447 | jest-util "^29.4.2" 448 | 449 | "@jest/globals@^29.4.2": 450 | version "29.4.2" 451 | resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.4.2.tgz#73f85f5db0e17642258b25fd0b9fc89ddedb50eb" 452 | integrity sha512-zCk70YGPzKnz/I9BNFDPlK+EuJLk21ur/NozVh6JVM86/YYZtZHqxFFQ62O9MWq7uf3vIZnvNA0BzzrtxD9iyg== 453 | dependencies: 454 | "@jest/environment" "^29.4.2" 455 | "@jest/expect" "^29.4.2" 456 | "@jest/types" "^29.4.2" 457 | jest-mock "^29.4.2" 458 | 459 | "@jest/reporters@^29.4.2": 460 | version "29.4.2" 461 | resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.4.2.tgz#6abfa923941daae0acc76a18830ee9e79a22042d" 462 | integrity sha512-10yw6YQe75zCgYcXgEND9kw3UZZH5tJeLzWv4vTk/2mrS1aY50A37F+XT2hPO5OqQFFnUWizXD8k1BMiATNfUw== 463 | dependencies: 464 | "@bcoe/v8-coverage" "^0.2.3" 465 | "@jest/console" "^29.4.2" 466 | "@jest/test-result" "^29.4.2" 467 | "@jest/transform" "^29.4.2" 468 | "@jest/types" "^29.4.2" 469 | "@jridgewell/trace-mapping" "^0.3.15" 470 | "@types/node" "*" 471 | chalk "^4.0.0" 472 | collect-v8-coverage "^1.0.0" 473 | exit "^0.1.2" 474 | glob "^7.1.3" 475 | graceful-fs "^4.2.9" 476 | istanbul-lib-coverage "^3.0.0" 477 | istanbul-lib-instrument "^5.1.0" 478 | istanbul-lib-report "^3.0.0" 479 | istanbul-lib-source-maps "^4.0.0" 480 | istanbul-reports "^3.1.3" 481 | jest-message-util "^29.4.2" 482 | jest-util "^29.4.2" 483 | jest-worker "^29.4.2" 484 | slash "^3.0.0" 485 | string-length "^4.0.1" 486 | strip-ansi "^6.0.0" 487 | v8-to-istanbul "^9.0.1" 488 | 489 | "@jest/schemas@^29.4.2": 490 | version "29.4.2" 491 | resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.2.tgz#cf7cfe97c5649f518452b176c47ed07486270fc1" 492 | integrity sha512-ZrGzGfh31NtdVH8tn0mgJw4khQuNHiKqdzJAFbCaERbyCP9tHlxWuL/mnMu8P7e/+k4puWjI1NOzi/sFsjce/g== 493 | dependencies: 494 | "@sinclair/typebox" "^0.25.16" 495 | 496 | "@jest/source-map@^29.4.2": 497 | version "29.4.2" 498 | resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.4.2.tgz#f9815d59e25cd3d6828e41489cd239271018d153" 499 | integrity sha512-tIoqV5ZNgYI9XCKXMqbYe5JbumcvyTgNN+V5QW4My033lanijvCD0D4PI9tBw4pRTqWOc00/7X3KVvUh+qnF4Q== 500 | dependencies: 501 | "@jridgewell/trace-mapping" "^0.3.15" 502 | callsites "^3.0.0" 503 | graceful-fs "^4.2.9" 504 | 505 | "@jest/test-result@^29.4.2": 506 | version "29.4.2" 507 | resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.4.2.tgz#34b0ba069f2e3072261e4884c8fb6bd15ed6fb8d" 508 | integrity sha512-HZsC3shhiHVvMtP+i55MGR5bPcc3obCFbA5bzIOb8pCjwBZf11cZliJncCgaVUbC5yoQNuGqCkC0Q3t6EItxZA== 509 | dependencies: 510 | "@jest/console" "^29.4.2" 511 | "@jest/types" "^29.4.2" 512 | "@types/istanbul-lib-coverage" "^2.0.0" 513 | collect-v8-coverage "^1.0.0" 514 | 515 | "@jest/test-sequencer@^29.4.2": 516 | version "29.4.2" 517 | resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.4.2.tgz#8b48e5bc4af80b42edacaf2a733d4f295edf28fb" 518 | integrity sha512-9Z2cVsD6CcObIVrWigHp2McRJhvCxL27xHtrZFgNC1RwnoSpDx6fZo8QYjJmziFlW9/hr78/3sxF54S8B6v8rg== 519 | dependencies: 520 | "@jest/test-result" "^29.4.2" 521 | graceful-fs "^4.2.9" 522 | jest-haste-map "^29.4.2" 523 | slash "^3.0.0" 524 | 525 | "@jest/transform@^29.4.2": 526 | version "29.4.2" 527 | resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.4.2.tgz#b24b72dbab4c8675433a80e222d6a8ef4656fb81" 528 | integrity sha512-kf1v5iTJHn7p9RbOsBuc/lcwyPtJaZJt5885C98omWz79NIeD3PfoiiaPSu7JyCyFzNOIzKhmMhQLUhlTL9BvQ== 529 | dependencies: 530 | "@babel/core" "^7.11.6" 531 | "@jest/types" "^29.4.2" 532 | "@jridgewell/trace-mapping" "^0.3.15" 533 | babel-plugin-istanbul "^6.1.1" 534 | chalk "^4.0.0" 535 | convert-source-map "^2.0.0" 536 | fast-json-stable-stringify "^2.1.0" 537 | graceful-fs "^4.2.9" 538 | jest-haste-map "^29.4.2" 539 | jest-regex-util "^29.4.2" 540 | jest-util "^29.4.2" 541 | micromatch "^4.0.4" 542 | pirates "^4.0.4" 543 | slash "^3.0.0" 544 | write-file-atomic "^4.0.2" 545 | 546 | "@jest/types@^29.4.2": 547 | version "29.4.2" 548 | resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.4.2.tgz#8f724a414b1246b2bfd56ca5225d9e1f39540d82" 549 | integrity sha512-CKlngyGP0fwlgC1BRUtPZSiWLBhyS9dKwKmyGxk8Z6M82LBEGB2aLQSg+U1MyLsU+M7UjnlLllBM2BLWKVm/Uw== 550 | dependencies: 551 | "@jest/schemas" "^29.4.2" 552 | "@types/istanbul-lib-coverage" "^2.0.0" 553 | "@types/istanbul-reports" "^3.0.0" 554 | "@types/node" "*" 555 | "@types/yargs" "^17.0.8" 556 | chalk "^4.0.0" 557 | 558 | "@jridgewell/gen-mapping@^0.1.0": 559 | version "0.1.1" 560 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" 561 | integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== 562 | dependencies: 563 | "@jridgewell/set-array" "^1.0.0" 564 | "@jridgewell/sourcemap-codec" "^1.4.10" 565 | 566 | "@jridgewell/gen-mapping@^0.3.2": 567 | version "0.3.2" 568 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" 569 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== 570 | dependencies: 571 | "@jridgewell/set-array" "^1.0.1" 572 | "@jridgewell/sourcemap-codec" "^1.4.10" 573 | "@jridgewell/trace-mapping" "^0.3.9" 574 | 575 | "@jridgewell/resolve-uri@3.1.0": 576 | version "3.1.0" 577 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" 578 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 579 | 580 | "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": 581 | version "1.1.2" 582 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" 583 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 584 | 585 | "@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": 586 | version "1.4.14" 587 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" 588 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 589 | 590 | "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9": 591 | version "0.3.17" 592 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" 593 | integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== 594 | dependencies: 595 | "@jridgewell/resolve-uri" "3.1.0" 596 | "@jridgewell/sourcemap-codec" "1.4.14" 597 | 598 | "@sinclair/typebox@^0.25.16": 599 | version "0.25.21" 600 | resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.21.tgz#763b05a4b472c93a8db29b2c3e359d55b29ce272" 601 | integrity sha512-gFukHN4t8K4+wVC+ECqeqwzBDeFeTzBXroBTqE6vcWrQGbEUpHO7LYdG0f4xnvYq4VOEwITSlHlp0JBAIFMS/g== 602 | 603 | "@sinonjs/commons@^2.0.0": 604 | version "2.0.0" 605 | resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-2.0.0.tgz#fd4ca5b063554307e8327b4564bd56d3b73924a3" 606 | integrity sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg== 607 | dependencies: 608 | type-detect "4.0.8" 609 | 610 | "@sinonjs/fake-timers@^10.0.2": 611 | version "10.0.2" 612 | resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz#d10549ed1f423d80639c528b6c7f5a1017747d0c" 613 | integrity sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw== 614 | dependencies: 615 | "@sinonjs/commons" "^2.0.0" 616 | 617 | "@types/babel__core@^7.1.14": 618 | version "7.1.20" 619 | resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.20.tgz#e168cdd612c92a2d335029ed62ac94c95b362359" 620 | integrity sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ== 621 | dependencies: 622 | "@babel/parser" "^7.1.0" 623 | "@babel/types" "^7.0.0" 624 | "@types/babel__generator" "*" 625 | "@types/babel__template" "*" 626 | "@types/babel__traverse" "*" 627 | 628 | "@types/babel__generator@*": 629 | version "7.6.2" 630 | resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" 631 | integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== 632 | dependencies: 633 | "@babel/types" "^7.0.0" 634 | 635 | "@types/babel__template@*": 636 | version "7.0.3" 637 | resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.3.tgz#b8aaeba0a45caca7b56a5de9459872dde3727214" 638 | integrity sha512-uCoznIPDmnickEi6D0v11SBpW0OuVqHJCa7syXqQHy5uktSCreIlt0iglsCnmvz8yCb38hGcWeseA8cWJSwv5Q== 639 | dependencies: 640 | "@babel/parser" "^7.1.0" 641 | "@babel/types" "^7.0.0" 642 | 643 | "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": 644 | version "7.0.15" 645 | resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.15.tgz#db9e4238931eb69ef8aab0ad6523d4d4caa39d03" 646 | integrity sha512-Pzh9O3sTK8V6I1olsXpCfj2k/ygO2q1X0vhhnDrEQyYLHZesWz+zMZMVcwXLCYf0U36EtmyYaFGPfXlTtDHe3A== 647 | dependencies: 648 | "@babel/types" "^7.3.0" 649 | 650 | "@types/graceful-fs@^4.1.3": 651 | version "4.1.5" 652 | resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" 653 | integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== 654 | dependencies: 655 | "@types/node" "*" 656 | 657 | "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": 658 | version "2.0.3" 659 | resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" 660 | integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== 661 | 662 | "@types/istanbul-lib-report@*": 663 | version "3.0.0" 664 | resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" 665 | integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== 666 | dependencies: 667 | "@types/istanbul-lib-coverage" "*" 668 | 669 | "@types/istanbul-reports@^3.0.0": 670 | version "3.0.0" 671 | resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" 672 | integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== 673 | dependencies: 674 | "@types/istanbul-lib-report" "*" 675 | 676 | "@types/node@*": 677 | version "14.14.5" 678 | resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.5.tgz#e92d3b8f76583efa26c1a63a21c9d3c1143daa29" 679 | integrity sha512-H5Wn24s/ZOukBmDn03nnGTp18A60ny9AmCwnEcgJiTgSGsCO7k+NWP7zjCCbhlcnVCoI+co52dUAt9GMhOSULw== 680 | 681 | "@types/prettier@^2.1.5": 682 | version "2.7.2" 683 | resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0" 684 | integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== 685 | 686 | "@types/stack-utils@^2.0.0": 687 | version "2.0.0" 688 | resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" 689 | integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== 690 | 691 | "@types/yargs-parser@*": 692 | version "15.0.0" 693 | resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" 694 | integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== 695 | 696 | "@types/yargs@^17.0.8": 697 | version "17.0.19" 698 | resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.19.tgz#8dbecdc9ab48bee0cb74f6e3327de3fa0d0c98ae" 699 | integrity sha512-cAx3qamwaYX9R0fzOIZAlFpo4A+1uBVCxqpKz9D26uTF4srRXaGTTsikQmaotCtNdbhzyUH7ft6p9ktz9s6UNQ== 700 | dependencies: 701 | "@types/yargs-parser" "*" 702 | 703 | aggregate-error@^3.0.0: 704 | version "3.1.0" 705 | resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" 706 | integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== 707 | dependencies: 708 | clean-stack "^2.0.0" 709 | indent-string "^4.0.0" 710 | 711 | ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: 712 | version "4.3.1" 713 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" 714 | integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== 715 | dependencies: 716 | type-fest "^0.11.0" 717 | 718 | ansi-regex@^5.0.0, ansi-regex@^5.0.1: 719 | version "5.0.1" 720 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 721 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 722 | 723 | ansi-regex@^6.0.1: 724 | version "6.0.1" 725 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" 726 | integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== 727 | 728 | ansi-styles@^3.2.1: 729 | version "3.2.1" 730 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 731 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 732 | dependencies: 733 | color-convert "^1.9.0" 734 | 735 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 736 | version "4.3.0" 737 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 738 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 739 | dependencies: 740 | color-convert "^2.0.1" 741 | 742 | ansi-styles@^5.0.0: 743 | version "5.2.0" 744 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" 745 | integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== 746 | 747 | ansi-styles@^6.0.0: 748 | version "6.2.1" 749 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" 750 | integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== 751 | 752 | anymatch@^3.0.3: 753 | version "3.1.1" 754 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" 755 | integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== 756 | dependencies: 757 | normalize-path "^3.0.0" 758 | picomatch "^2.0.4" 759 | 760 | argparse@^1.0.7: 761 | version "1.0.10" 762 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 763 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 764 | dependencies: 765 | sprintf-js "~1.0.2" 766 | 767 | astral-regex@^2.0.0: 768 | version "2.0.0" 769 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" 770 | integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== 771 | 772 | babel-jest@^29.4.2: 773 | version "29.4.2" 774 | resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.4.2.tgz#b17b9f64be288040877cbe2649f91ac3b63b2ba6" 775 | integrity sha512-vcghSqhtowXPG84posYkkkzcZsdayFkubUgbE3/1tuGbX7AQtwCkkNA/wIbB0BMjuCPoqTkiDyKN7Ty7d3uwNQ== 776 | dependencies: 777 | "@jest/transform" "^29.4.2" 778 | "@types/babel__core" "^7.1.14" 779 | babel-plugin-istanbul "^6.1.1" 780 | babel-preset-jest "^29.4.2" 781 | chalk "^4.0.0" 782 | graceful-fs "^4.2.9" 783 | slash "^3.0.0" 784 | 785 | babel-plugin-istanbul@^6.1.1: 786 | version "6.1.1" 787 | resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" 788 | integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== 789 | dependencies: 790 | "@babel/helper-plugin-utils" "^7.0.0" 791 | "@istanbuljs/load-nyc-config" "^1.0.0" 792 | "@istanbuljs/schema" "^0.1.2" 793 | istanbul-lib-instrument "^5.0.4" 794 | test-exclude "^6.0.0" 795 | 796 | babel-plugin-jest-hoist@^29.4.2: 797 | version "29.4.2" 798 | resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.4.2.tgz#22aa43e255230f02371ffef1cac7eedef58f60bc" 799 | integrity sha512-5HZRCfMeWypFEonRbEkwWXtNS1sQK159LhRVyRuLzyfVBxDy/34Tr/rg4YVi0SScSJ4fqeaR/OIeceJ/LaQ0pQ== 800 | dependencies: 801 | "@babel/template" "^7.3.3" 802 | "@babel/types" "^7.3.3" 803 | "@types/babel__core" "^7.1.14" 804 | "@types/babel__traverse" "^7.0.6" 805 | 806 | babel-preset-current-node-syntax@^1.0.0: 807 | version "1.0.1" 808 | resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" 809 | integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== 810 | dependencies: 811 | "@babel/plugin-syntax-async-generators" "^7.8.4" 812 | "@babel/plugin-syntax-bigint" "^7.8.3" 813 | "@babel/plugin-syntax-class-properties" "^7.8.3" 814 | "@babel/plugin-syntax-import-meta" "^7.8.3" 815 | "@babel/plugin-syntax-json-strings" "^7.8.3" 816 | "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" 817 | "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" 818 | "@babel/plugin-syntax-numeric-separator" "^7.8.3" 819 | "@babel/plugin-syntax-object-rest-spread" "^7.8.3" 820 | "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" 821 | "@babel/plugin-syntax-optional-chaining" "^7.8.3" 822 | "@babel/plugin-syntax-top-level-await" "^7.8.3" 823 | 824 | babel-preset-jest@^29.4.2: 825 | version "29.4.2" 826 | resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.4.2.tgz#f0b20c6a79a9f155515e72a2d4f537fe002a4e38" 827 | integrity sha512-ecWdaLY/8JyfUDr0oELBMpj3R5I1L6ZqG+kRJmwqfHtLWuPrJStR0LUkvUhfykJWTsXXMnohsayN/twltBbDrQ== 828 | dependencies: 829 | babel-plugin-jest-hoist "^29.4.2" 830 | babel-preset-current-node-syntax "^1.0.0" 831 | 832 | balanced-match@^1.0.0: 833 | version "1.0.0" 834 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 835 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 836 | 837 | boolbase@^1.0.0: 838 | version "1.0.0" 839 | resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" 840 | integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= 841 | 842 | brace-expansion@^1.1.7: 843 | version "1.1.11" 844 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 845 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 846 | dependencies: 847 | balanced-match "^1.0.0" 848 | concat-map "0.0.1" 849 | 850 | braces@^3.0.2: 851 | version "3.0.2" 852 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 853 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 854 | dependencies: 855 | fill-range "^7.0.1" 856 | 857 | browserslist@^4.21.3: 858 | version "4.21.4" 859 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" 860 | integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== 861 | dependencies: 862 | caniuse-lite "^1.0.30001400" 863 | electron-to-chromium "^1.4.251" 864 | node-releases "^2.0.6" 865 | update-browserslist-db "^1.0.9" 866 | 867 | bser@2.1.1: 868 | version "2.1.1" 869 | resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" 870 | integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== 871 | dependencies: 872 | node-int64 "^0.4.0" 873 | 874 | buffer-from@^1.0.0: 875 | version "1.1.1" 876 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 877 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 878 | 879 | callsites@^3.0.0: 880 | version "3.1.0" 881 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 882 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 883 | 884 | camelcase@^5.3.1: 885 | version "5.3.1" 886 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 887 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 888 | 889 | camelcase@^6.2.0: 890 | version "6.3.0" 891 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" 892 | integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== 893 | 894 | caniuse-lite@^1.0.30001400: 895 | version "1.0.30001442" 896 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001442.tgz#40337f1cf3be7c637b061e2f78582dc1daec0614" 897 | integrity sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow== 898 | 899 | chalk@^2.0.0: 900 | version "2.4.2" 901 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 902 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 903 | dependencies: 904 | ansi-styles "^3.2.1" 905 | escape-string-regexp "^1.0.5" 906 | supports-color "^5.3.0" 907 | 908 | chalk@^4.0.0: 909 | version "4.1.0" 910 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" 911 | integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== 912 | dependencies: 913 | ansi-styles "^4.1.0" 914 | supports-color "^7.1.0" 915 | 916 | char-regex@^1.0.2: 917 | version "1.0.2" 918 | resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" 919 | integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== 920 | 921 | ci-info@^3.2.0: 922 | version "3.7.1" 923 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.7.1.tgz#708a6cdae38915d597afdf3b145f2f8e1ff55f3f" 924 | integrity sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w== 925 | 926 | cjs-module-lexer@^1.0.0: 927 | version "1.2.2" 928 | resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" 929 | integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== 930 | 931 | clean-stack@^2.0.0: 932 | version "2.2.0" 933 | resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" 934 | integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== 935 | 936 | cli-cursor@^3.1.0: 937 | version "3.1.0" 938 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" 939 | integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== 940 | dependencies: 941 | restore-cursor "^3.1.0" 942 | 943 | cli-truncate@^2.1.0: 944 | version "2.1.0" 945 | resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" 946 | integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== 947 | dependencies: 948 | slice-ansi "^3.0.0" 949 | string-width "^4.2.0" 950 | 951 | cli-truncate@^3.1.0: 952 | version "3.1.0" 953 | resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" 954 | integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== 955 | dependencies: 956 | slice-ansi "^5.0.0" 957 | string-width "^5.0.0" 958 | 959 | cliui@^8.0.1: 960 | version "8.0.1" 961 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" 962 | integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== 963 | dependencies: 964 | string-width "^4.2.0" 965 | strip-ansi "^6.0.1" 966 | wrap-ansi "^7.0.0" 967 | 968 | co@^4.6.0: 969 | version "4.6.0" 970 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 971 | integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= 972 | 973 | collect-v8-coverage@^1.0.0: 974 | version "1.0.1" 975 | resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" 976 | integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== 977 | 978 | color-convert@^1.9.0: 979 | version "1.9.3" 980 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 981 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 982 | dependencies: 983 | color-name "1.1.3" 984 | 985 | color-convert@^2.0.1: 986 | version "2.0.1" 987 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 988 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 989 | dependencies: 990 | color-name "~1.1.4" 991 | 992 | color-name@1.1.3: 993 | version "1.1.3" 994 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 995 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 996 | 997 | color-name@~1.1.4: 998 | version "1.1.4" 999 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 1000 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 1001 | 1002 | colorette@^2.0.19: 1003 | version "2.0.19" 1004 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" 1005 | integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== 1006 | 1007 | commander@^9.4.1: 1008 | version "9.5.0" 1009 | resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" 1010 | integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== 1011 | 1012 | concat-map@0.0.1: 1013 | version "0.0.1" 1014 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 1015 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 1016 | 1017 | convert-source-map@^1.6.0, convert-source-map@^1.7.0: 1018 | version "1.7.0" 1019 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" 1020 | integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== 1021 | dependencies: 1022 | safe-buffer "~5.1.1" 1023 | 1024 | convert-source-map@^2.0.0: 1025 | version "2.0.0" 1026 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" 1027 | integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== 1028 | 1029 | cross-spawn@^7.0.3: 1030 | version "7.0.3" 1031 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 1032 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 1033 | dependencies: 1034 | path-key "^3.1.0" 1035 | shebang-command "^2.0.0" 1036 | which "^2.0.1" 1037 | 1038 | css-select@^5.1.0: 1039 | version "5.1.0" 1040 | resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" 1041 | integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== 1042 | dependencies: 1043 | boolbase "^1.0.0" 1044 | css-what "^6.1.0" 1045 | domhandler "^5.0.2" 1046 | domutils "^3.0.1" 1047 | nth-check "^2.0.1" 1048 | 1049 | css-what@^6.1.0: 1050 | version "6.1.0" 1051 | resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" 1052 | integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== 1053 | 1054 | debug@^4.1.0, debug@^4.1.1: 1055 | version "4.2.0" 1056 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" 1057 | integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== 1058 | dependencies: 1059 | ms "2.1.2" 1060 | 1061 | debug@^4.3.4: 1062 | version "4.3.4" 1063 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 1064 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 1065 | dependencies: 1066 | ms "2.1.2" 1067 | 1068 | dedent@^0.7.0: 1069 | version "0.7.0" 1070 | resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" 1071 | integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== 1072 | 1073 | deepmerge@^4.2.2: 1074 | version "4.2.2" 1075 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" 1076 | integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== 1077 | 1078 | detect-newline@^3.0.0: 1079 | version "3.1.0" 1080 | resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" 1081 | integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== 1082 | 1083 | diff-sequences@^29.4.2: 1084 | version "29.4.2" 1085 | resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.2.tgz#711fe6bd8a5869fe2539cee4a5152425ff671fda" 1086 | integrity sha512-R6P0Y6PrsH3n4hUXxL3nns0rbRk6Q33js3ygJBeEpbzLzgcNuJ61+u0RXasFpTKISw99TxUzFnumSnRLsjhLaw== 1087 | 1088 | dom-serializer@^2.0.0: 1089 | version "2.0.0" 1090 | resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" 1091 | integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== 1092 | dependencies: 1093 | domelementtype "^2.3.0" 1094 | domhandler "^5.0.2" 1095 | entities "^4.2.0" 1096 | 1097 | domelementtype@^2.3.0: 1098 | version "2.3.0" 1099 | resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" 1100 | integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== 1101 | 1102 | domhandler@^5.0.1, domhandler@^5.0.2: 1103 | version "5.0.3" 1104 | resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" 1105 | integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== 1106 | dependencies: 1107 | domelementtype "^2.3.0" 1108 | 1109 | domutils@^3.0.1: 1110 | version "3.0.1" 1111 | resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.0.1.tgz#696b3875238338cb186b6c0612bd4901c89a4f1c" 1112 | integrity sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q== 1113 | dependencies: 1114 | dom-serializer "^2.0.0" 1115 | domelementtype "^2.3.0" 1116 | domhandler "^5.0.1" 1117 | 1118 | eastasianwidth@^0.2.0: 1119 | version "0.2.0" 1120 | resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" 1121 | integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== 1122 | 1123 | electron-to-chromium@^1.4.251: 1124 | version "1.4.284" 1125 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" 1126 | integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== 1127 | 1128 | emittery@^0.13.1: 1129 | version "0.13.1" 1130 | resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" 1131 | integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== 1132 | 1133 | emoji-regex@^8.0.0: 1134 | version "8.0.0" 1135 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 1136 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 1137 | 1138 | emoji-regex@^9.2.2: 1139 | version "9.2.2" 1140 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" 1141 | integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== 1142 | 1143 | entities@^4.2.0, entities@^4.3.0: 1144 | version "4.4.0" 1145 | resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174" 1146 | integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== 1147 | 1148 | error-ex@^1.3.1: 1149 | version "1.3.2" 1150 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 1151 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 1152 | dependencies: 1153 | is-arrayish "^0.2.1" 1154 | 1155 | escalade@^3.1.1: 1156 | version "3.1.1" 1157 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 1158 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 1159 | 1160 | escape-string-regexp@^1.0.5: 1161 | version "1.0.5" 1162 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1163 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 1164 | 1165 | escape-string-regexp@^2.0.0: 1166 | version "2.0.0" 1167 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" 1168 | integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== 1169 | 1170 | esprima@^4.0.0: 1171 | version "4.0.1" 1172 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1173 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 1174 | 1175 | execa@^5.0.0: 1176 | version "5.1.1" 1177 | resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" 1178 | integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== 1179 | dependencies: 1180 | cross-spawn "^7.0.3" 1181 | get-stream "^6.0.0" 1182 | human-signals "^2.1.0" 1183 | is-stream "^2.0.0" 1184 | merge-stream "^2.0.0" 1185 | npm-run-path "^4.0.1" 1186 | onetime "^5.1.2" 1187 | signal-exit "^3.0.3" 1188 | strip-final-newline "^2.0.0" 1189 | 1190 | execa@^6.1.0: 1191 | version "6.1.0" 1192 | resolved "https://registry.yarnpkg.com/execa/-/execa-6.1.0.tgz#cea16dee211ff011246556388effa0818394fb20" 1193 | integrity sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== 1194 | dependencies: 1195 | cross-spawn "^7.0.3" 1196 | get-stream "^6.0.1" 1197 | human-signals "^3.0.1" 1198 | is-stream "^3.0.0" 1199 | merge-stream "^2.0.0" 1200 | npm-run-path "^5.1.0" 1201 | onetime "^6.0.0" 1202 | signal-exit "^3.0.7" 1203 | strip-final-newline "^3.0.0" 1204 | 1205 | exit@^0.1.2: 1206 | version "0.1.2" 1207 | resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" 1208 | integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= 1209 | 1210 | expect@^29.4.2: 1211 | version "29.4.2" 1212 | resolved "https://registry.yarnpkg.com/expect/-/expect-29.4.2.tgz#2ae34eb88de797c64a1541ad0f1e2ea8a7a7b492" 1213 | integrity sha512-+JHYg9O3hd3RlICG90OPVjRkPBoiUH7PxvDVMnRiaq1g6JUgZStX514erMl0v2Dc5SkfVbm7ztqbd6qHHPn+mQ== 1214 | dependencies: 1215 | "@jest/expect-utils" "^29.4.2" 1216 | jest-get-type "^29.4.2" 1217 | jest-matcher-utils "^29.4.2" 1218 | jest-message-util "^29.4.2" 1219 | jest-util "^29.4.2" 1220 | 1221 | fast-json-stable-stringify@^2.1.0: 1222 | version "2.1.0" 1223 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1224 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 1225 | 1226 | fb-watchman@^2.0.0: 1227 | version "2.0.1" 1228 | resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" 1229 | integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== 1230 | dependencies: 1231 | bser "2.1.1" 1232 | 1233 | fill-range@^7.0.1: 1234 | version "7.0.1" 1235 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1236 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1237 | dependencies: 1238 | to-regex-range "^5.0.1" 1239 | 1240 | find-up@^4.0.0, find-up@^4.1.0: 1241 | version "4.1.0" 1242 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 1243 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 1244 | dependencies: 1245 | locate-path "^5.0.0" 1246 | path-exists "^4.0.0" 1247 | 1248 | fs.realpath@^1.0.0: 1249 | version "1.0.0" 1250 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1251 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1252 | 1253 | fsevents@^2.3.2: 1254 | version "2.3.2" 1255 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1256 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1257 | 1258 | function-bind@^1.1.1: 1259 | version "1.1.1" 1260 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1261 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1262 | 1263 | gensync@^1.0.0-beta.2: 1264 | version "1.0.0-beta.2" 1265 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 1266 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 1267 | 1268 | get-caller-file@^2.0.5: 1269 | version "2.0.5" 1270 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 1271 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 1272 | 1273 | get-package-type@^0.1.0: 1274 | version "0.1.0" 1275 | resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" 1276 | integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== 1277 | 1278 | get-stream@^6.0.0, get-stream@^6.0.1: 1279 | version "6.0.1" 1280 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" 1281 | integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== 1282 | 1283 | glob@^7.1.3, glob@^7.1.4: 1284 | version "7.1.6" 1285 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 1286 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 1287 | dependencies: 1288 | fs.realpath "^1.0.0" 1289 | inflight "^1.0.4" 1290 | inherits "2" 1291 | minimatch "^3.0.4" 1292 | once "^1.3.0" 1293 | path-is-absolute "^1.0.0" 1294 | 1295 | globals@^11.1.0: 1296 | version "11.12.0" 1297 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1298 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1299 | 1300 | graceful-fs@^4.2.9: 1301 | version "4.2.10" 1302 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" 1303 | integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== 1304 | 1305 | has-flag@^3.0.0: 1306 | version "3.0.0" 1307 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1308 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 1309 | 1310 | has-flag@^4.0.0: 1311 | version "4.0.0" 1312 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1313 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1314 | 1315 | has@^1.0.3: 1316 | version "1.0.3" 1317 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1318 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1319 | dependencies: 1320 | function-bind "^1.1.1" 1321 | 1322 | html-escaper@^2.0.0: 1323 | version "2.0.2" 1324 | resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" 1325 | integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== 1326 | 1327 | htmlparser2@^8.0.1: 1328 | version "8.0.1" 1329 | resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.1.tgz#abaa985474fcefe269bc761a779b544d7196d010" 1330 | integrity sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA== 1331 | dependencies: 1332 | domelementtype "^2.3.0" 1333 | domhandler "^5.0.2" 1334 | domutils "^3.0.1" 1335 | entities "^4.3.0" 1336 | 1337 | human-signals@^2.1.0: 1338 | version "2.1.0" 1339 | resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" 1340 | integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== 1341 | 1342 | human-signals@^3.0.1: 1343 | version "3.0.1" 1344 | resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" 1345 | integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== 1346 | 1347 | husky@^8.0.3: 1348 | version "8.0.3" 1349 | resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" 1350 | integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== 1351 | 1352 | import-local@^3.0.2: 1353 | version "3.0.2" 1354 | resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" 1355 | integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== 1356 | dependencies: 1357 | pkg-dir "^4.2.0" 1358 | resolve-cwd "^3.0.0" 1359 | 1360 | imurmurhash@^0.1.4: 1361 | version "0.1.4" 1362 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1363 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 1364 | 1365 | indent-string@^4.0.0: 1366 | version "4.0.0" 1367 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" 1368 | integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== 1369 | 1370 | inflight@^1.0.4: 1371 | version "1.0.6" 1372 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1373 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1374 | dependencies: 1375 | once "^1.3.0" 1376 | wrappy "1" 1377 | 1378 | inherits@2: 1379 | version "2.0.4" 1380 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1381 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1382 | 1383 | is-arrayish@^0.2.1: 1384 | version "0.2.1" 1385 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1386 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 1387 | 1388 | is-core-module@^2.9.0: 1389 | version "2.11.0" 1390 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" 1391 | integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== 1392 | dependencies: 1393 | has "^1.0.3" 1394 | 1395 | is-fullwidth-code-point@^3.0.0: 1396 | version "3.0.0" 1397 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1398 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1399 | 1400 | is-fullwidth-code-point@^4.0.0: 1401 | version "4.0.0" 1402 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" 1403 | integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== 1404 | 1405 | is-generator-fn@^2.0.0: 1406 | version "2.1.0" 1407 | resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" 1408 | integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== 1409 | 1410 | is-number@^7.0.0: 1411 | version "7.0.0" 1412 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1413 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1414 | 1415 | is-stream@^2.0.0: 1416 | version "2.0.0" 1417 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" 1418 | integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== 1419 | 1420 | is-stream@^3.0.0: 1421 | version "3.0.0" 1422 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" 1423 | integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== 1424 | 1425 | isexe@^2.0.0: 1426 | version "2.0.0" 1427 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1428 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1429 | 1430 | istanbul-lib-coverage@^3.0.0: 1431 | version "3.0.0" 1432 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" 1433 | integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== 1434 | 1435 | istanbul-lib-coverage@^3.2.0: 1436 | version "3.2.0" 1437 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" 1438 | integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== 1439 | 1440 | istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: 1441 | version "5.2.1" 1442 | resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" 1443 | integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== 1444 | dependencies: 1445 | "@babel/core" "^7.12.3" 1446 | "@babel/parser" "^7.14.7" 1447 | "@istanbuljs/schema" "^0.1.2" 1448 | istanbul-lib-coverage "^3.2.0" 1449 | semver "^6.3.0" 1450 | 1451 | istanbul-lib-report@^3.0.0: 1452 | version "3.0.0" 1453 | resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" 1454 | integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== 1455 | dependencies: 1456 | istanbul-lib-coverage "^3.0.0" 1457 | make-dir "^3.0.0" 1458 | supports-color "^7.1.0" 1459 | 1460 | istanbul-lib-source-maps@^4.0.0: 1461 | version "4.0.0" 1462 | resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" 1463 | integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== 1464 | dependencies: 1465 | debug "^4.1.1" 1466 | istanbul-lib-coverage "^3.0.0" 1467 | source-map "^0.6.1" 1468 | 1469 | istanbul-reports@^3.1.3: 1470 | version "3.1.5" 1471 | resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" 1472 | integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== 1473 | dependencies: 1474 | html-escaper "^2.0.0" 1475 | istanbul-lib-report "^3.0.0" 1476 | 1477 | jest-changed-files@^29.4.2: 1478 | version "29.4.2" 1479 | resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.4.2.tgz#bee1fafc8b620d6251423d1978a0080546bc4376" 1480 | integrity sha512-Qdd+AXdqD16PQa+VsWJpxR3kN0JyOCX1iugQfx5nUgAsI4gwsKviXkpclxOK9ZnwaY2IQVHz+771eAvqeOlfuw== 1481 | dependencies: 1482 | execa "^5.0.0" 1483 | p-limit "^3.1.0" 1484 | 1485 | jest-circus@^29.4.2: 1486 | version "29.4.2" 1487 | resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.4.2.tgz#2d00c04baefd0ee2a277014cd494d4b5970663ed" 1488 | integrity sha512-wW3ztp6a2P5c1yOc1Cfrt5ozJ7neWmqeXm/4SYiqcSriyisgq63bwFj1NuRdSR5iqS0CMEYwSZd89ZA47W9zUg== 1489 | dependencies: 1490 | "@jest/environment" "^29.4.2" 1491 | "@jest/expect" "^29.4.2" 1492 | "@jest/test-result" "^29.4.2" 1493 | "@jest/types" "^29.4.2" 1494 | "@types/node" "*" 1495 | chalk "^4.0.0" 1496 | co "^4.6.0" 1497 | dedent "^0.7.0" 1498 | is-generator-fn "^2.0.0" 1499 | jest-each "^29.4.2" 1500 | jest-matcher-utils "^29.4.2" 1501 | jest-message-util "^29.4.2" 1502 | jest-runtime "^29.4.2" 1503 | jest-snapshot "^29.4.2" 1504 | jest-util "^29.4.2" 1505 | p-limit "^3.1.0" 1506 | pretty-format "^29.4.2" 1507 | slash "^3.0.0" 1508 | stack-utils "^2.0.3" 1509 | 1510 | jest-cli@^29.4.2: 1511 | version "29.4.2" 1512 | resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.4.2.tgz#94a2f913a0a7a49d11bee98ad88bf48baae941f4" 1513 | integrity sha512-b+eGUtXq/K2v7SH3QcJvFvaUaCDS1/YAZBYz0m28Q/Ppyr+1qNaHmVYikOrbHVbZqYQs2IeI3p76uy6BWbXq8Q== 1514 | dependencies: 1515 | "@jest/core" "^29.4.2" 1516 | "@jest/test-result" "^29.4.2" 1517 | "@jest/types" "^29.4.2" 1518 | chalk "^4.0.0" 1519 | exit "^0.1.2" 1520 | graceful-fs "^4.2.9" 1521 | import-local "^3.0.2" 1522 | jest-config "^29.4.2" 1523 | jest-util "^29.4.2" 1524 | jest-validate "^29.4.2" 1525 | prompts "^2.0.1" 1526 | yargs "^17.3.1" 1527 | 1528 | jest-config@^29.4.2: 1529 | version "29.4.2" 1530 | resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.4.2.tgz#15386dd9ed2f7059516915515f786b8836a98f07" 1531 | integrity sha512-919CtnXic52YM0zW4C1QxjG6aNueX1kBGthuMtvFtRTAxhKfJmiXC9qwHmi6o2josjbDz8QlWyY55F1SIVmCWA== 1532 | dependencies: 1533 | "@babel/core" "^7.11.6" 1534 | "@jest/test-sequencer" "^29.4.2" 1535 | "@jest/types" "^29.4.2" 1536 | babel-jest "^29.4.2" 1537 | chalk "^4.0.0" 1538 | ci-info "^3.2.0" 1539 | deepmerge "^4.2.2" 1540 | glob "^7.1.3" 1541 | graceful-fs "^4.2.9" 1542 | jest-circus "^29.4.2" 1543 | jest-environment-node "^29.4.2" 1544 | jest-get-type "^29.4.2" 1545 | jest-regex-util "^29.4.2" 1546 | jest-resolve "^29.4.2" 1547 | jest-runner "^29.4.2" 1548 | jest-util "^29.4.2" 1549 | jest-validate "^29.4.2" 1550 | micromatch "^4.0.4" 1551 | parse-json "^5.2.0" 1552 | pretty-format "^29.4.2" 1553 | slash "^3.0.0" 1554 | strip-json-comments "^3.1.1" 1555 | 1556 | jest-diff@^29.4.2: 1557 | version "29.4.2" 1558 | resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.4.2.tgz#b88502d5dc02d97f6512d73c37da8b36f49b4871" 1559 | integrity sha512-EK8DSajVtnjx9sa1BkjZq3mqChm2Cd8rIzdXkQMA8e0wuXq53ypz6s5o5V8HRZkoEt2ywJ3eeNWFKWeYr8HK4g== 1560 | dependencies: 1561 | chalk "^4.0.0" 1562 | diff-sequences "^29.4.2" 1563 | jest-get-type "^29.4.2" 1564 | pretty-format "^29.4.2" 1565 | 1566 | jest-docblock@^29.4.2: 1567 | version "29.4.2" 1568 | resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.4.2.tgz#c78a95eedf9a24c0a6cc16cf2abdc4b8b0f2531b" 1569 | integrity sha512-dV2JdahgClL34Y5vLrAHde3nF3yo2jKRH+GIYJuCpfqwEJZcikzeafVTGAjbOfKPG17ez9iWXwUYp7yefeCRag== 1570 | dependencies: 1571 | detect-newline "^3.0.0" 1572 | 1573 | jest-each@^29.4.2: 1574 | version "29.4.2" 1575 | resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.4.2.tgz#e1347aff1303f4c35470827a62c029d389c5d44a" 1576 | integrity sha512-trvKZb0JYiCndc55V1Yh0Luqi7AsAdDWpV+mKT/5vkpnnFQfuQACV72IoRV161aAr6kAVIBpmYzwhBzm34vQkA== 1577 | dependencies: 1578 | "@jest/types" "^29.4.2" 1579 | chalk "^4.0.0" 1580 | jest-get-type "^29.4.2" 1581 | jest-util "^29.4.2" 1582 | pretty-format "^29.4.2" 1583 | 1584 | jest-environment-node@^29.4.2: 1585 | version "29.4.2" 1586 | resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.4.2.tgz#0eab835b41e25fd0c1a72f62665fc8db08762ad2" 1587 | integrity sha512-MLPrqUcOnNBc8zTOfqBbxtoa8/Ee8tZ7UFW7hRDQSUT+NGsvS96wlbHGTf+EFAT9KC3VNb7fWEM6oyvmxtE/9w== 1588 | dependencies: 1589 | "@jest/environment" "^29.4.2" 1590 | "@jest/fake-timers" "^29.4.2" 1591 | "@jest/types" "^29.4.2" 1592 | "@types/node" "*" 1593 | jest-mock "^29.4.2" 1594 | jest-util "^29.4.2" 1595 | 1596 | jest-get-type@^29.4.2: 1597 | version "29.4.2" 1598 | resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.4.2.tgz#7cb63f154bca8d8f57364d01614477d466fa43fe" 1599 | integrity sha512-vERN30V5i2N6lqlFu4ljdTqQAgrkTFMC9xaIIfOPYBw04pufjXRty5RuXBiB1d72tGbURa/UgoiHB90ruOSivg== 1600 | 1601 | jest-haste-map@^29.4.2: 1602 | version "29.4.2" 1603 | resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.4.2.tgz#9112df3f5121e643f1b2dcbaa86ab11b0b90b49a" 1604 | integrity sha512-WkUgo26LN5UHPknkezrBzr7lUtV1OpGsp+NfXbBwHztsFruS3gz+AMTTBcEklvi8uPzpISzYjdKXYZQJXBnfvw== 1605 | dependencies: 1606 | "@jest/types" "^29.4.2" 1607 | "@types/graceful-fs" "^4.1.3" 1608 | "@types/node" "*" 1609 | anymatch "^3.0.3" 1610 | fb-watchman "^2.0.0" 1611 | graceful-fs "^4.2.9" 1612 | jest-regex-util "^29.4.2" 1613 | jest-util "^29.4.2" 1614 | jest-worker "^29.4.2" 1615 | micromatch "^4.0.4" 1616 | walker "^1.0.8" 1617 | optionalDependencies: 1618 | fsevents "^2.3.2" 1619 | 1620 | jest-leak-detector@^29.4.2: 1621 | version "29.4.2" 1622 | resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.4.2.tgz#8f05c6680e0cb46a1d577c0d3da9793bed3ea97b" 1623 | integrity sha512-Wa62HuRJmWXtX9F00nUpWlrbaH5axeYCdyRsOs/+Rb1Vb6+qWTlB5rKwCCRKtorM7owNwKsyJ8NRDUcZ8ghYUA== 1624 | dependencies: 1625 | jest-get-type "^29.4.2" 1626 | pretty-format "^29.4.2" 1627 | 1628 | jest-matcher-utils@^29.4.2: 1629 | version "29.4.2" 1630 | resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.4.2.tgz#08d0bf5abf242e3834bec92c7ef5071732839e85" 1631 | integrity sha512-EZaAQy2je6Uqkrm6frnxBIdaWtSYFoR8SVb2sNLAtldswlR/29JAgx+hy67llT3+hXBaLB0zAm5UfeqerioZyg== 1632 | dependencies: 1633 | chalk "^4.0.0" 1634 | jest-diff "^29.4.2" 1635 | jest-get-type "^29.4.2" 1636 | pretty-format "^29.4.2" 1637 | 1638 | jest-message-util@^29.4.2: 1639 | version "29.4.2" 1640 | resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.4.2.tgz#309a2924eae6ca67cf7f25781a2af1902deee717" 1641 | integrity sha512-SElcuN4s6PNKpOEtTInjOAA8QvItu0iugkXqhYyguRvQoXapg5gN+9RQxLAkakChZA7Y26j6yUCsFWN+hlKD6g== 1642 | dependencies: 1643 | "@babel/code-frame" "^7.12.13" 1644 | "@jest/types" "^29.4.2" 1645 | "@types/stack-utils" "^2.0.0" 1646 | chalk "^4.0.0" 1647 | graceful-fs "^4.2.9" 1648 | micromatch "^4.0.4" 1649 | pretty-format "^29.4.2" 1650 | slash "^3.0.0" 1651 | stack-utils "^2.0.3" 1652 | 1653 | jest-mock@^29.4.2: 1654 | version "29.4.2" 1655 | resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.4.2.tgz#e1054be66fb3e975d26d4528fcde6979e4759de8" 1656 | integrity sha512-x1FSd4Gvx2yIahdaIKoBjwji6XpboDunSJ95RpntGrYulI1ByuYQCKN/P7hvk09JB74IonU3IPLdkutEWYt++g== 1657 | dependencies: 1658 | "@jest/types" "^29.4.2" 1659 | "@types/node" "*" 1660 | jest-util "^29.4.2" 1661 | 1662 | jest-pnp-resolver@^1.2.2: 1663 | version "1.2.2" 1664 | resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" 1665 | integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== 1666 | 1667 | jest-regex-util@^29.4.2: 1668 | version "29.4.2" 1669 | resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.4.2.tgz#19187cca35d301f8126cf7a021dd4dcb7b58a1ca" 1670 | integrity sha512-XYZXOqUl1y31H6VLMrrUL1ZhXuiymLKPz0BO1kEeR5xER9Tv86RZrjTm74g5l9bPJQXA/hyLdaVPN/sdqfteig== 1671 | 1672 | jest-resolve-dependencies@^29.4.2: 1673 | version "29.4.2" 1674 | resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.4.2.tgz#6359db606f5967b68ca8bbe9dbc07a4306c12bf7" 1675 | integrity sha512-6pL4ptFw62rjdrPk7rRpzJYgcRqRZNsZTF1VxVTZMishbO6ObyWvX57yHOaNGgKoADtAHRFYdHQUEvYMJATbDg== 1676 | dependencies: 1677 | jest-regex-util "^29.4.2" 1678 | jest-snapshot "^29.4.2" 1679 | 1680 | jest-resolve@^29.4.2: 1681 | version "29.4.2" 1682 | resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.4.2.tgz#8831f449671d08d161fe493003f61dc9b55b808e" 1683 | integrity sha512-RtKWW0mbR3I4UdkOrW7552IFGLYQ5AF9YrzD0FnIOkDu0rAMlA5/Y1+r7lhCAP4nXSBTaE7ueeqj6IOwZpgoqw== 1684 | dependencies: 1685 | chalk "^4.0.0" 1686 | graceful-fs "^4.2.9" 1687 | jest-haste-map "^29.4.2" 1688 | jest-pnp-resolver "^1.2.2" 1689 | jest-util "^29.4.2" 1690 | jest-validate "^29.4.2" 1691 | resolve "^1.20.0" 1692 | resolve.exports "^2.0.0" 1693 | slash "^3.0.0" 1694 | 1695 | jest-runner@^29.4.2: 1696 | version "29.4.2" 1697 | resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.4.2.tgz#2bcecf72303369df4ef1e6e983c22a89870d5125" 1698 | integrity sha512-wqwt0drm7JGjwdH+x1XgAl+TFPH7poowMguPQINYxaukCqlczAcNLJiK+OLxUxQAEWMdy+e6nHZlFHO5s7EuRg== 1699 | dependencies: 1700 | "@jest/console" "^29.4.2" 1701 | "@jest/environment" "^29.4.2" 1702 | "@jest/test-result" "^29.4.2" 1703 | "@jest/transform" "^29.4.2" 1704 | "@jest/types" "^29.4.2" 1705 | "@types/node" "*" 1706 | chalk "^4.0.0" 1707 | emittery "^0.13.1" 1708 | graceful-fs "^4.2.9" 1709 | jest-docblock "^29.4.2" 1710 | jest-environment-node "^29.4.2" 1711 | jest-haste-map "^29.4.2" 1712 | jest-leak-detector "^29.4.2" 1713 | jest-message-util "^29.4.2" 1714 | jest-resolve "^29.4.2" 1715 | jest-runtime "^29.4.2" 1716 | jest-util "^29.4.2" 1717 | jest-watcher "^29.4.2" 1718 | jest-worker "^29.4.2" 1719 | p-limit "^3.1.0" 1720 | source-map-support "0.5.13" 1721 | 1722 | jest-runtime@^29.4.2: 1723 | version "29.4.2" 1724 | resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.4.2.tgz#d86b764c5b95d76cb26ed1f32644e99de5d5c134" 1725 | integrity sha512-3fque9vtpLzGuxT9eZqhxi+9EylKK/ESfhClv4P7Y9sqJPs58LjVhTt8jaMp/pRO38agll1CkSu9z9ieTQeRrw== 1726 | dependencies: 1727 | "@jest/environment" "^29.4.2" 1728 | "@jest/fake-timers" "^29.4.2" 1729 | "@jest/globals" "^29.4.2" 1730 | "@jest/source-map" "^29.4.2" 1731 | "@jest/test-result" "^29.4.2" 1732 | "@jest/transform" "^29.4.2" 1733 | "@jest/types" "^29.4.2" 1734 | "@types/node" "*" 1735 | chalk "^4.0.0" 1736 | cjs-module-lexer "^1.0.0" 1737 | collect-v8-coverage "^1.0.0" 1738 | glob "^7.1.3" 1739 | graceful-fs "^4.2.9" 1740 | jest-haste-map "^29.4.2" 1741 | jest-message-util "^29.4.2" 1742 | jest-mock "^29.4.2" 1743 | jest-regex-util "^29.4.2" 1744 | jest-resolve "^29.4.2" 1745 | jest-snapshot "^29.4.2" 1746 | jest-util "^29.4.2" 1747 | semver "^7.3.5" 1748 | slash "^3.0.0" 1749 | strip-bom "^4.0.0" 1750 | 1751 | jest-snapshot@^29.4.2: 1752 | version "29.4.2" 1753 | resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.4.2.tgz#ba1fb9abb279fd2c85109ff1757bc56b503bbb3a" 1754 | integrity sha512-PdfubrSNN5KwroyMH158R23tWcAXJyx4pvSvWls1dHoLCaUhGul9rsL3uVjtqzRpkxlkMavQjGuWG1newPgmkw== 1755 | dependencies: 1756 | "@babel/core" "^7.11.6" 1757 | "@babel/generator" "^7.7.2" 1758 | "@babel/plugin-syntax-jsx" "^7.7.2" 1759 | "@babel/plugin-syntax-typescript" "^7.7.2" 1760 | "@babel/traverse" "^7.7.2" 1761 | "@babel/types" "^7.3.3" 1762 | "@jest/expect-utils" "^29.4.2" 1763 | "@jest/transform" "^29.4.2" 1764 | "@jest/types" "^29.4.2" 1765 | "@types/babel__traverse" "^7.0.6" 1766 | "@types/prettier" "^2.1.5" 1767 | babel-preset-current-node-syntax "^1.0.0" 1768 | chalk "^4.0.0" 1769 | expect "^29.4.2" 1770 | graceful-fs "^4.2.9" 1771 | jest-diff "^29.4.2" 1772 | jest-get-type "^29.4.2" 1773 | jest-haste-map "^29.4.2" 1774 | jest-matcher-utils "^29.4.2" 1775 | jest-message-util "^29.4.2" 1776 | jest-util "^29.4.2" 1777 | natural-compare "^1.4.0" 1778 | pretty-format "^29.4.2" 1779 | semver "^7.3.5" 1780 | 1781 | jest-util@^29.4.2: 1782 | version "29.4.2" 1783 | resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.4.2.tgz#3db8580b295df453a97de4a1b42dd2578dabd2c2" 1784 | integrity sha512-wKnm6XpJgzMUSRFB7YF48CuwdzuDIHenVuoIb1PLuJ6F+uErZsuDkU+EiExkChf6473XcawBrSfDSnXl+/YG4g== 1785 | dependencies: 1786 | "@jest/types" "^29.4.2" 1787 | "@types/node" "*" 1788 | chalk "^4.0.0" 1789 | ci-info "^3.2.0" 1790 | graceful-fs "^4.2.9" 1791 | picomatch "^2.2.3" 1792 | 1793 | jest-validate@^29.4.2: 1794 | version "29.4.2" 1795 | resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.4.2.tgz#3b3f8c4910ab9a3442d2512e2175df6b3f77b915" 1796 | integrity sha512-tto7YKGPJyFbhcKhIDFq8B5od+eVWD/ySZ9Tvcp/NGCvYA4RQbuzhbwYWtIjMT5W5zA2W0eBJwu4HVw34d5G6Q== 1797 | dependencies: 1798 | "@jest/types" "^29.4.2" 1799 | camelcase "^6.2.0" 1800 | chalk "^4.0.0" 1801 | jest-get-type "^29.4.2" 1802 | leven "^3.1.0" 1803 | pretty-format "^29.4.2" 1804 | 1805 | jest-watcher@^29.4.2: 1806 | version "29.4.2" 1807 | resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.4.2.tgz#09c0f4c9a9c7c0807fcefb1445b821c6f7953b7c" 1808 | integrity sha512-onddLujSoGiMJt+tKutehIidABa175i/Ays+QvKxCqBwp7fvxP3ZhKsrIdOodt71dKxqk4sc0LN41mWLGIK44w== 1809 | dependencies: 1810 | "@jest/test-result" "^29.4.2" 1811 | "@jest/types" "^29.4.2" 1812 | "@types/node" "*" 1813 | ansi-escapes "^4.2.1" 1814 | chalk "^4.0.0" 1815 | emittery "^0.13.1" 1816 | jest-util "^29.4.2" 1817 | string-length "^4.0.1" 1818 | 1819 | jest-worker@^29.4.2: 1820 | version "29.4.2" 1821 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.4.2.tgz#d9b2c3bafc69311d84d94e7fb45677fc8976296f" 1822 | integrity sha512-VIuZA2hZmFyRbchsUCHEehoSf2HEl0YVF8SDJqtPnKorAaBuh42V8QsLnde0XP5F6TyCynGPEGgBOn3Fc+wZGw== 1823 | dependencies: 1824 | "@types/node" "*" 1825 | jest-util "^29.4.2" 1826 | merge-stream "^2.0.0" 1827 | supports-color "^8.0.0" 1828 | 1829 | jest@^29.4.2: 1830 | version "29.4.2" 1831 | resolved "https://registry.yarnpkg.com/jest/-/jest-29.4.2.tgz#4c2127d03a71dc187f386156ef155dbf323fb7be" 1832 | integrity sha512-+5hLd260vNIHu+7ZgMIooSpKl7Jp5pHKb51e73AJU3owd5dEo/RfVwHbA/na3C/eozrt3hJOLGf96c7EWwIAzg== 1833 | dependencies: 1834 | "@jest/core" "^29.4.2" 1835 | "@jest/types" "^29.4.2" 1836 | import-local "^3.0.2" 1837 | jest-cli "^29.4.2" 1838 | 1839 | js-tokens@^4.0.0: 1840 | version "4.0.0" 1841 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1842 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1843 | 1844 | js-yaml@^3.13.1: 1845 | version "3.14.0" 1846 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" 1847 | integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== 1848 | dependencies: 1849 | argparse "^1.0.7" 1850 | esprima "^4.0.0" 1851 | 1852 | jsesc@^2.5.1: 1853 | version "2.5.2" 1854 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1855 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1856 | 1857 | json-parse-even-better-errors@^2.3.0: 1858 | version "2.3.1" 1859 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 1860 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 1861 | 1862 | json5@^2.2.2: 1863 | version "2.2.3" 1864 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" 1865 | integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== 1866 | 1867 | kleur@^3.0.3: 1868 | version "3.0.3" 1869 | resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" 1870 | integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== 1871 | 1872 | leven@^3.1.0: 1873 | version "3.1.0" 1874 | resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" 1875 | integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== 1876 | 1877 | lilconfig@2.0.6: 1878 | version "2.0.6" 1879 | resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" 1880 | integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== 1881 | 1882 | lines-and-columns@^1.1.6: 1883 | version "1.1.6" 1884 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" 1885 | integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= 1886 | 1887 | lint-staged@^13.1.1: 1888 | version "13.1.1" 1889 | resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.1.1.tgz#db61636850660e291a6885da65d8e79850bd8307" 1890 | integrity sha512-LLJLO0Kdbcv2a+CvSF4p1M7jBZOajKSMpBUvyR8+bXccsqPER0/NxTFQSpNHjqwV9kM3tkHczYerTB5wI+bksQ== 1891 | dependencies: 1892 | cli-truncate "^3.1.0" 1893 | colorette "^2.0.19" 1894 | commander "^9.4.1" 1895 | debug "^4.3.4" 1896 | execa "^6.1.0" 1897 | lilconfig "2.0.6" 1898 | listr2 "^5.0.5" 1899 | micromatch "^4.0.5" 1900 | normalize-path "^3.0.0" 1901 | object-inspect "^1.12.2" 1902 | pidtree "^0.6.0" 1903 | string-argv "^0.3.1" 1904 | yaml "^2.1.3" 1905 | 1906 | listr2@^5.0.5: 1907 | version "5.0.6" 1908 | resolved "https://registry.yarnpkg.com/listr2/-/listr2-5.0.6.tgz#3c61153383869ffaad08a8908d63edfde481dff8" 1909 | integrity sha512-u60KxKBy1BR2uLJNTWNptzWQ1ob/gjMzIJPZffAENzpZqbMZ/5PrXXOomDcevIS/+IB7s1mmCEtSlT2qHWMqag== 1910 | dependencies: 1911 | cli-truncate "^2.1.0" 1912 | colorette "^2.0.19" 1913 | log-update "^4.0.0" 1914 | p-map "^4.0.0" 1915 | rfdc "^1.3.0" 1916 | rxjs "^7.5.7" 1917 | through "^2.3.8" 1918 | wrap-ansi "^7.0.0" 1919 | 1920 | locate-path@^5.0.0: 1921 | version "5.0.0" 1922 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 1923 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 1924 | dependencies: 1925 | p-locate "^4.1.0" 1926 | 1927 | lodash@^4.17.19: 1928 | version "4.17.21" 1929 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 1930 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 1931 | 1932 | log-update@^4.0.0: 1933 | version "4.0.0" 1934 | resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" 1935 | integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== 1936 | dependencies: 1937 | ansi-escapes "^4.3.0" 1938 | cli-cursor "^3.1.0" 1939 | slice-ansi "^4.0.0" 1940 | wrap-ansi "^6.2.0" 1941 | 1942 | lru-cache@^5.1.1: 1943 | version "5.1.1" 1944 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" 1945 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== 1946 | dependencies: 1947 | yallist "^3.0.2" 1948 | 1949 | lru-cache@^6.0.0: 1950 | version "6.0.0" 1951 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1952 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1953 | dependencies: 1954 | yallist "^4.0.0" 1955 | 1956 | make-dir@^3.0.0: 1957 | version "3.1.0" 1958 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" 1959 | integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== 1960 | dependencies: 1961 | semver "^6.0.0" 1962 | 1963 | makeerror@1.0.12: 1964 | version "1.0.12" 1965 | resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" 1966 | integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== 1967 | dependencies: 1968 | tmpl "1.0.5" 1969 | 1970 | merge-stream@^2.0.0: 1971 | version "2.0.0" 1972 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 1973 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 1974 | 1975 | micromatch@^4.0.4, micromatch@^4.0.5: 1976 | version "4.0.5" 1977 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 1978 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 1979 | dependencies: 1980 | braces "^3.0.2" 1981 | picomatch "^2.3.1" 1982 | 1983 | mimic-fn@^2.1.0: 1984 | version "2.1.0" 1985 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 1986 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 1987 | 1988 | mimic-fn@^4.0.0: 1989 | version "4.0.0" 1990 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" 1991 | integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== 1992 | 1993 | minimatch@^3.0.4: 1994 | version "3.1.2" 1995 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 1996 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 1997 | dependencies: 1998 | brace-expansion "^1.1.7" 1999 | 2000 | ms@2.1.2: 2001 | version "2.1.2" 2002 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 2003 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 2004 | 2005 | nanoid@^3.3.4: 2006 | version "3.3.4" 2007 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" 2008 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== 2009 | 2010 | natural-compare@^1.4.0: 2011 | version "1.4.0" 2012 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 2013 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 2014 | 2015 | node-int64@^0.4.0: 2016 | version "0.4.0" 2017 | resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" 2018 | integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= 2019 | 2020 | node-releases@^2.0.6: 2021 | version "2.0.8" 2022 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae" 2023 | integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A== 2024 | 2025 | normalize-path@^3.0.0: 2026 | version "3.0.0" 2027 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 2028 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 2029 | 2030 | npm-run-path@^4.0.1: 2031 | version "4.0.1" 2032 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" 2033 | integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== 2034 | dependencies: 2035 | path-key "^3.0.0" 2036 | 2037 | npm-run-path@^5.1.0: 2038 | version "5.1.0" 2039 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" 2040 | integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== 2041 | dependencies: 2042 | path-key "^4.0.0" 2043 | 2044 | nth-check@^2.0.1: 2045 | version "2.1.1" 2046 | resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" 2047 | integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== 2048 | dependencies: 2049 | boolbase "^1.0.0" 2050 | 2051 | object-inspect@^1.12.2: 2052 | version "1.12.2" 2053 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" 2054 | integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== 2055 | 2056 | once@^1.3.0: 2057 | version "1.4.0" 2058 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2059 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 2060 | dependencies: 2061 | wrappy "1" 2062 | 2063 | onetime@^5.1.0, onetime@^5.1.2: 2064 | version "5.1.2" 2065 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" 2066 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 2067 | dependencies: 2068 | mimic-fn "^2.1.0" 2069 | 2070 | onetime@^6.0.0: 2071 | version "6.0.0" 2072 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" 2073 | integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== 2074 | dependencies: 2075 | mimic-fn "^4.0.0" 2076 | 2077 | p-limit@^2.2.0: 2078 | version "2.3.0" 2079 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 2080 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 2081 | dependencies: 2082 | p-try "^2.0.0" 2083 | 2084 | p-limit@^3.1.0: 2085 | version "3.1.0" 2086 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 2087 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 2088 | dependencies: 2089 | yocto-queue "^0.1.0" 2090 | 2091 | p-locate@^4.1.0: 2092 | version "4.1.0" 2093 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 2094 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 2095 | dependencies: 2096 | p-limit "^2.2.0" 2097 | 2098 | p-map@^4.0.0: 2099 | version "4.0.0" 2100 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" 2101 | integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== 2102 | dependencies: 2103 | aggregate-error "^3.0.0" 2104 | 2105 | p-try@^2.0.0: 2106 | version "2.2.0" 2107 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 2108 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 2109 | 2110 | parse-json@^5.2.0: 2111 | version "5.2.0" 2112 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 2113 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 2114 | dependencies: 2115 | "@babel/code-frame" "^7.0.0" 2116 | error-ex "^1.3.1" 2117 | json-parse-even-better-errors "^2.3.0" 2118 | lines-and-columns "^1.1.6" 2119 | 2120 | path-exists@^4.0.0: 2121 | version "4.0.0" 2122 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 2123 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 2124 | 2125 | path-is-absolute@^1.0.0: 2126 | version "1.0.1" 2127 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2128 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 2129 | 2130 | path-key@^3.0.0, path-key@^3.1.0: 2131 | version "3.1.1" 2132 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 2133 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 2134 | 2135 | path-key@^4.0.0: 2136 | version "4.0.0" 2137 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" 2138 | integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== 2139 | 2140 | path-parse@^1.0.7: 2141 | version "1.0.7" 2142 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 2143 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 2144 | 2145 | picocolors@^1.0.0: 2146 | version "1.0.0" 2147 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 2148 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 2149 | 2150 | picomatch@^2.0.4: 2151 | version "2.2.2" 2152 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" 2153 | integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== 2154 | 2155 | picomatch@^2.2.3, picomatch@^2.3.1: 2156 | version "2.3.1" 2157 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 2158 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 2159 | 2160 | pidtree@^0.6.0: 2161 | version "0.6.0" 2162 | resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" 2163 | integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== 2164 | 2165 | pirates@^4.0.4: 2166 | version "4.0.5" 2167 | resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" 2168 | integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== 2169 | 2170 | pkg-dir@^4.2.0: 2171 | version "4.2.0" 2172 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 2173 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 2174 | dependencies: 2175 | find-up "^4.0.0" 2176 | 2177 | postcss-value-parser@^4.2.0: 2178 | version "4.2.0" 2179 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" 2180 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== 2181 | 2182 | postcss@^8.4.21: 2183 | version "8.4.21" 2184 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" 2185 | integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== 2186 | dependencies: 2187 | nanoid "^3.3.4" 2188 | picocolors "^1.0.0" 2189 | source-map-js "^1.0.2" 2190 | 2191 | prettier@^2.8.4: 2192 | version "2.8.4" 2193 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" 2194 | integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== 2195 | 2196 | pretty-format@^29.4.2: 2197 | version "29.4.2" 2198 | resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.4.2.tgz#64bf5ccc0d718c03027d94ac957bdd32b3fb2401" 2199 | integrity sha512-qKlHR8yFVCbcEWba0H0TOC8dnLlO4vPlyEjRPw31FZ2Rupy9nLa8ZLbYny8gWEl8CkEhJqAE6IzdNELTBVcBEg== 2200 | dependencies: 2201 | "@jest/schemas" "^29.4.2" 2202 | ansi-styles "^5.0.0" 2203 | react-is "^18.0.0" 2204 | 2205 | prompts@^2.0.1: 2206 | version "2.4.0" 2207 | resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" 2208 | integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== 2209 | dependencies: 2210 | kleur "^3.0.3" 2211 | sisteransi "^1.0.5" 2212 | 2213 | react-is@^18.0.0: 2214 | version "18.2.0" 2215 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" 2216 | integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== 2217 | 2218 | require-directory@^2.1.1: 2219 | version "2.1.1" 2220 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 2221 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 2222 | 2223 | resolve-cwd@^3.0.0: 2224 | version "3.0.0" 2225 | resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" 2226 | integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== 2227 | dependencies: 2228 | resolve-from "^5.0.0" 2229 | 2230 | resolve-from@^5.0.0: 2231 | version "5.0.0" 2232 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 2233 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 2234 | 2235 | resolve.exports@^2.0.0: 2236 | version "2.0.0" 2237 | resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.0.tgz#c1a0028c2d166ec2fbf7d0644584927e76e7400e" 2238 | integrity sha512-6K/gDlqgQscOlg9fSRpWstA8sYe8rbELsSTNpx+3kTrsVCzvSl0zIvRErM7fdl9ERWDsKnrLnwB+Ne89918XOg== 2239 | 2240 | resolve@^1.20.0: 2241 | version "1.22.1" 2242 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 2243 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 2244 | dependencies: 2245 | is-core-module "^2.9.0" 2246 | path-parse "^1.0.7" 2247 | supports-preserve-symlinks-flag "^1.0.0" 2248 | 2249 | restore-cursor@^3.1.0: 2250 | version "3.1.0" 2251 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" 2252 | integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== 2253 | dependencies: 2254 | onetime "^5.1.0" 2255 | signal-exit "^3.0.2" 2256 | 2257 | rfdc@^1.3.0: 2258 | version "1.3.0" 2259 | resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" 2260 | integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== 2261 | 2262 | rxjs@^7.5.7: 2263 | version "7.8.0" 2264 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" 2265 | integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== 2266 | dependencies: 2267 | tslib "^2.1.0" 2268 | 2269 | safe-buffer@~5.1.1: 2270 | version "5.1.2" 2271 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 2272 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 2273 | 2274 | semver@^6.0.0, semver@^6.3.0: 2275 | version "6.3.0" 2276 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 2277 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 2278 | 2279 | semver@^7.3.5: 2280 | version "7.3.8" 2281 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" 2282 | integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== 2283 | dependencies: 2284 | lru-cache "^6.0.0" 2285 | 2286 | shebang-command@^2.0.0: 2287 | version "2.0.0" 2288 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 2289 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 2290 | dependencies: 2291 | shebang-regex "^3.0.0" 2292 | 2293 | shebang-regex@^3.0.0: 2294 | version "3.0.0" 2295 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 2296 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 2297 | 2298 | signal-exit@^3.0.2: 2299 | version "3.0.3" 2300 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" 2301 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== 2302 | 2303 | signal-exit@^3.0.3, signal-exit@^3.0.7: 2304 | version "3.0.7" 2305 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" 2306 | integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== 2307 | 2308 | sisteransi@^1.0.5: 2309 | version "1.0.5" 2310 | resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" 2311 | integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== 2312 | 2313 | slash@^3.0.0: 2314 | version "3.0.0" 2315 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 2316 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 2317 | 2318 | slice-ansi@^3.0.0: 2319 | version "3.0.0" 2320 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" 2321 | integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== 2322 | dependencies: 2323 | ansi-styles "^4.0.0" 2324 | astral-regex "^2.0.0" 2325 | is-fullwidth-code-point "^3.0.0" 2326 | 2327 | slice-ansi@^4.0.0: 2328 | version "4.0.0" 2329 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" 2330 | integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== 2331 | dependencies: 2332 | ansi-styles "^4.0.0" 2333 | astral-regex "^2.0.0" 2334 | is-fullwidth-code-point "^3.0.0" 2335 | 2336 | slice-ansi@^5.0.0: 2337 | version "5.0.0" 2338 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" 2339 | integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== 2340 | dependencies: 2341 | ansi-styles "^6.0.0" 2342 | is-fullwidth-code-point "^4.0.0" 2343 | 2344 | source-map-js@^1.0.2: 2345 | version "1.0.2" 2346 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 2347 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 2348 | 2349 | source-map-support@0.5.13: 2350 | version "0.5.13" 2351 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" 2352 | integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== 2353 | dependencies: 2354 | buffer-from "^1.0.0" 2355 | source-map "^0.6.0" 2356 | 2357 | source-map@^0.6.0, source-map@^0.6.1: 2358 | version "0.6.1" 2359 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 2360 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 2361 | 2362 | sprintf-js@~1.0.2: 2363 | version "1.0.3" 2364 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 2365 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 2366 | 2367 | stack-utils@^2.0.3: 2368 | version "2.0.6" 2369 | resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" 2370 | integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== 2371 | dependencies: 2372 | escape-string-regexp "^2.0.0" 2373 | 2374 | string-argv@^0.3.1: 2375 | version "0.3.1" 2376 | resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" 2377 | integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== 2378 | 2379 | string-length@^4.0.1: 2380 | version "4.0.1" 2381 | resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" 2382 | integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw== 2383 | dependencies: 2384 | char-regex "^1.0.2" 2385 | strip-ansi "^6.0.0" 2386 | 2387 | string-width@^4.1.0, string-width@^4.2.0: 2388 | version "4.2.0" 2389 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" 2390 | integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== 2391 | dependencies: 2392 | emoji-regex "^8.0.0" 2393 | is-fullwidth-code-point "^3.0.0" 2394 | strip-ansi "^6.0.0" 2395 | 2396 | string-width@^4.2.3: 2397 | version "4.2.3" 2398 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 2399 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 2400 | dependencies: 2401 | emoji-regex "^8.0.0" 2402 | is-fullwidth-code-point "^3.0.0" 2403 | strip-ansi "^6.0.1" 2404 | 2405 | string-width@^5.0.0: 2406 | version "5.1.2" 2407 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" 2408 | integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== 2409 | dependencies: 2410 | eastasianwidth "^0.2.0" 2411 | emoji-regex "^9.2.2" 2412 | strip-ansi "^7.0.1" 2413 | 2414 | strip-ansi@^6.0.0: 2415 | version "6.0.0" 2416 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" 2417 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 2418 | dependencies: 2419 | ansi-regex "^5.0.0" 2420 | 2421 | strip-ansi@^6.0.1: 2422 | version "6.0.1" 2423 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 2424 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 2425 | dependencies: 2426 | ansi-regex "^5.0.1" 2427 | 2428 | strip-ansi@^7.0.1: 2429 | version "7.0.1" 2430 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" 2431 | integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== 2432 | dependencies: 2433 | ansi-regex "^6.0.1" 2434 | 2435 | strip-bom@^4.0.0: 2436 | version "4.0.0" 2437 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" 2438 | integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== 2439 | 2440 | strip-final-newline@^2.0.0: 2441 | version "2.0.0" 2442 | resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" 2443 | integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 2444 | 2445 | strip-final-newline@^3.0.0: 2446 | version "3.0.0" 2447 | resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" 2448 | integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== 2449 | 2450 | strip-json-comments@^3.1.1: 2451 | version "3.1.1" 2452 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 2453 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 2454 | 2455 | supports-color@^5.3.0: 2456 | version "5.5.0" 2457 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 2458 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 2459 | dependencies: 2460 | has-flag "^3.0.0" 2461 | 2462 | supports-color@^7.1.0: 2463 | version "7.2.0" 2464 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 2465 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 2466 | dependencies: 2467 | has-flag "^4.0.0" 2468 | 2469 | supports-color@^8.0.0: 2470 | version "8.1.1" 2471 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 2472 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 2473 | dependencies: 2474 | has-flag "^4.0.0" 2475 | 2476 | supports-preserve-symlinks-flag@^1.0.0: 2477 | version "1.0.0" 2478 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 2479 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 2480 | 2481 | test-exclude@^6.0.0: 2482 | version "6.0.0" 2483 | resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" 2484 | integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== 2485 | dependencies: 2486 | "@istanbuljs/schema" "^0.1.2" 2487 | glob "^7.1.4" 2488 | minimatch "^3.0.4" 2489 | 2490 | through@^2.3.8: 2491 | version "2.3.8" 2492 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 2493 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 2494 | 2495 | tmpl@1.0.5: 2496 | version "1.0.5" 2497 | resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" 2498 | integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== 2499 | 2500 | to-fast-properties@^2.0.0: 2501 | version "2.0.0" 2502 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 2503 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 2504 | 2505 | to-regex-range@^5.0.1: 2506 | version "5.0.1" 2507 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2508 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2509 | dependencies: 2510 | is-number "^7.0.0" 2511 | 2512 | tslib@^2.1.0: 2513 | version "2.4.1" 2514 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" 2515 | integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== 2516 | 2517 | type-detect@4.0.8: 2518 | version "4.0.8" 2519 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" 2520 | integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== 2521 | 2522 | type-fest@^0.11.0: 2523 | version "0.11.0" 2524 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" 2525 | integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== 2526 | 2527 | update-browserslist-db@^1.0.9: 2528 | version "1.0.10" 2529 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" 2530 | integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== 2531 | dependencies: 2532 | escalade "^3.1.1" 2533 | picocolors "^1.0.0" 2534 | 2535 | v8-to-istanbul@^9.0.1: 2536 | version "9.0.1" 2537 | resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4" 2538 | integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w== 2539 | dependencies: 2540 | "@jridgewell/trace-mapping" "^0.3.12" 2541 | "@types/istanbul-lib-coverage" "^2.0.1" 2542 | convert-source-map "^1.6.0" 2543 | 2544 | walker@^1.0.8: 2545 | version "1.0.8" 2546 | resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" 2547 | integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== 2548 | dependencies: 2549 | makeerror "1.0.12" 2550 | 2551 | which@^2.0.1: 2552 | version "2.0.2" 2553 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 2554 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2555 | dependencies: 2556 | isexe "^2.0.0" 2557 | 2558 | wrap-ansi@^6.2.0: 2559 | version "6.2.0" 2560 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" 2561 | integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== 2562 | dependencies: 2563 | ansi-styles "^4.0.0" 2564 | string-width "^4.1.0" 2565 | strip-ansi "^6.0.0" 2566 | 2567 | wrap-ansi@^7.0.0: 2568 | version "7.0.0" 2569 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 2570 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 2571 | dependencies: 2572 | ansi-styles "^4.0.0" 2573 | string-width "^4.1.0" 2574 | strip-ansi "^6.0.0" 2575 | 2576 | wrappy@1: 2577 | version "1.0.2" 2578 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2579 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 2580 | 2581 | write-file-atomic@^4.0.2: 2582 | version "4.0.2" 2583 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" 2584 | integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== 2585 | dependencies: 2586 | imurmurhash "^0.1.4" 2587 | signal-exit "^3.0.7" 2588 | 2589 | y18n@^5.0.5: 2590 | version "5.0.8" 2591 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 2592 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 2593 | 2594 | yallist@^3.0.2: 2595 | version "3.1.1" 2596 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" 2597 | integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== 2598 | 2599 | yallist@^4.0.0: 2600 | version "4.0.0" 2601 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 2602 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2603 | 2604 | yaml@^2.1.3: 2605 | version "2.2.1" 2606 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.1.tgz#3014bf0482dcd15147aa8e56109ce8632cd60ce4" 2607 | integrity sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw== 2608 | 2609 | yargs-parser@^21.1.1: 2610 | version "21.1.1" 2611 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" 2612 | integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== 2613 | 2614 | yargs@^17.3.1: 2615 | version "17.6.2" 2616 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" 2617 | integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== 2618 | dependencies: 2619 | cliui "^8.0.1" 2620 | escalade "^3.1.1" 2621 | get-caller-file "^2.0.5" 2622 | require-directory "^2.1.1" 2623 | string-width "^4.2.3" 2624 | y18n "^5.0.5" 2625 | yargs-parser "^21.1.1" 2626 | 2627 | yocto-queue@^0.1.0: 2628 | version "0.1.0" 2629 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 2630 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 2631 | --------------------------------------------------------------------------------