VYPR
Critical severityNVD Advisory· Published Feb 10, 2021· Updated Aug 3, 2024

CVE-2021-27185

CVE-2021-27185

Description

A command injection vulnerability in the samba-client Node.js package before 4.0.0 allows arbitrary OS command execution due to unsafe use of process.exec.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

A command injection vulnerability in the samba-client Node.js package before 4.0.0 allows arbitrary OS command execution due to unsafe use of process.exec.

The samba-client package for Node.js before version 4.0.0 contained a command injection vulnerability due to its use of process.exec to execute the underlying smbclient command [1][4]. The library constructed command strings by directly concatenating user-controlled input values, such as file paths and usernames, without proper sanitization or escaping. The unsafe wrap() function only added single quotes around arguments, which is insufficient to prevent injection because an attacker could include a single quote or other shell metacharacters within the input [1]. A fix was implemented in version 4.0.0 by replacing process.exec with execa, which prevents shell interpretation of the arguments [1].

The vulnerability can be triggered by an attacker who controls any of the parameters passed to the SambaClient constructor or to methods like getFile, sendFile, deleteFile, or listFiles [1][4]. Since the library does not validate or sanitize these inputs, a remote attacker can craft a malicious file name, path, username, or password that includes shell metacharacters. When the vulnerable version executes the smbclient command, the injected commands are interpreted and executed by the operating system shell [1][4].

Successful exploitation allows an attacker to execute arbitrary OS commands with the privileges of the Node.js process [2]. This can lead to full system compromise, data exfiltration, or lateral movement within the network. The Checkmarx advisory notes that any application using an unpatched version of the samba-client package is at risk [2].

The fix was released on February 10, 2021 with version 4.0.0 [3]. Users should immediately update to version 4.0.0 or later [1][2][3]. If upgrading is not immediately possible, a workaround would be to sanitize all user-provided inputs before passing them to the library, though updating is strongly recommended.

AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
samba-clientnpm
< 4.0.04.0.0

Affected products

2

Patches

1
5bc3bbad9b8d

Merge pull request #36 from eflexsystems/v4

6 files changed · +3864 1311
  • example.js+3 9 modified
    @@ -7,19 +7,15 @@ const testFile = "test.txt";
     
     const client = new SambaClient({
       address: process.argv[2],
    -  username: "Guest",
     });
     
     async function run() {
       await fs.writeFile(testFile, testFile);
     
    -  await client.mkdir("test-directory");
    -  console.log(`created test directory on samba share at ${client.address}`);
    -
       const list = await client.listFiles("eflex", ".txt");
       console.log(`found these files: ${list}`);
     
    -  await client.mkdir("test-directory");
    +  await client.mkdir("test directory");
       console.log(`created test directory on samba share at ${client.address}`);
     
       await client.sendFile(testFile, testFile);
    @@ -36,10 +32,8 @@ async function run() {
       } else {
         console.log(`test file does not exist on samba share at ${client.address}`);
       }
    -}
     
    -process.on("exit", function () {
    -  fs.unlinkSync(testFile);
    -});
    +  await fs.unlink(testFile);
    +}
     
     run();
    
  • .gitignore+2 0 modified
    @@ -28,3 +28,5 @@ node_modules
     
     # JetBrains IDEs including IDEA and WebStorm
     .idea/*
    +
    +test.txt
    
  • index.js+68 82 modified
    @@ -1,7 +1,6 @@
     "use strict";
     
    -const exec = require("child_process").exec;
    -const util = require("util");
    +const execa = require("execa");
     const p = require("path");
     
     const singleSlash = /\//g;
    @@ -11,15 +10,14 @@ const singleSlash = /\//g;
      */
     const missingFileRegex = /(NT_STATUS_OBJECT_NAME_NOT_FOUND|NT_STATUS_NO_SUCH_FILE)/im;
     
    -function wrap(str) {
    -  return "'" + str + "'";
    -}
    +const getCleanedSmbClientArgs = (args) =>
    +  args.map((arg) => `"${arg.replace(singleSlash, "\\")}"`).join(" ");
     
     class SambaClient {
       constructor(options) {
         this.address = options.address;
    -    this.username = wrap(options.username || "guest");
    -    this.password = options.password ? wrap(options.password) : null;
    +    this.username = options.username || "guest";
    +    this.password = options.password;
         this.domain = options.domain;
         this.port = options.port;
         // Possible values for protocol version are listed in the Samba man pages:
    @@ -28,35 +26,30 @@ class SambaClient {
         this.maskCmd = Boolean(options.maskCmd);
       }
     
    -  getFile(path, destination, workingDir) {
    -    const fileName = path.replace(singleSlash, "\\");
    -    const cmdArgs = util.format("%s %s", fileName, destination);
    -    return this.execute("get", cmdArgs, workingDir);
    +  async getFile(path, destination, workingDir) {
    +    return await this.execute("get", [path, destination], workingDir);
       }
     
    -  sendFile(path, destination) {
    +  async sendFile(path, destination) {
         const workingDir = p.dirname(path);
    -    const fileName = p.basename(path).replace(singleSlash, "\\");
    -    const cmdArgs = util.format(
    -      "%s %s",
    -      fileName,
    -      destination.replace(singleSlash, "\\")
    +    return await this.execute(
    +      "put",
    +      [p.basename(path), destination],
    +      workingDir
         );
    -    return this.execute("put", cmdArgs, workingDir);
       }
     
    -  deleteFile(fileName) {
    -    return this.execute("del", fileName, "");
    +  async deleteFile(fileName) {
    +    return await this.execute("del", [fileName], "");
       }
     
       async listFiles(fileNamePrefix, fileNameSuffix) {
         try {
    -      const cmdArgs = util.format("%s*%s", fileNamePrefix, fileNameSuffix);
    +      const cmdArgs = `${fileNamePrefix}*${fileNameSuffix}`;
           const allOutput = await this.execute("dir", cmdArgs, "");
           const fileList = [];
    -      const lines = allOutput.split("\n");
    -      for (let i = 0; i < lines.length; i++) {
    -        const line = lines[i].toString().trim();
    +      for (let line of allOutput.split("\n")) {
    +        line = line.toString().trim();
             if (line.startsWith(fileNamePrefix)) {
               const parsed = line.substring(
                 0,
    @@ -75,20 +68,12 @@ class SambaClient {
         }
       }
     
    -  mkdir(remotePath, cwd) {
    -    return this.execute(
    -      "mkdir",
    -      remotePath.replace(singleSlash, "\\"),
    -      cwd !== null && cwd !== undefined ? cwd : __dirname
    -    );
    +  async mkdir(remotePath, cwd) {
    +    return await this.execute("mkdir", [remotePath], cwd || __dirname);
       }
     
    -  dir(remotePath, cwd) {
    -    return this.execute(
    -      "dir",
    -      remotePath.replace(singleSlash, "\\"),
    -      cwd !== null && cwd !== undefined ? cwd : __dirname
    -    );
    +  async dir(remotePath, cwd) {
    +    return await this.execute("dir", [remotePath], cwd || __dirname);
       }
     
       async fileExists(remotePath, cwd) {
    @@ -112,25 +97,35 @@ class SambaClient {
       async list(remotePath) {
         const remoteDirList = [];
         const remoteDirContents = await this.dir(remotePath);
    -    for(const content of remoteDirContents.matchAll(/\s*(.+?)\s{6,}(.)\s+([0-9]+)\s{2}(.+)/g)){
    +    for (const content of remoteDirContents.matchAll(
    +      /\s*(.+?)\s{6,}(.)\s+([0-9]+)\s{2}(.+)/g
    +    )) {
           remoteDirList.push({
             name: content[1],
             type: content[2],
             size: parseInt(content[3]),
    -        modifyTime: new Date(content[4]+'Z'),
    +        modifyTime: new Date(content[4] + "Z"),
           });
         }
         return remoteDirList;
       }
     
    -  getSmbClientArgs(fullCmd) {
    -    const args = ["-U", this.username];
    +  getSmbClientArgs(smbCommand, smbCommandArgs) {
    +    const args = [];
    +
    +    if (this.username) {
    +      args.push("-U", this.username);
    +    }
     
         if (!this.password) {
           args.push("-N");
         }
     
    -    args.push("-c", fullCmd, this.address);
    +    let cleanedSmbArgs = smbCommandArgs;
    +    if (Array.isArray(smbCommandArgs)) {
    +      cleanedSmbArgs = getCleanedSmbClientArgs(smbCommandArgs);
    +    }
    +    args.push("-c", `${smbCommand} ${cleanedSmbArgs}`, this.address);
     
         if (this.password) {
           args.push(this.password);
    @@ -153,57 +148,48 @@ class SambaClient {
         return args;
       }
     
    -  execute(cmd, cmdArgs, workingDir) {
    -    const fullCmd = wrap(util.format("%s %s", cmd, cmdArgs));
    -    const command = [
    -      "smbclient",
    -      this.getSmbClientArgs(fullCmd).join(" "),
    -    ].join(" ");
    +  async execute(smbCommand, smbCommandArgs, workingDir) {
    +    const args = this.getSmbClientArgs(smbCommand, smbCommandArgs);
     
         const options = {
    +      all: true,
           cwd: workingDir || "",
         };
    -    const maskCmd = this.maskCmd;
    -
    -    return new Promise((resolve, reject) => {
    -      exec(command, options, function (err, stdout, stderr) {
    -        const allOutput = stdout + stderr;
    -
    -        if (err) {
    -          // The error message by default contains the whole smbclient command that was run
    -          // This contains the username, password in plain text which can be a security risk
    -          // maskCmd option allows user to hide the command from the error message
    -          err.message = maskCmd ? allOutput : err.message + allOutput;
    -          return reject(err);
    -        }
     
    -        return resolve(allOutput);
    -      });
    -    });
    +    try {
    +      const { all } = await execa("smbclient", args, options);
    +      return all;
    +    } catch (error) {
    +      if (this.maskCmd) {
    +        error.message = error.all;
    +        error.shortMessage = error.all;
    +      }
    +      throw error;
    +    }
       }
     
    -  getAllShares() {
    -    const maskCmd = this.maskCmd;
    -    return new Promise((resolve, reject) => {
    -      exec("smbtree -U guest -N", {}, function (err, stdout, stderr) {
    -        const allOutput = stdout + stderr;
    -
    -        if (err !== null) {
    -          err.message = maskCmd ? allOutput : err.message + allOutput;
    -          return reject(err);
    -        }
    +  async getAllShares() {
    +    try {
    +      const { stdout } = await execa("smbtree", ["-U", "guest", "-N"], {
    +        all: true,
    +      });
     
    -        const shares = [];
    -        for (const line in stdout.split(/\r?\n/)) {
    -          const words = line.split(/\t/);
    -          if (words.length > 2 && words[2].match(/^\s*$/) !== null) {
    -            shares.append(words[2].trim());
    -          }
    +      const shares = [];
    +      for (const line in stdout.split(/\r?\n/)) {
    +        const words = line.split(/\t/);
    +        if (words.length > 2 && words[2].match(/^\s*$/) !== null) {
    +          shares.append(words[2].trim());
             }
    +      }
     
    -        return resolve(shares);
    -      });
    -    });
    +      return shares;
    +    } catch (error) {
    +      if (this.maskCmd) {
    +        error.message = error.all;
    +        error.shortMessage = error.all;
    +      }
    +      throw error;
    +    }
       }
     }
     
    
  • package.json+6 3 modified
    @@ -1,6 +1,6 @@
     {
       "name": "samba-client",
    -  "version": "3.4.0",
    +  "version": "4.0.0",
       "description": "wrapper for smbclient",
       "main": "index.js",
       "scripts": {
    @@ -25,12 +25,15 @@
       },
       "homepage": "https://github.com/eflexsystems/node-samba-client",
       "devDependencies": {
    -    "eslint": "^7.15.0",
    -    "eslint-config-prettier": "^7.0.0",
    +    "eslint": "^7.19.0",
    +    "eslint-config-prettier": "^7.2.0",
         "eslint-config-standard": "^16.0.2",
         "eslint-plugin-import": "^2.22.1",
         "eslint-plugin-node": "^11.1.0",
         "eslint-plugin-promise": "^4.2.1",
         "prettier": "^2.2.1"
    +  },
    +  "dependencies": {
    +    "execa": "^5.0.0"
       }
     }
    
  • package-lock.json+3785 0 added
  • yarn.lock+0 1217 removed
    @@ -1,1217 +0,0 @@
    -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
    -# yarn lockfile v1
    -
    -
    -"@babel/code-frame@^7.0.0":
    -  version "7.10.4"
    -  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
    -  integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
    -  dependencies:
    -    "@babel/highlight" "^7.10.4"
    -
    -"@babel/helper-validator-identifier@^7.10.4":
    -  version "7.10.4"
    -  resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2"
    -  integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==
    -
    -"@babel/highlight@^7.10.4":
    -  version "7.10.4"
    -  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143"
    -  integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==
    -  dependencies:
    -    "@babel/helper-validator-identifier" "^7.10.4"
    -    chalk "^2.0.0"
    -    js-tokens "^4.0.0"
    -
    -"@eslint/eslintrc@^0.2.2":
    -  version "0.2.2"
    -  resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.2.tgz#d01fc791e2fc33e88a29d6f3dc7e93d0cd784b76"
    -  integrity sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==
    -  dependencies:
    -    ajv "^6.12.4"
    -    debug "^4.1.1"
    -    espree "^7.3.0"
    -    globals "^12.1.0"
    -    ignore "^4.0.6"
    -    import-fresh "^3.2.1"
    -    js-yaml "^3.13.1"
    -    lodash "^4.17.19"
    -    minimatch "^3.0.4"
    -    strip-json-comments "^3.1.1"
    -
    -"@types/json5@^0.0.29":
    -  version "0.0.29"
    -  resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
    -  integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4=
    -
    -acorn-jsx@^5.3.1:
    -  version "5.3.1"
    -  resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b"
    -  integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==
    -
    -acorn@^7.4.0:
    -  version "7.4.1"
    -  resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
    -  integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
    -
    -ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.4:
    -  version "6.12.6"
    -  resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
    -  integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
    -  dependencies:
    -    fast-deep-equal "^3.1.1"
    -    fast-json-stable-stringify "^2.0.0"
    -    json-schema-traverse "^0.4.1"
    -    uri-js "^4.2.2"
    -
    -ansi-colors@^4.1.1:
    -  version "4.1.1"
    -  resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
    -  integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
    -
    -ansi-regex@^4.1.0:
    -  version "4.1.0"
    -  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
    -  integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
    -
    -ansi-regex@^5.0.0:
    -  version "5.0.0"
    -  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
    -  integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
    -
    -ansi-styles@^3.2.0, ansi-styles@^3.2.1:
    -  version "3.2.1"
    -  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
    -  integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
    -  dependencies:
    -    color-convert "^1.9.0"
    -
    -ansi-styles@^4.1.0:
    -  version "4.3.0"
    -  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
    -  integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
    -  dependencies:
    -    color-convert "^2.0.1"
    -
    -argparse@^1.0.7:
    -  version "1.0.10"
    -  resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
    -  integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
    -  dependencies:
    -    sprintf-js "~1.0.2"
    -
    -array-includes@^3.1.1:
    -  version "3.1.2"
    -  resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.2.tgz#a8db03e0b88c8c6aeddc49cb132f9bcab4ebf9c8"
    -  integrity sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==
    -  dependencies:
    -    call-bind "^1.0.0"
    -    define-properties "^1.1.3"
    -    es-abstract "^1.18.0-next.1"
    -    get-intrinsic "^1.0.1"
    -    is-string "^1.0.5"
    -
    -array.prototype.flat@^1.2.3:
    -  version "1.2.4"
    -  resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123"
    -  integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==
    -  dependencies:
    -    call-bind "^1.0.0"
    -    define-properties "^1.1.3"
    -    es-abstract "^1.18.0-next.1"
    -
    -astral-regex@^1.0.0:
    -  version "1.0.0"
    -  resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
    -  integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
    -
    -balanced-match@^1.0.0:
    -  version "1.0.0"
    -  resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
    -  integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
    -
    -brace-expansion@^1.1.7:
    -  version "1.1.11"
    -  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
    -  integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
    -  dependencies:
    -    balanced-match "^1.0.0"
    -    concat-map "0.0.1"
    -
    -call-bind@^1.0.0:
    -  version "1.0.0"
    -  resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce"
    -  integrity sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==
    -  dependencies:
    -    function-bind "^1.1.1"
    -    get-intrinsic "^1.0.0"
    -
    -callsites@^3.0.0:
    -  version "3.1.0"
    -  resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
    -  integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
    -
    -chalk@^2.0.0:
    -  version "2.4.2"
    -  resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
    -  integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
    -  dependencies:
    -    ansi-styles "^3.2.1"
    -    escape-string-regexp "^1.0.5"
    -    supports-color "^5.3.0"
    -
    -chalk@^4.0.0:
    -  version "4.1.0"
    -  resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
    -  integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
    -  dependencies:
    -    ansi-styles "^4.1.0"
    -    supports-color "^7.1.0"
    -
    -color-convert@^1.9.0:
    -  version "1.9.3"
    -  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
    -  integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
    -  dependencies:
    -    color-name "1.1.3"
    -
    -color-convert@^2.0.1:
    -  version "2.0.1"
    -  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
    -  integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
    -  dependencies:
    -    color-name "~1.1.4"
    -
    -color-name@1.1.3:
    -  version "1.1.3"
    -  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
    -  integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
    -
    -color-name@~1.1.4:
    -  version "1.1.4"
    -  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
    -  integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
    -
    -concat-map@0.0.1:
    -  version "0.0.1"
    -  resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
    -  integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
    -
    -contains-path@^0.1.0:
    -  version "0.1.0"
    -  resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
    -  integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=
    -
    -cross-spawn@^7.0.2:
    -  version "7.0.3"
    -  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
    -  integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
    -  dependencies:
    -    path-key "^3.1.0"
    -    shebang-command "^2.0.0"
    -    which "^2.0.1"
    -
    -debug@^2.6.9:
    -  version "2.6.9"
    -  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
    -  integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
    -  dependencies:
    -    ms "2.0.0"
    -
    -debug@^4.0.1, debug@^4.1.1:
    -  version "4.3.1"
    -  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
    -  integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
    -  dependencies:
    -    ms "2.1.2"
    -
    -deep-is@^0.1.3:
    -  version "0.1.3"
    -  resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
    -  integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
    -
    -define-properties@^1.1.3:
    -  version "1.1.3"
    -  resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
    -  integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
    -  dependencies:
    -    object-keys "^1.0.12"
    -
    -doctrine@1.5.0:
    -  version "1.5.0"
    -  resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
    -  integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=
    -  dependencies:
    -    esutils "^2.0.2"
    -    isarray "^1.0.0"
    -
    -doctrine@^3.0.0:
    -  version "3.0.0"
    -  resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
    -  integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
    -  dependencies:
    -    esutils "^2.0.2"
    -
    -emoji-regex@^7.0.1:
    -  version "7.0.3"
    -  resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
    -  integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
    -
    -enquirer@^2.3.5:
    -  version "2.3.6"
    -  resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
    -  integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
    -  dependencies:
    -    ansi-colors "^4.1.1"
    -
    -error-ex@^1.2.0:
    -  version "1.3.2"
    -  resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
    -  integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
    -  dependencies:
    -    is-arrayish "^0.2.1"
    -
    -es-abstract@^1.18.0-next.1:
    -  version "1.18.0-next.1"
    -  resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68"
    -  integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==
    -  dependencies:
    -    es-to-primitive "^1.2.1"
    -    function-bind "^1.1.1"
    -    has "^1.0.3"
    -    has-symbols "^1.0.1"
    -    is-callable "^1.2.2"
    -    is-negative-zero "^2.0.0"
    -    is-regex "^1.1.1"
    -    object-inspect "^1.8.0"
    -    object-keys "^1.1.1"
    -    object.assign "^4.1.1"
    -    string.prototype.trimend "^1.0.1"
    -    string.prototype.trimstart "^1.0.1"
    -
    -es-to-primitive@^1.2.1:
    -  version "1.2.1"
    -  resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
    -  integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
    -  dependencies:
    -    is-callable "^1.1.4"
    -    is-date-object "^1.0.1"
    -    is-symbol "^1.0.2"
    -
    -escape-string-regexp@^1.0.5:
    -  version "1.0.5"
    -  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
    -  integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
    -
    -eslint-config-prettier@^7.0.0:
    -  version "7.0.0"
    -  resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-7.0.0.tgz#c1ae4106f74e6c0357f44adb076771d032ac0e97"
    -  integrity sha512-8Y8lGLVPPZdaNA7JXqnvETVC7IiVRgAP6afQu9gOQRn90YY3otMNh+x7Vr2vMePQntF+5erdSUBqSzCmU/AxaQ==
    -
    -eslint-config-standard@^16.0.2:
    -  version "16.0.2"
    -  resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz#71e91727ac7a203782d0a5ca4d1c462d14e234f6"
    -  integrity sha512-fx3f1rJDsl9bY7qzyX8SAtP8GBSk6MfXFaTfaGgk12aAYW4gJSyRm7dM790L6cbXv63fvjY4XeSzXnb4WM+SKw==
    -
    -eslint-import-resolver-node@^0.3.4:
    -  version "0.3.4"
    -  resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717"
    -  integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==
    -  dependencies:
    -    debug "^2.6.9"
    -    resolve "^1.13.1"
    -
    -eslint-module-utils@^2.6.0:
    -  version "2.6.0"
    -  resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6"
    -  integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==
    -  dependencies:
    -    debug "^2.6.9"
    -    pkg-dir "^2.0.0"
    -
    -eslint-plugin-es@^3.0.0:
    -  version "3.0.1"
    -  resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893"
    -  integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==
    -  dependencies:
    -    eslint-utils "^2.0.0"
    -    regexpp "^3.0.0"
    -
    -eslint-plugin-import@^2.22.1:
    -  version "2.22.1"
    -  resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702"
    -  integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==
    -  dependencies:
    -    array-includes "^3.1.1"
    -    array.prototype.flat "^1.2.3"
    -    contains-path "^0.1.0"
    -    debug "^2.6.9"
    -    doctrine "1.5.0"
    -    eslint-import-resolver-node "^0.3.4"
    -    eslint-module-utils "^2.6.0"
    -    has "^1.0.3"
    -    minimatch "^3.0.4"
    -    object.values "^1.1.1"
    -    read-pkg-up "^2.0.0"
    -    resolve "^1.17.0"
    -    tsconfig-paths "^3.9.0"
    -
    -eslint-plugin-node@^11.1.0:
    -  version "11.1.0"
    -  resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d"
    -  integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==
    -  dependencies:
    -    eslint-plugin-es "^3.0.0"
    -    eslint-utils "^2.0.0"
    -    ignore "^5.1.1"
    -    minimatch "^3.0.4"
    -    resolve "^1.10.1"
    -    semver "^6.1.0"
    -
    -eslint-plugin-promise@^4.2.1:
    -  version "4.2.1"
    -  resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz#845fd8b2260ad8f82564c1222fce44ad71d9418a"
    -  integrity sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==
    -
    -eslint-scope@^5.1.1:
    -  version "5.1.1"
    -  resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
    -  integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
    -  dependencies:
    -    esrecurse "^4.3.0"
    -    estraverse "^4.1.1"
    -
    -eslint-utils@^2.0.0, eslint-utils@^2.1.0:
    -  version "2.1.0"
    -  resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
    -  integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
    -  dependencies:
    -    eslint-visitor-keys "^1.1.0"
    -
    -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
    -  version "1.3.0"
    -  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
    -  integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
    -
    -eslint-visitor-keys@^2.0.0:
    -  version "2.0.0"
    -  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
    -  integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
    -
    -eslint@^7.15.0:
    -  version "7.15.0"
    -  resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.15.0.tgz#eb155fb8ed0865fcf5d903f76be2e5b6cd7e0bc7"
    -  integrity sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==
    -  dependencies:
    -    "@babel/code-frame" "^7.0.0"
    -    "@eslint/eslintrc" "^0.2.2"
    -    ajv "^6.10.0"
    -    chalk "^4.0.0"
    -    cross-spawn "^7.0.2"
    -    debug "^4.0.1"
    -    doctrine "^3.0.0"
    -    enquirer "^2.3.5"
    -    eslint-scope "^5.1.1"
    -    eslint-utils "^2.1.0"
    -    eslint-visitor-keys "^2.0.0"
    -    espree "^7.3.1"
    -    esquery "^1.2.0"
    -    esutils "^2.0.2"
    -    file-entry-cache "^6.0.0"
    -    functional-red-black-tree "^1.0.1"
    -    glob-parent "^5.0.0"
    -    globals "^12.1.0"
    -    ignore "^4.0.6"
    -    import-fresh "^3.0.0"
    -    imurmurhash "^0.1.4"
    -    is-glob "^4.0.0"
    -    js-yaml "^3.13.1"
    -    json-stable-stringify-without-jsonify "^1.0.1"
    -    levn "^0.4.1"
    -    lodash "^4.17.19"
    -    minimatch "^3.0.4"
    -    natural-compare "^1.4.0"
    -    optionator "^0.9.1"
    -    progress "^2.0.0"
    -    regexpp "^3.1.0"
    -    semver "^7.2.1"
    -    strip-ansi "^6.0.0"
    -    strip-json-comments "^3.1.0"
    -    table "^5.2.3"
    -    text-table "^0.2.0"
    -    v8-compile-cache "^2.0.3"
    -
    -espree@^7.3.0, espree@^7.3.1:
    -  version "7.3.1"
    -  resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6"
    -  integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==
    -  dependencies:
    -    acorn "^7.4.0"
    -    acorn-jsx "^5.3.1"
    -    eslint-visitor-keys "^1.3.0"
    -
    -esprima@^4.0.0:
    -  version "4.0.1"
    -  resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
    -  integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
    -
    -esquery@^1.2.0:
    -  version "1.3.1"
    -  resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57"
    -  integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==
    -  dependencies:
    -    estraverse "^5.1.0"
    -
    -esrecurse@^4.3.0:
    -  version "4.3.0"
    -  resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
    -  integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
    -  dependencies:
    -    estraverse "^5.2.0"
    -
    -estraverse@^4.1.1:
    -  version "4.3.0"
    -  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
    -  integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
    -
    -estraverse@^5.1.0, estraverse@^5.2.0:
    -  version "5.2.0"
    -  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
    -  integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
    -
    -esutils@^2.0.2:
    -  version "2.0.3"
    -  resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
    -  integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
    -
    -fast-deep-equal@^3.1.1:
    -  version "3.1.3"
    -  resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
    -  integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
    -
    -fast-json-stable-stringify@^2.0.0:
    -  version "2.1.0"
    -  resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
    -  integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
    -
    -fast-levenshtein@^2.0.6:
    -  version "2.0.6"
    -  resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
    -  integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
    -
    -file-entry-cache@^6.0.0:
    -  version "6.0.0"
    -  resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.0.tgz#7921a89c391c6d93efec2169ac6bf300c527ea0a"
    -  integrity sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==
    -  dependencies:
    -    flat-cache "^3.0.4"
    -
    -find-up@^2.0.0, find-up@^2.1.0:
    -  version "2.1.0"
    -  resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
    -  integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
    -  dependencies:
    -    locate-path "^2.0.0"
    -
    -flat-cache@^3.0.4:
    -  version "3.0.4"
    -  resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
    -  integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
    -  dependencies:
    -    flatted "^3.1.0"
    -    rimraf "^3.0.2"
    -
    -flatted@^3.1.0:
    -  version "3.1.0"
    -  resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067"
    -  integrity sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==
    -
    -fs.realpath@^1.0.0:
    -  version "1.0.0"
    -  resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
    -  integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
    -
    -function-bind@^1.1.1:
    -  version "1.1.1"
    -  resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
    -  integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
    -
    -functional-red-black-tree@^1.0.1:
    -  version "1.0.1"
    -  resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
    -  integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
    -
    -get-intrinsic@^1.0.0, get-intrinsic@^1.0.1:
    -  version "1.0.1"
    -  resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.1.tgz#94a9768fcbdd0595a1c9273aacf4c89d075631be"
    -  integrity sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==
    -  dependencies:
    -    function-bind "^1.1.1"
    -    has "^1.0.3"
    -    has-symbols "^1.0.1"
    -
    -glob-parent@^5.0.0:
    -  version "5.1.1"
    -  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
    -  integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
    -  dependencies:
    -    is-glob "^4.0.1"
    -
    -glob@^7.1.3:
    -  version "7.1.6"
    -  resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
    -  integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
    -  dependencies:
    -    fs.realpath "^1.0.0"
    -    inflight "^1.0.4"
    -    inherits "2"
    -    minimatch "^3.0.4"
    -    once "^1.3.0"
    -    path-is-absolute "^1.0.0"
    -
    -globals@^12.1.0:
    -  version "12.4.0"
    -  resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"
    -  integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==
    -  dependencies:
    -    type-fest "^0.8.1"
    -
    -graceful-fs@^4.1.2:
    -  version "4.2.4"
    -  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
    -  integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
    -
    -has-flag@^3.0.0:
    -  version "3.0.0"
    -  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
    -  integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
    -
    -has-flag@^4.0.0:
    -  version "4.0.0"
    -  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
    -  integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
    -
    -has-symbols@^1.0.1:
    -  version "1.0.1"
    -  resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
    -  integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==
    -
    -has@^1.0.3:
    -  version "1.0.3"
    -  resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
    -  integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
    -  dependencies:
    -    function-bind "^1.1.1"
    -
    -hosted-git-info@^2.1.4:
    -  version "2.8.8"
    -  resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
    -  integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==
    -
    -ignore@^4.0.6:
    -  version "4.0.6"
    -  resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
    -  integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
    -
    -ignore@^5.1.1:
    -  version "5.1.8"
    -  resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
    -  integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
    -
    -import-fresh@^3.0.0, import-fresh@^3.2.1:
    -  version "3.2.2"
    -  resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.2.tgz#fc129c160c5d68235507f4331a6baad186bdbc3e"
    -  integrity sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==
    -  dependencies:
    -    parent-module "^1.0.0"
    -    resolve-from "^4.0.0"
    -
    -imurmurhash@^0.1.4:
    -  version "0.1.4"
    -  resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
    -  integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
    -
    -inflight@^1.0.4:
    -  version "1.0.6"
    -  resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
    -  integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
    -  dependencies:
    -    once "^1.3.0"
    -    wrappy "1"
    -
    -inherits@2:
    -  version "2.0.4"
    -  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
    -  integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
    -
    -is-arrayish@^0.2.1:
    -  version "0.2.1"
    -  resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
    -  integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
    -
    -is-callable@^1.1.4, is-callable@^1.2.2:
    -  version "1.2.2"
    -  resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9"
    -  integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==
    -
    -is-core-module@^2.1.0:
    -  version "2.2.0"
    -  resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a"
    -  integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==
    -  dependencies:
    -    has "^1.0.3"
    -
    -is-date-object@^1.0.1:
    -  version "1.0.2"
    -  resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
    -  integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==
    -
    -is-extglob@^2.1.1:
    -  version "2.1.1"
    -  resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
    -  integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
    -
    -is-fullwidth-code-point@^2.0.0:
    -  version "2.0.0"
    -  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
    -  integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
    -
    -is-glob@^4.0.0, is-glob@^4.0.1:
    -  version "4.0.1"
    -  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
    -  integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
    -  dependencies:
    -    is-extglob "^2.1.1"
    -
    -is-negative-zero@^2.0.0:
    -  version "2.0.1"
    -  resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"
    -  integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==
    -
    -is-regex@^1.1.1:
    -  version "1.1.1"
    -  resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9"
    -  integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==
    -  dependencies:
    -    has-symbols "^1.0.1"
    -
    -is-string@^1.0.5:
    -  version "1.0.5"
    -  resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
    -  integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==
    -
    -is-symbol@^1.0.2:
    -  version "1.0.3"
    -  resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937"
    -  integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==
    -  dependencies:
    -    has-symbols "^1.0.1"
    -
    -isarray@^1.0.0:
    -  version "1.0.0"
    -  resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
    -  integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
    -
    -isexe@^2.0.0:
    -  version "2.0.0"
    -  resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
    -  integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
    -
    -js-tokens@^4.0.0:
    -  version "4.0.0"
    -  resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
    -  integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
    -
    -js-yaml@^3.13.1:
    -  version "3.14.1"
    -  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
    -  integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
    -  dependencies:
    -    argparse "^1.0.7"
    -    esprima "^4.0.0"
    -
    -json-schema-traverse@^0.4.1:
    -  version "0.4.1"
    -  resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
    -  integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
    -
    -json-stable-stringify-without-jsonify@^1.0.1:
    -  version "1.0.1"
    -  resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
    -  integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
    -
    -json5@^1.0.1:
    -  version "1.0.1"
    -  resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
    -  integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
    -  dependencies:
    -    minimist "^1.2.0"
    -
    -levn@^0.4.1:
    -  version "0.4.1"
    -  resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
    -  integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
    -  dependencies:
    -    prelude-ls "^1.2.1"
    -    type-check "~0.4.0"
    -
    -load-json-file@^2.0.0:
    -  version "2.0.0"
    -  resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
    -  integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=
    -  dependencies:
    -    graceful-fs "^4.1.2"
    -    parse-json "^2.2.0"
    -    pify "^2.0.0"
    -    strip-bom "^3.0.0"
    -
    -locate-path@^2.0.0:
    -  version "2.0.0"
    -  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
    -  integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
    -  dependencies:
    -    p-locate "^2.0.0"
    -    path-exists "^3.0.0"
    -
    -lodash@^4.17.14, lodash@^4.17.19:
    -  version "4.17.20"
    -  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
    -  integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
    -
    -lru-cache@^6.0.0:
    -  version "6.0.0"
    -  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
    -  integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
    -  dependencies:
    -    yallist "^4.0.0"
    -
    -minimatch@^3.0.4:
    -  version "3.0.4"
    -  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
    -  integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
    -  dependencies:
    -    brace-expansion "^1.1.7"
    -
    -minimist@^1.2.0:
    -  version "1.2.5"
    -  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
    -  integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
    -
    -ms@2.0.0:
    -  version "2.0.0"
    -  resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
    -  integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
    -
    -ms@2.1.2:
    -  version "2.1.2"
    -  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
    -  integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
    -
    -natural-compare@^1.4.0:
    -  version "1.4.0"
    -  resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
    -  integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
    -
    -normalize-package-data@^2.3.2:
    -  version "2.5.0"
    -  resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
    -  integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
    -  dependencies:
    -    hosted-git-info "^2.1.4"
    -    resolve "^1.10.0"
    -    semver "2 || 3 || 4 || 5"
    -    validate-npm-package-license "^3.0.1"
    -
    -object-inspect@^1.8.0:
    -  version "1.9.0"
    -  resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a"
    -  integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==
    -
    -object-keys@^1.0.12, object-keys@^1.1.1:
    -  version "1.1.1"
    -  resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
    -  integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
    -
    -object.assign@^4.1.1:
    -  version "4.1.2"
    -  resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
    -  integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
    -  dependencies:
    -    call-bind "^1.0.0"
    -    define-properties "^1.1.3"
    -    has-symbols "^1.0.1"
    -    object-keys "^1.1.1"
    -
    -object.values@^1.1.1:
    -  version "1.1.2"
    -  resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.2.tgz#7a2015e06fcb0f546bd652486ce8583a4731c731"
    -  integrity sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==
    -  dependencies:
    -    call-bind "^1.0.0"
    -    define-properties "^1.1.3"
    -    es-abstract "^1.18.0-next.1"
    -    has "^1.0.3"
    -
    -once@^1.3.0:
    -  version "1.4.0"
    -  resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
    -  integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
    -  dependencies:
    -    wrappy "1"
    -
    -optionator@^0.9.1:
    -  version "0.9.1"
    -  resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
    -  integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
    -  dependencies:
    -    deep-is "^0.1.3"
    -    fast-levenshtein "^2.0.6"
    -    levn "^0.4.1"
    -    prelude-ls "^1.2.1"
    -    type-check "^0.4.0"
    -    word-wrap "^1.2.3"
    -
    -p-limit@^1.1.0:
    -  version "1.3.0"
    -  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
    -  integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
    -  dependencies:
    -    p-try "^1.0.0"
    -
    -p-locate@^2.0.0:
    -  version "2.0.0"
    -  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
    -  integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
    -  dependencies:
    -    p-limit "^1.1.0"
    -
    -p-try@^1.0.0:
    -  version "1.0.0"
    -  resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
    -  integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
    -
    -parent-module@^1.0.0:
    -  version "1.0.1"
    -  resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
    -  integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
    -  dependencies:
    -    callsites "^3.0.0"
    -
    -parse-json@^2.2.0:
    -  version "2.2.0"
    -  resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
    -  integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=
    -  dependencies:
    -    error-ex "^1.2.0"
    -
    -path-exists@^3.0.0:
    -  version "3.0.0"
    -  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
    -  integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
    -
    -path-is-absolute@^1.0.0:
    -  version "1.0.1"
    -  resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
    -  integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
    -
    -path-key@^3.1.0:
    -  version "3.1.1"
    -  resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
    -  integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
    -
    -path-parse@^1.0.6:
    -  version "1.0.6"
    -  resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
    -  integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
    -
    -path-type@^2.0.0:
    -  version "2.0.0"
    -  resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
    -  integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=
    -  dependencies:
    -    pify "^2.0.0"
    -
    -pify@^2.0.0:
    -  version "2.3.0"
    -  resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
    -  integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
    -
    -pkg-dir@^2.0.0:
    -  version "2.0.0"
    -  resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
    -  integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=
    -  dependencies:
    -    find-up "^2.1.0"
    -
    -prelude-ls@^1.2.1:
    -  version "1.2.1"
    -  resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
    -  integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
    -
    -prettier@^2.2.1:
    -  version "2.2.1"
    -  resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5"
    -  integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==
    -
    -progress@^2.0.0:
    -  version "2.0.3"
    -  resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
    -  integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
    -
    -punycode@^2.1.0:
    -  version "2.1.1"
    -  resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
    -  integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
    -
    -read-pkg-up@^2.0.0:
    -  version "2.0.0"
    -  resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
    -  integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=
    -  dependencies:
    -    find-up "^2.0.0"
    -    read-pkg "^2.0.0"
    -
    -read-pkg@^2.0.0:
    -  version "2.0.0"
    -  resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
    -  integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=
    -  dependencies:
    -    load-json-file "^2.0.0"
    -    normalize-package-data "^2.3.2"
    -    path-type "^2.0.0"
    -
    -regexpp@^3.0.0, regexpp@^3.1.0:
    -  version "3.1.0"
    -  resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
    -  integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
    -
    -resolve-from@^4.0.0:
    -  version "4.0.0"
    -  resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
    -  integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
    -
    -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.13.1, resolve@^1.17.0:
    -  version "1.19.0"
    -  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c"
    -  integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==
    -  dependencies:
    -    is-core-module "^2.1.0"
    -    path-parse "^1.0.6"
    -
    -rimraf@^3.0.2:
    -  version "3.0.2"
    -  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
    -  integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
    -  dependencies:
    -    glob "^7.1.3"
    -
    -"semver@2 || 3 || 4 || 5":
    -  version "5.7.1"
    -  resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
    -  integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
    -
    -semver@^6.1.0:
    -  version "6.3.0"
    -  resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
    -  integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
    -
    -semver@^7.2.1:
    -  version "7.3.4"
    -  resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97"
    -  integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==
    -  dependencies:
    -    lru-cache "^6.0.0"
    -
    -shebang-command@^2.0.0:
    -  version "2.0.0"
    -  resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
    -  integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
    -  dependencies:
    -    shebang-regex "^3.0.0"
    -
    -shebang-regex@^3.0.0:
    -  version "3.0.0"
    -  resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
    -  integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
    -
    -slice-ansi@^2.1.0:
    -  version "2.1.0"
    -  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
    -  integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==
    -  dependencies:
    -    ansi-styles "^3.2.0"
    -    astral-regex "^1.0.0"
    -    is-fullwidth-code-point "^2.0.0"
    -
    -spdx-correct@^3.0.0:
    -  version "3.1.1"
    -  resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
    -  integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==
    -  dependencies:
    -    spdx-expression-parse "^3.0.0"
    -    spdx-license-ids "^3.0.0"
    -
    -spdx-exceptions@^2.1.0:
    -  version "2.3.0"
    -  resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d"
    -  integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
    -
    -spdx-expression-parse@^3.0.0:
    -  version "3.0.1"
    -  resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"
    -  integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==
    -  dependencies:
    -    spdx-exceptions "^2.1.0"
    -    spdx-license-ids "^3.0.0"
    -
    -spdx-license-ids@^3.0.0:
    -  version "3.0.7"
    -  resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65"
    -  integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==
    -
    -sprintf-js@~1.0.2:
    -  version "1.0.3"
    -  resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
    -  integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
    -
    -string-width@^3.0.0:
    -  version "3.1.0"
    -  resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
    -  integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
    -  dependencies:
    -    emoji-regex "^7.0.1"
    -    is-fullwidth-code-point "^2.0.0"
    -    strip-ansi "^5.1.0"
    -
    -string.prototype.trimend@^1.0.1:
    -  version "1.0.3"
    -  resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b"
    -  integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==
    -  dependencies:
    -    call-bind "^1.0.0"
    -    define-properties "^1.1.3"
    -
    -string.prototype.trimstart@^1.0.1:
    -  version "1.0.3"
    -  resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa"
    -  integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==
    -  dependencies:
    -    call-bind "^1.0.0"
    -    define-properties "^1.1.3"
    -
    -strip-ansi@^5.1.0:
    -  version "5.2.0"
    -  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
    -  integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
    -  dependencies:
    -    ansi-regex "^4.1.0"
    -
    -strip-ansi@^6.0.0:
    -  version "6.0.0"
    -  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
    -  integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
    -  dependencies:
    -    ansi-regex "^5.0.0"
    -
    -strip-bom@^3.0.0:
    -  version "3.0.0"
    -  resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
    -  integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
    -
    -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
    -  version "3.1.1"
    -  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
    -  integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
    -
    -supports-color@^5.3.0:
    -  version "5.5.0"
    -  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
    -  integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
    -  dependencies:
    -    has-flag "^3.0.0"
    -
    -supports-color@^7.1.0:
    -  version "7.2.0"
    -  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
    -  integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
    -  dependencies:
    -    has-flag "^4.0.0"
    -
    -table@^5.2.3:
    -  version "5.4.6"
    -  resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e"
    -  integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==
    -  dependencies:
    -    ajv "^6.10.2"
    -    lodash "^4.17.14"
    -    slice-ansi "^2.1.0"
    -    string-width "^3.0.0"
    -
    -text-table@^0.2.0:
    -  version "0.2.0"
    -  resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
    -  integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
    -
    -tsconfig-paths@^3.9.0:
    -  version "3.9.0"
    -  resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b"
    -  integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==
    -  dependencies:
    -    "@types/json5" "^0.0.29"
    -    json5 "^1.0.1"
    -    minimist "^1.2.0"
    -    strip-bom "^3.0.0"
    -
    -type-check@^0.4.0, type-check@~0.4.0:
    -  version "0.4.0"
    -  resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
    -  integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
    -  dependencies:
    -    prelude-ls "^1.2.1"
    -
    -type-fest@^0.8.1:
    -  version "0.8.1"
    -  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
    -  integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
    -
    -uri-js@^4.2.2:
    -  version "4.4.0"
    -  resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602"
    -  integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==
    -  dependencies:
    -    punycode "^2.1.0"
    -
    -v8-compile-cache@^2.0.3:
    -  version "2.2.0"
    -  resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132"
    -  integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==
    -
    -validate-npm-package-license@^3.0.1:
    -  version "3.0.4"
    -  resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
    -  integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
    -  dependencies:
    -    spdx-correct "^3.0.0"
    -    spdx-expression-parse "^3.0.0"
    -
    -which@^2.0.1:
    -  version "2.0.2"
    -  resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
    -  integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
    -  dependencies:
    -    isexe "^2.0.0"
    -
    -word-wrap@^1.2.3:
    -  version "1.2.3"
    -  resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
    -  integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
    -
    -wrappy@1:
    -  version "1.0.2"
    -  resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
    -  integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
    -
    -yallist@^4.0.0:
    -  version "4.0.0"
    -  resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
    -  integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
    

Vulnerability mechanics

Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

8

News mentions

0

No linked articles in our index yet.