├── .github ├── funding.yml └── workflows │ └── build.yml ├── .gitignore ├── .husky ├── .gitignore └── pre-commit ├── LICENSE.md ├── README.md ├── package.json ├── src ├── cli.ts ├── create-ffmpeg-shell-commands │ ├── create-ffmpeg-flags │ │ ├── __tests__ │ │ │ ├── crop.ts │ │ │ ├── format.ts │ │ │ ├── fps.ts │ │ │ ├── resize.ts │ │ │ ├── reverse.ts │ │ │ ├── rotate.ts │ │ │ ├── speed.ts │ │ │ ├── trim.ts │ │ │ └── volume.ts │ │ ├── create-ffmpeg-flags.ts │ │ ├── default-options.ts │ │ └── utilities │ │ │ ├── format-float.ts │ │ │ ├── map-rotate-option-to-video-filter.ts │ │ │ ├── map-speed-option-to-audio-filter.ts │ │ │ └── map-speed-option-to-video-filter.ts │ └── create-ffmpeg-shell-commands.ts ├── escape-file-path.ts ├── execute-shell-commands.ts ├── parse-option-value │ ├── parse-crop-value.ts │ ├── parse-resize-value.ts │ └── parse-trim-value.ts ├── types.ts └── vdx.ts ├── tsconfig.json └── yarn.lock /.github/funding.yml: -------------------------------------------------------------------------------- 1 | custom: https://paypal.me/yuanqinglim 2 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: build 2 | 3 | on: push 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - uses: actions/checkout@v2 10 | - uses: actions/setup-node@v2 11 | with: 12 | node-version: 14 13 | - run: yarn install --frozen-lockfile 14 | - run: yarn run lint 15 | - run: yarn run fix 16 | - run: yarn run test 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .nyc_output/ 3 | build/ 4 | coverage/ 5 | lib/ 6 | node_modules/ 7 | sandbox/ 8 | *.log 9 | -------------------------------------------------------------------------------- /.husky/.gitignore: -------------------------------------------------------------------------------- 1 | _ 2 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | yarn run lint-staged 5 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) Yuan Qing Lim 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vdx [![npm Version](https://img.shields.io/npm/v/vdx?cacheSeconds=1800)](https://www.npmjs.org/package/vdx) [![build](https://github.com/yuanqing/vdx/workflows/build/badge.svg)](https://github.com/yuanqing/vdx/actions?query=workflow%3Abuild) 2 | 3 | > An intuitive CLI for processing video, powered by [FFmpeg](https://ffmpeg.org) 4 | 5 | - Crop, trim, resize, reverse, rotate, remove audio, change the speed, change the frame rate, change the volume, convert to a different file format 6 | - Run multiple operations on multiple video files concurrently 7 | 8 | ## Quick start 9 | 10 | *Requires [FFmpeg](https://ffmpeg.org) and [Node.js](https://nodejs.org).* 11 | 12 | ```sh 13 | $ npm install --global vdx 14 | ``` 15 | 16 | A variety of common video processing operations are supported: 17 | 18 | ```sh 19 | $ vdx '*.mov' --crop 360,640 # Crop to width 360, height 640 20 | $ vdx '*.mov' --format gif # Convert to GIF 21 | $ vdx '*.mov' --fps 12 # Change the frame rate to 12 22 | $ vdx '*.mov' --no-audio # Remove audio 23 | $ vdx '*.mov' --resize 360,-1 # Resize to width 360, maintaining the aspect ratio 24 | $ vdx '*.mov' --reverse # Reverse 25 | $ vdx '*.mov' --rotate 90 # Rotate 90 degrees clockwise 26 | $ vdx '*.mov' --speed 2 # Double the speed 27 | $ vdx '*.mov' --trim 0:05,0:10 # Trim from 0:05 to 0:10 28 | $ vdx '*.mov' --volume 0.5 # Halve the volume 29 | ``` 30 | 31 | We can also run multiple operations all at once: 32 | 33 | ```sh 34 | $ vdx '*.mov' --format gif --fps 12 --resize 360,640 --speed 2 --trim 0:05,0:10 35 | ``` 36 | 37 | By default, the processed files will be written to a directory called `./build`. To change this, use the `--output` option: 38 | 39 | ```sh 40 | $ vdx '*.mov' --format gif --output './gifs' 41 | ``` 42 | 43 | By default, up to 3 video files will be processed concurrently. To change this, use the `--parallel` option: 44 | 45 | ```sh 46 | $ vdx '*.mov' --format gif --output './gifs' --parallel 5 47 | ``` 48 | 49 | ## Usage 50 | 51 | ``` 52 | Usage: vdx [options] 53 | ``` 54 | 55 | ### <files> 56 | 57 | One or more globs of video files to process. 58 | 59 | ### [options] 60 | 61 | Use the `-d` or `--debug` option to print the underlying FFmpeg commands that are being run. 62 | 63 | #### -c, --crop 64 | 65 | Crop the video to `,` or `,,,`. 66 | 67 | ```sh 68 | # Crop to width 360, height 640 69 | $ vdx '*.mov' --crop 360,640 70 | 71 | # Crop to width 360, height 640, starting from coordinates (10, 20) 72 | $ vdx '*.mov' --crop 10,20,360,640 73 | ``` 74 | 75 | #### -f, --format 76 | 77 | Convert the video to a different file format. 78 | 79 | ```sh 80 | # Convert to GIF 81 | $ vdx '*.mov' --format gif 82 | ``` 83 | 84 | #### -fp, --fps 85 | 86 | Change the frame rate of the video. 87 | 88 | ```sh 89 | # Change the frame rate to 12 90 | $ vdx '*.mov' --fps 12 91 | ``` 92 | 93 | #### --no-audio 94 | 95 | Remove audio from the video. 96 | 97 | ```sh 98 | # Remove audio 99 | $ vdx '*.mov' --no-audio 100 | ``` 101 | 102 | #### -o, --output 103 | 104 | Set the output directory. Defaults to `./build`. 105 | 106 | ```sh 107 | # Output files to './gifs' 108 | $ vdx '*.mov' --format gif --output './gifs' 109 | ``` 110 | 111 | #### -p, --parallel 112 | 113 | Set the maximum number of video files to process concurrently. Defaults to `3`. 114 | 115 | ```sh 116 | # Process up to 5 files concurrently 117 | $ vdx '*.mov' --format gif --parallel 5 118 | ``` 119 | 120 | #### -r, --resize 121 | 122 | Resize the video to `,`. Set either `` or `` to `-1` to maintain the aspect ratio. 123 | 124 | ```sh 125 | # Resize to width 360, height 640 126 | $ vdx '*.mov' --resize 360,640 127 | 128 | # Resize to width 360, maintaining the aspect ratio 129 | $ vdx '*.mov' --resize 360,-1 130 | 131 | # Resize to height 640, maintaining the aspect ratio 132 | $ vdx '*.mov' --resize -1,640 133 | ``` 134 | 135 | #### -rv, --reverse 136 | 137 | Reverse the video. 138 | 139 | ```sh 140 | # Reverse 141 | $ vdx '*.mov' --reverse 142 | ``` 143 | 144 | #### -ro, --rotate 145 | 146 | Rotate the video by `-90`, `90`, or `180` degrees. 147 | 148 | ```sh 149 | # Rotate 90 degrees clockwise 150 | $ vdx '*.mov' --rotate 90 151 | 152 | # Rotate 90 degrees counter-clockwise 153 | $ vdx '*.mov' --rotate -90 154 | 155 | # Rotate 180 degrees 156 | $ vdx '*.mov' --rotate 180 157 | ``` 158 | 159 | #### -s, --speed 160 | 161 | Change the speed of the video. To slow down, set to a number greater than `0` and less than `1`. To speed up, set to a number greater than `1`. 162 | 163 | ```sh 164 | # Halve the speed 165 | $ vdx '*.mov' --speed 0.5 166 | 167 | # Double the speed 168 | $ vdx '*.mov' --speed 2 169 | ``` 170 | 171 | #### -t, --trim 172 | 173 | Trim to `,` where `` and `` are timestamps in the format `HH:MM` or `HH:MM.mmm`. Omit `` to trim from `` to the end of the video. 174 | 175 | ```sh 176 | # Trim from 0:05 to 0:10 177 | $ vdx '*.mov' --trim 0:05,0:10 178 | 179 | # Trim from 0:05 to the end of the video 180 | $ vdx '*.mov' --trim 0:05 181 | ``` 182 | 183 | #### -vo, --volume 184 | 185 | Change the volume of the video. To remove audio from the video, set to `0`. To decrease the volume, set to a number greater than `0` and less than `1`. To increase the volume, set to a number greater than `1`. 186 | 187 | ```sh 188 | # Remove audio from the video 189 | $ vdx '*.mov' --volume 0 190 | 191 | # Halve the volume 192 | $ vdx '*.mov' --volume 0.5 193 | 194 | # Double the volume 195 | $ vdx '*.mov' --volume 2 196 | ``` 197 | 198 | ## Installation 199 | 200 | ```sh 201 | $ npm install --global vdx 202 | ``` 203 | 204 | ## Prior art 205 | 206 | - [fluent-ffmpeg](https://github.com/fluent-ffmpeg/node-fluent-ffmpeg) 207 | 208 | ## See also 209 | 210 | - [FFmpeg Cheatsheet](https://github.com/yuanqing/ffmpeg-cheatsheet) 211 | 212 | ## License 213 | 214 | [MIT](/LICENSE.md) 215 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vdx", 3 | "version": "0.0.11", 4 | "description": "An intuitive CLI for processing video, powered by FFmpeg", 5 | "keywords": [ 6 | "ffmpeg", 7 | "gif", 8 | "video" 9 | ], 10 | "author": "Yuan Qing Lim", 11 | "license": "MIT", 12 | "repository": { 13 | "type": "git", 14 | "url": "git://github.com/yuanqing/vdx.git" 15 | }, 16 | "files": [ 17 | "lib" 18 | ], 19 | "bin": { 20 | "vdx": "lib/cli.js" 21 | }, 22 | "scripts": { 23 | "build": "yarn run clean && tsc", 24 | "clean": "rimraf '*.log' .nyc_output build coverage lib", 25 | "coverage": "rimraf .nyc_output coverage && nyc --reporter=html --reporter=lcov --reporter=text yarn run test", 26 | "fix": "eslint --fix 'src/**/*.ts'", 27 | "lint": "eslint 'src/**/*.ts'", 28 | "postinstall": "husky install && yarn run build", 29 | "prepublishOnly": "pinst --disable && yarn run build", 30 | "postpublish": "pinst --enable", 31 | "reset": "yarn run clean && rimraf node_modules yarn.lock && yarn install", 32 | "test": "tap 'src/**/__tests__/**/*.ts' --coverage-report html --coverage-report text --jobs-auto --no-browser --reporter terse", 33 | "watch": "yarn run clean && tsc --watch" 34 | }, 35 | "dependencies": { 36 | "@yuanqing/cli": "^0.0.9", 37 | "globby": "^11.0.2", 38 | "kleur": "^4.1.4", 39 | "p-all": "^3.0.0" 40 | }, 41 | "devDependencies": { 42 | "@types/node": "^14.14.31", 43 | "@types/tap": "^14.10.2", 44 | "eslint": "^7.20.0", 45 | "eslint-config-yuanqing": "^0.0.4", 46 | "husky": "^5.1.1", 47 | "lint-staged": "^10.5.4", 48 | "pinst": "^2.1.6", 49 | "prettier": "^2.2.1", 50 | "rimraf": "^3.0.2", 51 | "tap": "^14.11.0", 52 | "typescript": "^4.2.2" 53 | }, 54 | "eslintConfig": { 55 | "extends": "eslint-config-yuanqing" 56 | }, 57 | "lint-staged": { 58 | "*.ts": [ 59 | "eslint" 60 | ] 61 | }, 62 | "prettier": "eslint-config-yuanqing/prettier" 63 | } 64 | -------------------------------------------------------------------------------- /src/cli.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | import { createCli } from '@yuanqing/cli' 4 | 5 | import { parseCropValue } from './parse-option-value/parse-crop-value' 6 | import { parseResizeValue } from './parse-option-value/parse-resize-value' 7 | import { parseTrimValue } from './parse-option-value/parse-trim-value' 8 | import { Options } from './types' 9 | import { vdx } from './vdx' 10 | 11 | const packageJson = require('../package.json') 12 | 13 | const cliConfig = { 14 | name: packageJson.name, 15 | version: packageJson.version 16 | } 17 | 18 | const commandConfig = { 19 | description: `${packageJson.description}.`, 20 | examples: [ 21 | "'*.mov' --crop 360,640", 22 | "'*.mov' --format gif", 23 | "'*.mov' --fps 12", 24 | "'*.mov' --no-audio", 25 | "'*.mov' --resize 360,-1", 26 | "'*.mov' --reverse", 27 | "'*.mov' --rotate 90", 28 | "'*.mov' --speed 2", 29 | "'*.mov' --trim 0:05,0:10", 30 | "'*.mov' --volume 0.5" 31 | ], 32 | options: [ 33 | { 34 | aliases: ['c'], 35 | default: null, 36 | description: 37 | 'Crop the video to , or ,,,.', 38 | name: 'crop', 39 | type: parseCropValue 40 | }, 41 | { 42 | aliases: ['d'], 43 | default: false, 44 | description: 'Print the underlying FFmpeg commands that are being run.', 45 | name: 'debug', 46 | type: 'BOOLEAN' 47 | }, 48 | { 49 | aliases: ['f'], 50 | default: null, 51 | description: 'Convert the video to a different file format.', 52 | name: 'format', 53 | type: 'STRING' 54 | }, 55 | { 56 | aliases: ['fp'], 57 | default: null, 58 | description: 'Change the frame rate of the video.', 59 | name: 'fps', 60 | type: 'NON_ZERO_POSITIVE_INTEGER' 61 | }, 62 | { 63 | aliases: ['o'], 64 | default: 'build', 65 | description: "Set the output directory. Defaults to './build'.", 66 | name: 'output', 67 | type: 'STRING' 68 | }, 69 | { 70 | aliases: ['p'], 71 | default: 3, 72 | description: 73 | "Set the maximum number of video files to process concurrently. Defaults to '3'.", 74 | name: 'parallel', 75 | type: 'NON_ZERO_POSITIVE_INTEGER' 76 | }, 77 | { 78 | aliases: ['r'], 79 | default: null, 80 | description: 81 | "Resize the video to ,. Set either or to '-1' to maintain the aspect ratio.", 82 | name: 'resize', 83 | type: parseResizeValue 84 | }, 85 | { 86 | aliases: ['rv'], 87 | default: false, 88 | description: 'Reverse the video.', 89 | name: 'reverse', 90 | type: 'BOOLEAN' 91 | }, 92 | { 93 | aliases: ['ro'], 94 | default: null, 95 | description: "Rotate the video by '-90', '90', or '180' degrees.", 96 | name: 'rotate', 97 | type: ['-90', '90', '180'] 98 | }, 99 | { 100 | aliases: ['s'], 101 | default: null, 102 | description: 103 | "Change the speed of the video. To slow down, set to a number greater than '0' and less than '1'. To speed up, set to a number greater than '1'.", 104 | name: 'speed', 105 | type: 'NON_ZERO_POSITIVE_NUMBER' 106 | }, 107 | { 108 | aliases: ['t'], 109 | default: null, 110 | description: 111 | "Trim to , where and are timestamps in the format 'HH:MM' or 'HH:MM.mmm'. Omit to trim from to the end of the video.", 112 | name: 'trim', 113 | type: parseTrimValue 114 | }, 115 | { 116 | aliases: ['vo'], 117 | default: null, 118 | description: 119 | "Change the volume of the video. To remove audio from the video, set to '0'. To decrease the volume, set to a number greater than '0' and less than '1'. To increase the volume, set to a number greater than '1'.", 120 | name: 'volume', 121 | type: 'POSITIVE_NUMBER' 122 | } 123 | ], 124 | positionals: [ 125 | { 126 | description: 'One or more globs of video files to process.', 127 | name: 'files', 128 | required: true, 129 | type: 'STRING' 130 | } 131 | ], 132 | shorthands: { 133 | 'gif': ['--format', 'gif'], 134 | 'mov': ['--format', 'mov'], 135 | 'mp4': ['--format', 'mp4'], 136 | 'no-audio': ['--volume', '0'] 137 | } 138 | } 139 | 140 | async function main() { 141 | try { 142 | const result = createCli(cliConfig, commandConfig)(process.argv.slice(2)) 143 | if (typeof result !== 'undefined') { 144 | const { positionals, options, remainder } = result 145 | const globPatterns = [positionals.files as string, ...remainder] 146 | await vdx(globPatterns, options as Options) 147 | } 148 | } catch (error) { 149 | // eslint-disable-next-line no-console 150 | console.error(`${packageJson.name}: ${error.message}`) 151 | process.exit(1) 152 | } 153 | } 154 | main() 155 | -------------------------------------------------------------------------------- /src/create-ffmpeg-shell-commands/create-ffmpeg-flags/__tests__/crop.ts: -------------------------------------------------------------------------------- 1 | import { test } from 'tap' 2 | 3 | import { createFFmpegFlags } from '../create-ffmpeg-flags' 4 | import { defaultOptions } from '../default-options' 5 | 6 | test('crop to the specified width and height, starting from coordinates (x, y)', function (t) { 7 | t.plan(1) 8 | const flags = createFFmpegFlags('video.mov', { 9 | ...defaultOptions, 10 | crop: { 11 | height: '640', 12 | width: '360', 13 | x: '10', 14 | y: '20' 15 | } 16 | }) 17 | t.deepEqual(flags, { 18 | 'an': null, 19 | 'codec:a': 'copy', 20 | 'codec:v': null, 21 | 'filter:a': [], 22 | 'filter:v': ['crop=360:640:10:20'], 23 | 'i': 'video.mov', 24 | 'ss': null, 25 | 'to': null 26 | }) 27 | }) 28 | -------------------------------------------------------------------------------- /src/create-ffmpeg-shell-commands/create-ffmpeg-flags/__tests__/format.ts: -------------------------------------------------------------------------------- 1 | import { test } from 'tap' 2 | 3 | import { createFFmpegFlags } from '../create-ffmpeg-flags' 4 | import { defaultOptions } from '../default-options' 5 | 6 | test('no-op', function (t) { 7 | t.plan(1) 8 | const flags = createFFmpegFlags('video.mov', { 9 | ...defaultOptions, 10 | format: 'mov' 11 | }) 12 | t.deepEqual(flags, { 13 | 'an': null, 14 | 'codec:a': 'copy', 15 | 'codec:v': 'copy', 16 | 'filter:a': [], 17 | 'filter:v': [], 18 | 'i': 'video.mov', 19 | 'ss': null, 20 | 'to': null 21 | }) 22 | }) 23 | 24 | test('convert to GIF', function (t) { 25 | t.plan(1) 26 | const flags = createFFmpegFlags('video.mov', { 27 | ...defaultOptions, 28 | format: 'gif' 29 | }) 30 | t.deepEqual(flags, { 31 | 'an': null, 32 | 'codec:a': null, 33 | 'codec:v': null, 34 | 'filter:a': [], 35 | 'filter:v': [], 36 | 'i': 'video.mov', 37 | 'ss': null, 38 | 'to': null 39 | }) 40 | }) 41 | -------------------------------------------------------------------------------- /src/create-ffmpeg-shell-commands/create-ffmpeg-flags/__tests__/fps.ts: -------------------------------------------------------------------------------- 1 | import { test } from 'tap' 2 | 3 | import { createFFmpegFlags } from '../create-ffmpeg-flags' 4 | import { defaultOptions } from '../default-options' 5 | 6 | test('change the frame rate', function (t) { 7 | t.plan(1) 8 | const flags = createFFmpegFlags('video.mov', { 9 | ...defaultOptions, 10 | fps: 12 11 | }) 12 | t.deepEqual(flags, { 13 | 'an': null, 14 | 'codec:a': 'copy', 15 | 'codec:v': null, 16 | 'filter:a': [], 17 | 'filter:v': ['fps=fps=12'], 18 | 'i': 'video.mov', 19 | 'ss': null, 20 | 'to': null 21 | }) 22 | }) 23 | -------------------------------------------------------------------------------- /src/create-ffmpeg-shell-commands/create-ffmpeg-flags/__tests__/resize.ts: -------------------------------------------------------------------------------- 1 | import { test } from 'tap' 2 | 3 | import { createFFmpegFlags } from '../create-ffmpeg-flags' 4 | import { defaultOptions } from '../default-options' 5 | 6 | test('resize to the specified width, retaining aspect ratio', function (t) { 7 | t.plan(1) 8 | const flags = createFFmpegFlags('video.mov', { 9 | ...defaultOptions, 10 | resize: { 11 | height: '-1', 12 | width: '360' 13 | } 14 | }) 15 | t.deepEqual(flags, { 16 | 'an': null, 17 | 'codec:a': 'copy', 18 | 'codec:v': null, 19 | 'filter:a': [], 20 | 'filter:v': ['scale=360:-1'], 21 | 'i': 'video.mov', 22 | 'ss': null, 23 | 'to': null 24 | }) 25 | }) 26 | 27 | test('resize to the specified height, retaining aspect ratio', function (t) { 28 | t.plan(1) 29 | const flags = createFFmpegFlags('video.mov', { 30 | ...defaultOptions, 31 | resize: { 32 | height: '640', 33 | width: '-1' 34 | } 35 | }) 36 | t.deepEqual(flags, { 37 | 'an': null, 38 | 'codec:a': 'copy', 39 | 'codec:v': null, 40 | 'filter:a': [], 41 | 'filter:v': ['scale=-1:640'], 42 | 'i': 'video.mov', 43 | 'ss': null, 44 | 'to': null 45 | }) 46 | }) 47 | 48 | test('resize to the specified width and height', function (t) { 49 | t.plan(1) 50 | const flags = createFFmpegFlags('video.mov', { 51 | ...defaultOptions, 52 | resize: { 53 | height: '640', 54 | width: '360' 55 | } 56 | }) 57 | t.deepEqual(flags, { 58 | 'an': null, 59 | 'codec:a': 'copy', 60 | 'codec:v': null, 61 | 'filter:a': [], 62 | 'filter:v': ['scale=360:640'], 63 | 'i': 'video.mov', 64 | 'ss': null, 65 | 'to': null 66 | }) 67 | }) 68 | -------------------------------------------------------------------------------- /src/create-ffmpeg-shell-commands/create-ffmpeg-flags/__tests__/reverse.ts: -------------------------------------------------------------------------------- 1 | import { test } from 'tap' 2 | 3 | import { createFFmpegFlags } from '../create-ffmpeg-flags' 4 | import { defaultOptions } from '../default-options' 5 | 6 | test('reverse the video', function (t) { 7 | t.plan(1) 8 | const flags = createFFmpegFlags('video.mov', { 9 | ...defaultOptions, 10 | reverse: true 11 | }) 12 | t.deepEqual(flags, { 13 | 'an': null, 14 | 'codec:a': null, 15 | 'codec:v': null, 16 | 'filter:a': ['areverse'], 17 | 'filter:v': ['reverse'], 18 | 'i': 'video.mov', 19 | 'ss': null, 20 | 'to': null 21 | }) 22 | }) 23 | -------------------------------------------------------------------------------- /src/create-ffmpeg-shell-commands/create-ffmpeg-flags/__tests__/rotate.ts: -------------------------------------------------------------------------------- 1 | import { test } from 'tap' 2 | 3 | import { createFFmpegFlags } from '../create-ffmpeg-flags' 4 | import { defaultOptions } from '../default-options' 5 | 6 | test('90 degrees counter-clockwise', function (t) { 7 | t.plan(1) 8 | const flags = createFFmpegFlags('video.mov', { 9 | ...defaultOptions, 10 | rotate: '-90' 11 | }) 12 | t.deepEqual(flags, { 13 | 'an': null, 14 | 'codec:a': 'copy', 15 | 'codec:v': null, 16 | 'filter:a': [], 17 | 'filter:v': ['transpose=2'], 18 | 'i': 'video.mov', 19 | 'ss': null, 20 | 'to': null 21 | }) 22 | }) 23 | 24 | test('90 degrees clockwise', function (t) { 25 | t.plan(1) 26 | const flags = createFFmpegFlags('video.mov', { 27 | ...defaultOptions, 28 | rotate: '90' 29 | }) 30 | t.deepEqual(flags, { 31 | 'an': null, 32 | 'codec:a': 'copy', 33 | 'codec:v': null, 34 | 'filter:a': [], 35 | 'filter:v': ['transpose=1'], 36 | 'i': 'video.mov', 37 | 'ss': null, 38 | 'to': null 39 | }) 40 | }) 41 | 42 | test('180 degrees', function (t) { 43 | t.plan(1) 44 | const flags = createFFmpegFlags('video.mov', { 45 | ...defaultOptions, 46 | rotate: '180' 47 | }) 48 | t.deepEqual(flags, { 49 | 'an': null, 50 | 'codec:a': 'copy', 51 | 'codec:v': null, 52 | 'filter:a': [], 53 | 'filter:v': ['transpose=1,transpose=1'], 54 | 'i': 'video.mov', 55 | 'ss': null, 56 | 'to': null 57 | }) 58 | }) 59 | -------------------------------------------------------------------------------- /src/create-ffmpeg-shell-commands/create-ffmpeg-flags/__tests__/speed.ts: -------------------------------------------------------------------------------- 1 | import { test } from 'tap' 2 | 3 | import { createFFmpegFlags } from '../create-ffmpeg-flags' 4 | import { defaultOptions } from '../default-options' 5 | 6 | test('quarter the speed', function (t) { 7 | t.plan(1) 8 | const flags = createFFmpegFlags('video.mov', { 9 | ...defaultOptions, 10 | speed: 0.25 11 | }) 12 | t.deepEqual(flags, { 13 | 'an': null, 14 | 'codec:a': null, 15 | 'codec:v': null, 16 | 'filter:a': ['atempo=0.5,atempo=0.5'], 17 | 'filter:v': ['setpts=4.0*PTS'], 18 | 'i': 'video.mov', 19 | 'ss': null, 20 | 'to': null 21 | }) 22 | }) 23 | 24 | test('halve the speed', function (t) { 25 | t.plan(1) 26 | const flags = createFFmpegFlags('video.mov', { 27 | ...defaultOptions, 28 | speed: 0.5 29 | }) 30 | t.deepEqual(flags, { 31 | 'an': null, 32 | 'codec:a': null, 33 | 'codec:v': null, 34 | 'filter:a': ['atempo=0.5'], 35 | 'filter:v': ['setpts=2.0*PTS'], 36 | 'i': 'video.mov', 37 | 'ss': null, 38 | 'to': null 39 | }) 40 | }) 41 | 42 | test('double the speed', function (t) { 43 | t.plan(1) 44 | const flags = createFFmpegFlags('video.mov', { 45 | ...defaultOptions, 46 | speed: 2 47 | }) 48 | t.deepEqual(flags, { 49 | 'an': null, 50 | 'codec:a': null, 51 | 'codec:v': null, 52 | 'filter:a': ['atempo=2.0'], 53 | 'filter:v': ['setpts=0.5*PTS'], 54 | 'i': 'video.mov', 55 | 'ss': null, 56 | 'to': null 57 | }) 58 | }) 59 | 60 | test('quadruple the speed', function (t) { 61 | t.plan(1) 62 | const flags = createFFmpegFlags('video.mov', { 63 | ...defaultOptions, 64 | speed: 4 65 | }) 66 | t.deepEqual(flags, { 67 | 'an': null, 68 | 'codec:a': null, 69 | 'codec:v': null, 70 | 'filter:a': ['atempo=2.0,atempo=2.0'], 71 | 'filter:v': ['setpts=0.25*PTS'], 72 | 'i': 'video.mov', 73 | 'ss': null, 74 | 'to': null 75 | }) 76 | }) 77 | -------------------------------------------------------------------------------- /src/create-ffmpeg-shell-commands/create-ffmpeg-flags/__tests__/trim.ts: -------------------------------------------------------------------------------- 1 | import { test } from 'tap' 2 | 3 | import { createFFmpegFlags } from '../create-ffmpeg-flags' 4 | import { defaultOptions } from '../default-options' 5 | 6 | test('trim from the start timestamp to the end of the input file', function (t) { 7 | t.plan(1) 8 | const flags = createFFmpegFlags('video.mov', { 9 | ...defaultOptions, 10 | trim: { endTimestamp: null, startTimestamp: '0:05' } 11 | }) 12 | t.deepEqual(flags, { 13 | 'an': null, 14 | 'codec:a': 'copy', 15 | 'codec:v': 'copy', 16 | 'filter:a': [], 17 | 'filter:v': [], 18 | 'i': 'video.mov', 19 | 'ss': '0:05', 20 | 'to': null 21 | }) 22 | }) 23 | 24 | test('trim from the start timestamp to the end timestamp', function (t) { 25 | t.plan(1) 26 | const flags = createFFmpegFlags('video.mov', { 27 | ...defaultOptions, 28 | trim: { endTimestamp: '0:10', startTimestamp: '0:05' } 29 | }) 30 | t.deepEqual(flags, { 31 | 'an': null, 32 | 'codec:a': 'copy', 33 | 'codec:v': 'copy', 34 | 'filter:a': [], 35 | 'filter:v': [], 36 | 'i': 'video.mov', 37 | 'ss': '0:05', 38 | 'to': '0:10' 39 | }) 40 | }) 41 | -------------------------------------------------------------------------------- /src/create-ffmpeg-shell-commands/create-ffmpeg-flags/__tests__/volume.ts: -------------------------------------------------------------------------------- 1 | import { test } from 'tap' 2 | 3 | import { createFFmpegFlags } from '../create-ffmpeg-flags' 4 | import { defaultOptions } from '../default-options' 5 | 6 | test('strip audio', function (t) { 7 | t.plan(1) 8 | const flags = createFFmpegFlags('video.mov', { 9 | ...defaultOptions, 10 | volume: 0 11 | }) 12 | t.deepEqual(flags, { 13 | 'an': true, 14 | 'codec:a': null, 15 | 'codec:v': 'copy', 16 | 'filter:a': [], 17 | 'filter:v': [], 18 | 'i': 'video.mov', 19 | 'ss': null, 20 | 'to': null 21 | }) 22 | }) 23 | 24 | test('halve the volume', function (t) { 25 | t.plan(1) 26 | const flags = createFFmpegFlags('video.mov', { 27 | ...defaultOptions, 28 | volume: 0.5 29 | }) 30 | t.deepEqual(flags, { 31 | 'an': null, 32 | 'codec:a': null, 33 | 'codec:v': 'copy', 34 | 'filter:a': ['volume=0.5'], 35 | 'filter:v': [], 36 | 'i': 'video.mov', 37 | 'ss': null, 38 | 'to': null 39 | }) 40 | }) 41 | 42 | test('double the volume', function (t) { 43 | t.plan(1) 44 | const flags = createFFmpegFlags('video.mov', { 45 | ...defaultOptions, 46 | volume: 2 47 | }) 48 | t.deepEqual(flags, { 49 | 'an': null, 50 | 'codec:a': null, 51 | 'codec:v': 'copy', 52 | 'filter:a': ['volume=2.0'], 53 | 'filter:v': [], 54 | 'i': 'video.mov', 55 | 'ss': null, 56 | 'to': null 57 | }) 58 | }) 59 | -------------------------------------------------------------------------------- /src/create-ffmpeg-shell-commands/create-ffmpeg-flags/create-ffmpeg-flags.ts: -------------------------------------------------------------------------------- 1 | import * as path from 'path' 2 | 3 | import { FFmpegFlags, Options } from '../../types' 4 | import { formatFloat } from './utilities/format-float' 5 | import { mapRotateOptionToVideoFilter } from './utilities/map-rotate-option-to-video-filter' 6 | import { mapSpeedOptionToAudioFilter } from './utilities/map-speed-option-to-audio-filter' 7 | import { mapSpeedOptionToVideoFilter } from './utilities/map-speed-option-to-video-filter' 8 | 9 | export function createFFmpegFlags( 10 | inputFile: string, 11 | { 12 | crop, 13 | format, 14 | fps, 15 | resize, 16 | reverse, 17 | rotate, 18 | speed, 19 | trim, 20 | volume 21 | }: Omit 22 | ): FFmpegFlags { 23 | const flags: FFmpegFlags = { 24 | 'an': null, 25 | 'codec:a': 'copy', 26 | 'codec:v': 'copy', 27 | 'filter:a': [], 28 | 'filter:v': [], 29 | 'i': inputFile, 30 | 'ss': null, 31 | 'to': null 32 | } 33 | const originalFormat = path.extname(inputFile).slice(1) 34 | const isGif = originalFormat === 'gif' || format === 'gif' 35 | if (crop !== null) { 36 | flags['codec:v'] = null 37 | flags['filter:v'].push( 38 | `crop=${crop.width}:${crop.height}:${crop.x}:${crop.y}` 39 | ) 40 | } 41 | if (fps !== null) { 42 | flags['codec:v'] = null 43 | flags['filter:v'].push(`fps=fps=${fps}`) 44 | } 45 | if (resize !== null) { 46 | flags['codec:v'] = null 47 | flags['filter:v'].push(`scale=${resize.width}:${resize.height}`) 48 | } 49 | if (reverse === true) { 50 | flags['codec:a'] = null 51 | flags['codec:v'] = null 52 | flags['filter:a'].push('areverse') 53 | flags['filter:v'].push('reverse') 54 | } 55 | if (rotate !== null) { 56 | flags['codec:v'] = null 57 | flags['filter:v'].push(mapRotateOptionToVideoFilter(rotate)) 58 | } 59 | if (speed !== null && speed !== 1) { 60 | flags['codec:a'] = null 61 | flags['codec:v'] = null 62 | flags['filter:a'].push(mapSpeedOptionToAudioFilter(speed)) 63 | flags['filter:v'].push(mapSpeedOptionToVideoFilter(speed)) 64 | } 65 | if (trim !== null) { 66 | flags['ss'] = trim.startTimestamp 67 | flags['to'] = trim.endTimestamp 68 | } 69 | if (volume !== null && volume !== 1) { 70 | flags['codec:a'] = null 71 | if (volume === 0) { 72 | flags['an'] = true 73 | flags['filter:a'] = [] 74 | } else { 75 | flags['filter:a'].push(`volume=${formatFloat(volume)}`) 76 | } 77 | } 78 | if (isGif === true) { 79 | flags['an'] = null 80 | flags['codec:a'] = null 81 | flags['codec:v'] = null 82 | flags['filter:a'] = [] 83 | } 84 | return flags 85 | } 86 | -------------------------------------------------------------------------------- /src/create-ffmpeg-shell-commands/create-ffmpeg-flags/default-options.ts: -------------------------------------------------------------------------------- 1 | export const defaultOptions = { 2 | crop: null, 3 | format: null, 4 | fps: null, 5 | resize: null, 6 | reverse: false, 7 | rotate: null, 8 | speed: null, 9 | trim: null, 10 | volume: null 11 | } 12 | -------------------------------------------------------------------------------- /src/create-ffmpeg-shell-commands/create-ffmpeg-flags/utilities/format-float.ts: -------------------------------------------------------------------------------- 1 | const dotZeroSuffixRegex = /\.0+$/ 2 | const zeroSuffixRegex = /0+$/ 3 | 4 | export function formatFloat(value: number): string { 5 | const formatted = value.toFixed(6) 6 | if (dotZeroSuffixRegex.test(formatted) === true) { 7 | return value.toFixed(1) 8 | } 9 | return formatted.replace(zeroSuffixRegex, '') 10 | } 11 | -------------------------------------------------------------------------------- /src/create-ffmpeg-shell-commands/create-ffmpeg-flags/utilities/map-rotate-option-to-video-filter.ts: -------------------------------------------------------------------------------- 1 | import { RotateOption } from '../../../types' 2 | 3 | export function mapRotateOptionToVideoFilter(rotate: RotateOption): string { 4 | if (rotate === '-90') { 5 | return 'transpose=2' 6 | } 7 | if (rotate === '90') { 8 | return 'transpose=1' 9 | } 10 | return 'transpose=1,transpose=1' 11 | } 12 | -------------------------------------------------------------------------------- /src/create-ffmpeg-shell-commands/create-ffmpeg-flags/utilities/map-speed-option-to-audio-filter.ts: -------------------------------------------------------------------------------- 1 | import { formatFloat } from './format-float' 2 | 3 | export function mapSpeedOptionToAudioFilter(speed: number): string { 4 | const split = splitSpeed(speed) 5 | return split 6 | .map(function (value) { 7 | return `atempo=${formatFloat(value)}` 8 | }) 9 | .join(',') 10 | } 11 | 12 | function splitSpeed(speed: number): Array { 13 | const result: Array = [] 14 | if (speed > 2) { 15 | while (speed > 2) { 16 | speed = speed / 2 17 | result.push(2) 18 | } 19 | result.push(speed) 20 | return result 21 | } 22 | while (speed < 0.5) { 23 | speed = speed / 0.5 24 | result.push(0.5) 25 | } 26 | result.push(speed) 27 | return result 28 | } 29 | -------------------------------------------------------------------------------- /src/create-ffmpeg-shell-commands/create-ffmpeg-flags/utilities/map-speed-option-to-video-filter.ts: -------------------------------------------------------------------------------- 1 | import { formatFloat } from './format-float' 2 | 3 | export function mapSpeedOptionToVideoFilter(speed: number): string { 4 | return `setpts=${formatFloat(1 / speed)}*PTS` 5 | } 6 | -------------------------------------------------------------------------------- /src/create-ffmpeg-shell-commands/create-ffmpeg-shell-commands.ts: -------------------------------------------------------------------------------- 1 | import * as globby from 'globby' 2 | import * as path from 'path' 3 | 4 | import { escapeFilePath } from '../escape-file-path' 5 | import { FFmpegFlags, FFmpegShellCommand, Options } from '../types' 6 | import { createFFmpegFlags } from './create-ffmpeg-flags/create-ffmpeg-flags' 7 | 8 | export async function createFFmpegShellCommands( 9 | globPatterns: Array, 10 | outputDirectory: string, 11 | options: Omit 12 | ): Promise> { 13 | const inputFiles = await globby(globPatterns) 14 | if (inputFiles.length === 0) { 15 | throw new Error('Cannot find input files') 16 | } 17 | const result = [] 18 | for (const inputFile of inputFiles) { 19 | const outputFile = createOutputFilePath( 20 | inputFile, 21 | outputDirectory, 22 | options.format 23 | ) 24 | const flags = createFFmpegFlags(inputFile, options) 25 | const shellCommand = createFFmpegShellCommand(flags, outputFile) 26 | result.push({ 27 | inputFile, 28 | outputFile, 29 | shellCommand 30 | }) 31 | } 32 | return result 33 | } 34 | 35 | function createOutputFilePath( 36 | inputFile: string, 37 | outputDirectory: string, 38 | format: null | string 39 | ): string { 40 | const directory = path.dirname(path.relative(process.cwd(), inputFile)) 41 | if (format === null) { 42 | return path.join(outputDirectory, directory, path.basename(inputFile)) 43 | } 44 | const basename = path.basename(inputFile, path.extname(inputFile)) 45 | return path.join(outputDirectory, directory, `${basename}.${format}`) 46 | } 47 | 48 | function createFFmpegShellCommand( 49 | ffmpegFlags: FFmpegFlags, 50 | outputFile: string 51 | ): string { 52 | const result: Array = [] 53 | if (ffmpegFlags.ss !== null) { 54 | result.push(`-ss ${ffmpegFlags.ss}`) 55 | } 56 | if (ffmpegFlags.to !== null) { 57 | result.push(`-to ${ffmpegFlags.to}`) 58 | } 59 | // `-ss` and `-t` must come before the `-i` flag 60 | result.push(`-i ${escapeFilePath(ffmpegFlags.i)}`) 61 | if (ffmpegFlags.an === true) { 62 | result.push(`-an`) 63 | } 64 | if (ffmpegFlags['codec:a'] !== null) { 65 | result.push(`-codec:a ${ffmpegFlags['codec:a']}`) 66 | } 67 | if (ffmpegFlags['codec:v'] !== null) { 68 | result.push(`-codec:v ${ffmpegFlags['codec:v']}`) 69 | } 70 | if (ffmpegFlags['filter:a'] !== null && ffmpegFlags['filter:a'].length > 0) { 71 | result.push( 72 | `-filter:a '${ffmpegFlags['filter:a'].slice().sort().join(',')}'` 73 | ) 74 | } 75 | if (ffmpegFlags['filter:v'] !== null && ffmpegFlags['filter:v'].length > 0) { 76 | result.push( 77 | `-filter:v '${ffmpegFlags['filter:v'].slice().sort().join(',')}'` 78 | ) 79 | } 80 | const outputDirectory = path.dirname(outputFile) 81 | return `mkdir -p ${escapeFilePath(outputDirectory)} && ffmpeg ${result.join( 82 | ' ' 83 | )} -y ${escapeFilePath(outputFile)}` 84 | } 85 | -------------------------------------------------------------------------------- /src/escape-file-path.ts: -------------------------------------------------------------------------------- 1 | const specialCharactersRegex = /["' ]/ 2 | const quoteRegex = /"/g 3 | 4 | export function escapeFilePath(filePath: string): string { 5 | if (specialCharactersRegex.test(filePath) === false) { 6 | return filePath 7 | } 8 | const result = filePath.replace(quoteRegex, function () { 9 | return '\\"' 10 | }) 11 | return `"${result}"` 12 | } 13 | -------------------------------------------------------------------------------- /src/execute-shell-commands.ts: -------------------------------------------------------------------------------- 1 | import * as childProcess from 'child_process' 2 | import * as kleur from 'kleur' 3 | import * as pAll from 'p-all' 4 | 5 | import { escapeFilePath } from './escape-file-path' 6 | import { FFmpegShellCommand } from './types' 7 | 8 | export async function executeShellCommands( 9 | shellCommands: Array, 10 | parallel: number, 11 | debug: boolean 12 | ): Promise { 13 | if (debug === true) { 14 | for (const { shellCommand } of shellCommands) { 15 | // eslint-disable-next-line no-console 16 | console.log(kleur.gray(shellCommand)) 17 | } 18 | } 19 | const callbacks = shellCommands.map(function ({ 20 | inputFile, 21 | outputFile, 22 | shellCommand 23 | }) { 24 | return function () { 25 | return new Promise(function (resolve, reject) { 26 | childProcess.exec(shellCommand, function (error) { 27 | if (error) { 28 | reject(error) 29 | return 30 | } 31 | // eslint-disable-next-line no-console 32 | console.log( 33 | `${kleur.green('✔')} ${escapeFilePath(inputFile)} ${kleur.gray( 34 | '›' 35 | )} ${escapeFilePath(outputFile)}` 36 | ) 37 | resolve(null) 38 | }) 39 | }) 40 | } 41 | }) 42 | await pAll(callbacks, { concurrency: parallel }) 43 | } 44 | -------------------------------------------------------------------------------- /src/parse-option-value/parse-crop-value.ts: -------------------------------------------------------------------------------- 1 | import { CropOption } from '../types' 2 | 3 | const regex = /^(\d+),(\d+)(?:,(\d+),(\d+))?$/ 4 | 5 | export function parseCropValue(value: string): CropOption { 6 | const matches = value.match(regex) 7 | if (matches === null) { 8 | throw new Error( 9 | `${name} must be either , or ,,,` 10 | ) 11 | } 12 | let x, y, width, height 13 | if (typeof matches[3] === 'undefined') { 14 | x = '0' 15 | y = '0' 16 | width = matches[1] 17 | height = matches[2] 18 | } else { 19 | x = matches[1] 20 | y = matches[2] 21 | width = matches[3] 22 | height = matches[4] 23 | } 24 | if (width === '0') { 25 | throw new Error(`${name}'s must be greater than '0'`) 26 | } 27 | if (height === '0') { 28 | throw new Error(`${name}'s must be greater than '0'`) 29 | } 30 | return { 31 | height, 32 | width, 33 | x, 34 | y 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/parse-option-value/parse-resize-value.ts: -------------------------------------------------------------------------------- 1 | import { ResizeOption } from '../types' 2 | 3 | const regex = /^(-1|\d+),(-1|\d+)$/ 4 | 5 | export function parseResizeValue(value: string): ResizeOption { 6 | if (value === '-1,-1') { 7 | throw new Error("Only one of or can be '-1'") 8 | } 9 | const matches = value.match(regex) 10 | if (matches === null) { 11 | throw new Error(`${name} must be ,`) 12 | } 13 | return { 14 | height: matches[2], 15 | width: matches[1] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/parse-option-value/parse-trim-value.ts: -------------------------------------------------------------------------------- 1 | import { TrimOption } from '../types' 2 | 3 | const regex = /^\d{1,2}:[0-5]\d(?:.\d{1,3})?$/ 4 | 5 | export function parseTrimValue(value: string, name: string): TrimOption { 6 | if (value.indexOf(',') === -1) { 7 | if (regex.test(value) === false) { 8 | throw new Error( 9 | `${name}'s start timestamp must be in the format 'HH:MM' or 'HH:MM.mmm'` 10 | ) 11 | } 12 | return { 13 | endTimestamp: null, 14 | startTimestamp: value 15 | } 16 | } 17 | const split = value.split(',') 18 | if (split.length !== 2 || split[0] === '') { 19 | throw new Error( 20 | `${name} must be , where and are timestamps in the format 'HH:MM' or 'HH:MM.mmm'` 21 | ) 22 | } 23 | if (regex.test(split[0]) === false) { 24 | throw new Error( 25 | `${name}'s start timestamp must be in the format 'HH:MM' or 'HH:MM.mmm'` 26 | ) 27 | } 28 | if (split[1] === '') { 29 | return { endTimestamp: null, startTimestamp: split[0] } 30 | } 31 | if (regex.test(split[1]) === false) { 32 | throw new Error( 33 | `${name}'s end timestamp must be in the format 'HH:MM' or 'HH:MM.mmm'` 34 | ) 35 | } 36 | return { endTimestamp: split[1], startTimestamp: split[0] } 37 | } 38 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | export type Options = { 2 | crop: null | CropOption 3 | debug: boolean 4 | format: null | string 5 | fps: null | number 6 | output: string 7 | parallel: number 8 | resize: null | ResizeOption 9 | reverse: boolean 10 | rotate: null | RotateOption 11 | speed: null | number 12 | trim: null | TrimOption 13 | volume: null | number 14 | } 15 | 16 | export type CropOption = { height: string; width: string; x: string; y: string } 17 | export type ResizeOption = { height: string; width: string } 18 | export type RotateOption = '-90' | '90' | '180' 19 | export type TrimOption = { endTimestamp: null | string; startTimestamp: string } 20 | 21 | export type FFmpegFlags = { 22 | 'an': null | boolean 23 | 'codec:a': null | 'copy' 24 | 'codec:v': null | 'copy' 25 | 'filter:a': Array 26 | 'filter:v': Array 27 | 'i': string 28 | 'ss': null | string 29 | 'to': null | string 30 | } 31 | 32 | export type FFmpegShellCommand = { 33 | inputFile: string 34 | outputFile: string 35 | shellCommand: string 36 | } 37 | -------------------------------------------------------------------------------- /src/vdx.ts: -------------------------------------------------------------------------------- 1 | import { createFFmpegShellCommands } from './create-ffmpeg-shell-commands/create-ffmpeg-shell-commands' 2 | import { executeShellCommands } from './execute-shell-commands' 3 | import { Options } from './types' 4 | 5 | export async function vdx( 6 | globPatterns: Array, 7 | options: Options 8 | ): Promise { 9 | const { debug, parallel, output, ...rest } = options 10 | const shellCommands = await createFFmpegShellCommands( 11 | globPatterns, 12 | output, 13 | rest 14 | ) 15 | if (shellCommands.length === 0) { 16 | return 17 | } 18 | await executeShellCommands(shellCommands, parallel, debug) 19 | } 20 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "declaration": true, 4 | "declarationMap": true, 5 | "module": "commonjs", 6 | "moduleResolution": "node", 7 | "outDir": "./lib", 8 | "removeComments": true, 9 | "rootDir": "./src", 10 | "strict": true, 11 | "target": "es2020", 12 | "typeRoots": ["./node_modules/@types"] 13 | }, 14 | "include": ["./src/**/*.ts"], 15 | "exclude": ["./src/**/__tests__/**/*.ts"] 16 | } 17 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@7.12.11": 6 | version "7.12.11" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" 8 | integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== 9 | dependencies: 10 | "@babel/highlight" "^7.10.4" 11 | 12 | "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13": 13 | version "7.12.13" 14 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" 15 | integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== 16 | dependencies: 17 | "@babel/highlight" "^7.12.13" 18 | 19 | "@babel/compat-data@^7.13.8": 20 | version "7.13.8" 21 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.8.tgz#5b783b9808f15cef71547f1b691f34f8ff6003a6" 22 | integrity sha512-EaI33z19T4qN3xLXsGf48M2cDqa6ei9tPZlfLdb2HC+e/cFtREiRd8hdSqDbwdLB0/+gLwqJmCYASH0z2bUdog== 23 | 24 | "@babel/core@^7.5.5": 25 | version "7.13.8" 26 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.8.tgz#c191d9c5871788a591d69ea1dc03e5843a3680fb" 27 | integrity sha512-oYapIySGw1zGhEFRd6lzWNLWFX2s5dA/jm+Pw/+59ZdXtjyIuwlXbrId22Md0rgZVop+aVoqow2riXhBLNyuQg== 28 | dependencies: 29 | "@babel/code-frame" "^7.12.13" 30 | "@babel/generator" "^7.13.0" 31 | "@babel/helper-compilation-targets" "^7.13.8" 32 | "@babel/helper-module-transforms" "^7.13.0" 33 | "@babel/helpers" "^7.13.0" 34 | "@babel/parser" "^7.13.4" 35 | "@babel/template" "^7.12.13" 36 | "@babel/traverse" "^7.13.0" 37 | "@babel/types" "^7.13.0" 38 | convert-source-map "^1.7.0" 39 | debug "^4.1.0" 40 | gensync "^1.0.0-beta.2" 41 | json5 "^2.1.2" 42 | lodash "^4.17.19" 43 | semver "^6.3.0" 44 | source-map "^0.5.0" 45 | 46 | "@babel/generator@^7.13.0", "@babel/generator@^7.4.0": 47 | version "7.13.0" 48 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.0.tgz#bd00d4394ca22f220390c56a0b5b85568ec1ec0c" 49 | integrity sha512-zBZfgvBB/ywjx0Rgc2+BwoH/3H+lDtlgD4hBOpEv5LxRnYsm/753iRuLepqnYlynpjC3AdQxtxsoeHJoEEwOAw== 50 | dependencies: 51 | "@babel/types" "^7.13.0" 52 | jsesc "^2.5.1" 53 | source-map "^0.5.0" 54 | 55 | "@babel/helper-annotate-as-pure@^7.12.13": 56 | version "7.12.13" 57 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab" 58 | integrity sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw== 59 | dependencies: 60 | "@babel/types" "^7.12.13" 61 | 62 | "@babel/helper-compilation-targets@^7.13.8": 63 | version "7.13.8" 64 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.8.tgz#02bdb22783439afb11b2f009814bdd88384bd468" 65 | integrity sha512-pBljUGC1y3xKLn1nrx2eAhurLMA8OqBtBP/JwG4U8skN7kf8/aqwwxpV1N6T0e7r6+7uNitIa/fUxPFagSXp3A== 66 | dependencies: 67 | "@babel/compat-data" "^7.13.8" 68 | "@babel/helper-validator-option" "^7.12.17" 69 | browserslist "^4.14.5" 70 | semver "^6.3.0" 71 | 72 | "@babel/helper-function-name@^7.12.13": 73 | version "7.12.13" 74 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a" 75 | integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA== 76 | dependencies: 77 | "@babel/helper-get-function-arity" "^7.12.13" 78 | "@babel/template" "^7.12.13" 79 | "@babel/types" "^7.12.13" 80 | 81 | "@babel/helper-get-function-arity@^7.12.13": 82 | version "7.12.13" 83 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" 84 | integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== 85 | dependencies: 86 | "@babel/types" "^7.12.13" 87 | 88 | "@babel/helper-member-expression-to-functions@^7.13.0": 89 | version "7.13.0" 90 | resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.0.tgz#6aa4bb678e0f8c22f58cdb79451d30494461b091" 91 | integrity sha512-yvRf8Ivk62JwisqV1rFRMxiSMDGnN6KH1/mDMmIrij4jztpQNRoHqqMG3U6apYbGRPJpgPalhva9Yd06HlUxJQ== 92 | dependencies: 93 | "@babel/types" "^7.13.0" 94 | 95 | "@babel/helper-module-imports@^7.12.13": 96 | version "7.12.13" 97 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz#ec67e4404f41750463e455cc3203f6a32e93fcb0" 98 | integrity sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g== 99 | dependencies: 100 | "@babel/types" "^7.12.13" 101 | 102 | "@babel/helper-module-transforms@^7.13.0": 103 | version "7.13.0" 104 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.13.0.tgz#42eb4bd8eea68bab46751212c357bfed8b40f6f1" 105 | integrity sha512-Ls8/VBwH577+pw7Ku1QkUWIyRRNHpYlts7+qSqBBFCW3I8QteB9DxfcZ5YJpOwH6Ihe/wn8ch7fMGOP1OhEIvw== 106 | dependencies: 107 | "@babel/helper-module-imports" "^7.12.13" 108 | "@babel/helper-replace-supers" "^7.13.0" 109 | "@babel/helper-simple-access" "^7.12.13" 110 | "@babel/helper-split-export-declaration" "^7.12.13" 111 | "@babel/helper-validator-identifier" "^7.12.11" 112 | "@babel/template" "^7.12.13" 113 | "@babel/traverse" "^7.13.0" 114 | "@babel/types" "^7.13.0" 115 | lodash "^4.17.19" 116 | 117 | "@babel/helper-optimise-call-expression@^7.12.13": 118 | version "7.12.13" 119 | resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea" 120 | integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA== 121 | dependencies: 122 | "@babel/types" "^7.12.13" 123 | 124 | "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.8.0": 125 | version "7.13.0" 126 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af" 127 | integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ== 128 | 129 | "@babel/helper-replace-supers@^7.13.0": 130 | version "7.13.0" 131 | resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.13.0.tgz#6034b7b51943094cb41627848cb219cb02be1d24" 132 | integrity sha512-Segd5me1+Pz+rmN/NFBOplMbZG3SqRJOBlY+mA0SxAv6rjj7zJqr1AVr3SfzUVTLCv7ZLU5FycOM/SBGuLPbZw== 133 | dependencies: 134 | "@babel/helper-member-expression-to-functions" "^7.13.0" 135 | "@babel/helper-optimise-call-expression" "^7.12.13" 136 | "@babel/traverse" "^7.13.0" 137 | "@babel/types" "^7.13.0" 138 | 139 | "@babel/helper-simple-access@^7.12.13": 140 | version "7.12.13" 141 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz#8478bcc5cacf6aa1672b251c1d2dde5ccd61a6c4" 142 | integrity sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA== 143 | dependencies: 144 | "@babel/types" "^7.12.13" 145 | 146 | "@babel/helper-split-export-declaration@^7.12.13": 147 | version "7.12.13" 148 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" 149 | integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== 150 | dependencies: 151 | "@babel/types" "^7.12.13" 152 | 153 | "@babel/helper-validator-identifier@^7.12.11": 154 | version "7.12.11" 155 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" 156 | integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== 157 | 158 | "@babel/helper-validator-option@^7.12.17": 159 | version "7.12.17" 160 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831" 161 | integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw== 162 | 163 | "@babel/helpers@^7.13.0": 164 | version "7.13.0" 165 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.13.0.tgz#7647ae57377b4f0408bf4f8a7af01c42e41badc0" 166 | integrity sha512-aan1MeFPxFacZeSz6Ld7YZo5aPuqnKlD7+HZY75xQsueczFccP9A7V05+oe0XpLwHK3oLorPe9eaAUljL7WEaQ== 167 | dependencies: 168 | "@babel/template" "^7.12.13" 169 | "@babel/traverse" "^7.13.0" 170 | "@babel/types" "^7.13.0" 171 | 172 | "@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": 173 | version "7.13.8" 174 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.8.tgz#10b2dac78526424dfc1f47650d0e415dfd9dc481" 175 | integrity sha512-4vrIhfJyfNf+lCtXC2ck1rKSzDwciqF7IWFhXXrSOUC2O5DrVp+w4c6ed4AllTxhTkUP5x2tYj41VaxdVMMRDw== 176 | dependencies: 177 | "@babel/helper-validator-identifier" "^7.12.11" 178 | chalk "^2.0.0" 179 | js-tokens "^4.0.0" 180 | 181 | "@babel/parser@^7.12.13", "@babel/parser@^7.13.0", "@babel/parser@^7.13.4", "@babel/parser@^7.4.3": 182 | version "7.13.4" 183 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.4.tgz#340211b0da94a351a6f10e63671fa727333d13ab" 184 | integrity sha512-uvoOulWHhI+0+1f9L4BoozY7U5cIkZ9PgJqvb041d6vypgUmtVPG4vmGm4pSggjl8BELzvHyUeJSUyEMY6b+qA== 185 | 186 | "@babel/plugin-proposal-object-rest-spread@^7.5.5": 187 | version "7.13.8" 188 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz#5d210a4d727d6ce3b18f9de82cc99a3964eed60a" 189 | integrity sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g== 190 | dependencies: 191 | "@babel/compat-data" "^7.13.8" 192 | "@babel/helper-compilation-targets" "^7.13.8" 193 | "@babel/helper-plugin-utils" "^7.13.0" 194 | "@babel/plugin-syntax-object-rest-spread" "^7.8.3" 195 | "@babel/plugin-transform-parameters" "^7.13.0" 196 | 197 | "@babel/plugin-syntax-jsx@^7.12.13": 198 | version "7.12.13" 199 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz#044fb81ebad6698fe62c478875575bcbb9b70f15" 200 | integrity sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g== 201 | dependencies: 202 | "@babel/helper-plugin-utils" "^7.12.13" 203 | 204 | "@babel/plugin-syntax-object-rest-spread@^7.8.3": 205 | version "7.8.3" 206 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" 207 | integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== 208 | dependencies: 209 | "@babel/helper-plugin-utils" "^7.8.0" 210 | 211 | "@babel/plugin-transform-destructuring@^7.5.0": 212 | version "7.13.0" 213 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz#c5dce270014d4e1ebb1d806116694c12b7028963" 214 | integrity sha512-zym5em7tePoNT9s964c0/KU3JPPnuq7VhIxPRefJ4/s82cD+q1mgKfuGRDMCPL0HTyKz4dISuQlCusfgCJ86HA== 215 | dependencies: 216 | "@babel/helper-plugin-utils" "^7.13.0" 217 | 218 | "@babel/plugin-transform-parameters@^7.13.0": 219 | version "7.13.0" 220 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz#8fa7603e3097f9c0b7ca1a4821bc2fb52e9e5007" 221 | integrity sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw== 222 | dependencies: 223 | "@babel/helper-plugin-utils" "^7.13.0" 224 | 225 | "@babel/plugin-transform-react-jsx@^7.3.0": 226 | version "7.12.17" 227 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.17.tgz#dd2c1299f5e26de584939892de3cfc1807a38f24" 228 | integrity sha512-mwaVNcXV+l6qJOuRhpdTEj8sT/Z0owAVWf9QujTZ0d2ye9X/K+MTOTSizcgKOj18PGnTc/7g1I4+cIUjsKhBcw== 229 | dependencies: 230 | "@babel/helper-annotate-as-pure" "^7.12.13" 231 | "@babel/helper-module-imports" "^7.12.13" 232 | "@babel/helper-plugin-utils" "^7.12.13" 233 | "@babel/plugin-syntax-jsx" "^7.12.13" 234 | "@babel/types" "^7.12.17" 235 | 236 | "@babel/template@^7.12.13", "@babel/template@^7.4.0": 237 | version "7.12.13" 238 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" 239 | integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== 240 | dependencies: 241 | "@babel/code-frame" "^7.12.13" 242 | "@babel/parser" "^7.12.13" 243 | "@babel/types" "^7.12.13" 244 | 245 | "@babel/traverse@^7.13.0", "@babel/traverse@^7.4.3": 246 | version "7.13.0" 247 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.0.tgz#6d95752475f86ee7ded06536de309a65fc8966cc" 248 | integrity sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ== 249 | dependencies: 250 | "@babel/code-frame" "^7.12.13" 251 | "@babel/generator" "^7.13.0" 252 | "@babel/helper-function-name" "^7.12.13" 253 | "@babel/helper-split-export-declaration" "^7.12.13" 254 | "@babel/parser" "^7.13.0" 255 | "@babel/types" "^7.13.0" 256 | debug "^4.1.0" 257 | globals "^11.1.0" 258 | lodash "^4.17.19" 259 | 260 | "@babel/types@^7.12.13", "@babel/types@^7.12.17", "@babel/types@^7.13.0", "@babel/types@^7.4.0": 261 | version "7.13.0" 262 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.0.tgz#74424d2816f0171b4100f0ab34e9a374efdf7f80" 263 | integrity sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA== 264 | dependencies: 265 | "@babel/helper-validator-identifier" "^7.12.11" 266 | lodash "^4.17.19" 267 | to-fast-properties "^2.0.0" 268 | 269 | "@eslint/eslintrc@^0.3.0": 270 | version "0.3.0" 271 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.3.0.tgz#d736d6963d7003b6514e6324bec9c602ac340318" 272 | integrity sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg== 273 | dependencies: 274 | ajv "^6.12.4" 275 | debug "^4.1.1" 276 | espree "^7.3.0" 277 | globals "^12.1.0" 278 | ignore "^4.0.6" 279 | import-fresh "^3.2.1" 280 | js-yaml "^3.13.1" 281 | lodash "^4.17.20" 282 | minimatch "^3.0.4" 283 | strip-json-comments "^3.1.1" 284 | 285 | "@nodelib/fs.scandir@2.1.4": 286 | version "2.1.4" 287 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" 288 | integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== 289 | dependencies: 290 | "@nodelib/fs.stat" "2.0.4" 291 | run-parallel "^1.1.9" 292 | 293 | "@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": 294 | version "2.0.4" 295 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" 296 | integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== 297 | 298 | "@nodelib/fs.walk@^1.2.3": 299 | version "1.2.6" 300 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" 301 | integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== 302 | dependencies: 303 | "@nodelib/fs.scandir" "2.1.4" 304 | fastq "^1.6.0" 305 | 306 | "@types/json-schema@^7.0.3": 307 | version "7.0.7" 308 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" 309 | integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== 310 | 311 | "@types/json5@^0.0.29": 312 | version "0.0.29" 313 | resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" 314 | integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= 315 | 316 | "@types/node@*", "@types/node@^14.14.31": 317 | version "14.14.31" 318 | resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.31.tgz#72286bd33d137aa0d152d47ec7c1762563d34055" 319 | integrity sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g== 320 | 321 | "@types/parse-json@^4.0.0": 322 | version "4.0.0" 323 | resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" 324 | integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== 325 | 326 | "@types/prop-types@*": 327 | version "15.7.3" 328 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" 329 | integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== 330 | 331 | "@types/react@^16.9.16": 332 | version "16.14.4" 333 | resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.4.tgz#365f6a1e117d1eec960ba792c7e1e91ecad38e6f" 334 | integrity sha512-ETj7GbkPGjca/A4trkVeGvoIakmLV6ZtX3J8dcmOpzKzWVybbrOxanwaIPG71GZwImoMDY6Fq4wIe34lEqZ0FQ== 335 | dependencies: 336 | "@types/prop-types" "*" 337 | csstype "^3.0.2" 338 | 339 | "@types/tap@^14.10.2": 340 | version "14.10.2" 341 | resolved "https://registry.yarnpkg.com/@types/tap/-/tap-14.10.2.tgz#56f3d34cf1aef7c022ffb39d0717e95b2bfac83a" 342 | integrity sha512-StS2GGiWZE2UP1O3ffJTlgyaAj2mayURkM4qzTqnDBF7ldXpCYIV9nHm6syute0P1hhcIhHeRDldZsqg4+TthQ== 343 | dependencies: 344 | "@types/node" "*" 345 | 346 | "@types/yoga-layout@1.9.2": 347 | version "1.9.2" 348 | resolved "https://registry.yarnpkg.com/@types/yoga-layout/-/yoga-layout-1.9.2.tgz#efaf9e991a7390dc081a0b679185979a83a9639a" 349 | integrity sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw== 350 | 351 | "@typescript-eslint/eslint-plugin@^4.7.0": 352 | version "4.15.2" 353 | resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.15.2.tgz#981b26b4076c62a5a55873fbef3fe98f83360c61" 354 | integrity sha512-uiQQeu9tWl3f1+oK0yoAv9lt/KXO24iafxgQTkIYO/kitruILGx3uH+QtIAHqxFV+yIsdnJH+alel9KuE3J15Q== 355 | dependencies: 356 | "@typescript-eslint/experimental-utils" "4.15.2" 357 | "@typescript-eslint/scope-manager" "4.15.2" 358 | debug "^4.1.1" 359 | functional-red-black-tree "^1.0.1" 360 | lodash "^4.17.15" 361 | regexpp "^3.0.0" 362 | semver "^7.3.2" 363 | tsutils "^3.17.1" 364 | 365 | "@typescript-eslint/experimental-utils@4.15.2": 366 | version "4.15.2" 367 | resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.15.2.tgz#5efd12355bd5b535e1831282e6cf465b9a71cf36" 368 | integrity sha512-Fxoshw8+R5X3/Vmqwsjc8nRO/7iTysRtDqx6rlfLZ7HbT8TZhPeQqbPjTyk2RheH3L8afumecTQnUc9EeXxohQ== 369 | dependencies: 370 | "@types/json-schema" "^7.0.3" 371 | "@typescript-eslint/scope-manager" "4.15.2" 372 | "@typescript-eslint/types" "4.15.2" 373 | "@typescript-eslint/typescript-estree" "4.15.2" 374 | eslint-scope "^5.0.0" 375 | eslint-utils "^2.0.0" 376 | 377 | "@typescript-eslint/parser@^4.7.0": 378 | version "4.15.2" 379 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.15.2.tgz#c804474321ef76a3955aec03664808f0d6e7872e" 380 | integrity sha512-SHeF8xbsC6z2FKXsaTb1tBCf0QZsjJ94H6Bo51Y1aVEZ4XAefaw5ZAilMoDPlGghe+qtq7XdTiDlGfVTOmvA+Q== 381 | dependencies: 382 | "@typescript-eslint/scope-manager" "4.15.2" 383 | "@typescript-eslint/types" "4.15.2" 384 | "@typescript-eslint/typescript-estree" "4.15.2" 385 | debug "^4.1.1" 386 | 387 | "@typescript-eslint/scope-manager@4.15.2": 388 | version "4.15.2" 389 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.15.2.tgz#5725bda656995960ae1d004bfd1cd70320f37f4f" 390 | integrity sha512-Zm0tf/MSKuX6aeJmuXexgdVyxT9/oJJhaCkijv0DvJVT3ui4zY6XYd6iwIo/8GEZGy43cd7w1rFMiCLHbRzAPQ== 391 | dependencies: 392 | "@typescript-eslint/types" "4.15.2" 393 | "@typescript-eslint/visitor-keys" "4.15.2" 394 | 395 | "@typescript-eslint/types@4.15.2": 396 | version "4.15.2" 397 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.15.2.tgz#04acf3a2dc8001a88985291744241e732ef22c60" 398 | integrity sha512-r7lW7HFkAarfUylJ2tKndyO9njwSyoy6cpfDKWPX6/ctZA+QyaYscAHXVAfJqtnY6aaTwDYrOhp+ginlbc7HfQ== 399 | 400 | "@typescript-eslint/typescript-estree@4.15.2": 401 | version "4.15.2" 402 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.15.2.tgz#c2f7a1e94f3428d229d5ecff3ead6581ee9b62fa" 403 | integrity sha512-cGR8C2g5SPtHTQvAymEODeqx90pJHadWsgTtx6GbnTWKqsg7yp6Eaya9nFzUd4KrKhxdYTTFBiYeTPQaz/l8bw== 404 | dependencies: 405 | "@typescript-eslint/types" "4.15.2" 406 | "@typescript-eslint/visitor-keys" "4.15.2" 407 | debug "^4.1.1" 408 | globby "^11.0.1" 409 | is-glob "^4.0.1" 410 | semver "^7.3.2" 411 | tsutils "^3.17.1" 412 | 413 | "@typescript-eslint/visitor-keys@4.15.2": 414 | version "4.15.2" 415 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.15.2.tgz#3d1c7979ce75bf6acf9691109bd0d6b5706192b9" 416 | integrity sha512-TME1VgSb7wTwgENN5KVj4Nqg25hP8DisXxNBojM4Nn31rYaNDIocNm5cmjOFfh42n7NVERxWrDFoETO/76ePyg== 417 | dependencies: 418 | "@typescript-eslint/types" "4.15.2" 419 | eslint-visitor-keys "^2.0.0" 420 | 421 | "@yuanqing/cli@^0.0.9": 422 | version "0.0.9" 423 | resolved "https://registry.yarnpkg.com/@yuanqing/cli/-/cli-0.0.9.tgz#4e575b413ee13ab0e722301d8cefb759a7e68c15" 424 | integrity sha512-yTLEkYElNyz+Q3TQn9vL/Bx4bymJMdKxZTgFwSEUKN0yGi7JgQwyVJBObPyG447uPTJOm4c9qtAoEPhQ0YCN4w== 425 | 426 | acorn-jsx@^5.3.1: 427 | version "5.3.1" 428 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" 429 | integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== 430 | 431 | acorn@^7.4.0: 432 | version "7.4.1" 433 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" 434 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 435 | 436 | aggregate-error@^3.0.0: 437 | version "3.1.0" 438 | resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" 439 | integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== 440 | dependencies: 441 | clean-stack "^2.0.0" 442 | indent-string "^4.0.0" 443 | 444 | ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: 445 | version "6.12.6" 446 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 447 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 448 | dependencies: 449 | fast-deep-equal "^3.1.1" 450 | fast-json-stable-stringify "^2.0.0" 451 | json-schema-traverse "^0.4.1" 452 | uri-js "^4.2.2" 453 | 454 | ajv@^7.0.2: 455 | version "7.1.1" 456 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.1.1.tgz#1e6b37a454021fa9941713f38b952fc1c8d32a84" 457 | integrity sha512-ga/aqDYnUy/o7vbsRTFhhTsNeXiYb5JWDIcRIeZfwRNCefwjNTVYCGdGSUrEmiu3yDK3vFvNbgJxvrQW4JXrYQ== 458 | dependencies: 459 | fast-deep-equal "^3.1.1" 460 | json-schema-traverse "^1.0.0" 461 | require-from-string "^2.0.2" 462 | uri-js "^4.2.2" 463 | 464 | ansi-colors@^4.1.1: 465 | version "4.1.1" 466 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" 467 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 468 | 469 | ansi-escapes@^3.2.0: 470 | version "3.2.0" 471 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" 472 | integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== 473 | 474 | ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: 475 | version "4.3.1" 476 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" 477 | integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== 478 | dependencies: 479 | type-fest "^0.11.0" 480 | 481 | ansi-regex@^2.0.0: 482 | version "2.1.1" 483 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 484 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 485 | 486 | ansi-regex@^3.0.0: 487 | version "3.0.0" 488 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 489 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 490 | 491 | ansi-regex@^4.1.0: 492 | version "4.1.0" 493 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" 494 | integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== 495 | 496 | ansi-regex@^5.0.0: 497 | version "5.0.0" 498 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" 499 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== 500 | 501 | ansi-styles@^3.2.0, ansi-styles@^3.2.1: 502 | version "3.2.1" 503 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 504 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 505 | dependencies: 506 | color-convert "^1.9.0" 507 | 508 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 509 | version "4.3.0" 510 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 511 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 512 | dependencies: 513 | color-convert "^2.0.1" 514 | 515 | ansicolors@~0.3.2: 516 | version "0.3.2" 517 | resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" 518 | integrity sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk= 519 | 520 | anymatch@~3.1.1: 521 | version "3.1.1" 522 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" 523 | integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== 524 | dependencies: 525 | normalize-path "^3.0.0" 526 | picomatch "^2.0.4" 527 | 528 | append-transform@^1.0.0: 529 | version "1.0.0" 530 | resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab" 531 | integrity sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw== 532 | dependencies: 533 | default-require-extensions "^2.0.0" 534 | 535 | archy@^1.0.0: 536 | version "1.0.0" 537 | resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" 538 | integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= 539 | 540 | arg@^4.1.0: 541 | version "4.1.3" 542 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" 543 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== 544 | 545 | argparse@^1.0.7: 546 | version "1.0.10" 547 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 548 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 549 | dependencies: 550 | sprintf-js "~1.0.2" 551 | 552 | array-includes@^3.1.1, array-includes@^3.1.2: 553 | version "3.1.3" 554 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" 555 | integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== 556 | dependencies: 557 | call-bind "^1.0.2" 558 | define-properties "^1.1.3" 559 | es-abstract "^1.18.0-next.2" 560 | get-intrinsic "^1.1.1" 561 | is-string "^1.0.5" 562 | 563 | array-union@^2.1.0: 564 | version "2.1.0" 565 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 566 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 567 | 568 | array.prototype.flat@^1.2.3: 569 | version "1.2.4" 570 | resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" 571 | integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== 572 | dependencies: 573 | call-bind "^1.0.0" 574 | define-properties "^1.1.3" 575 | es-abstract "^1.18.0-next.1" 576 | 577 | array.prototype.flatmap@^1.2.3: 578 | version "1.2.4" 579 | resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" 580 | integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== 581 | dependencies: 582 | call-bind "^1.0.0" 583 | define-properties "^1.1.3" 584 | es-abstract "^1.18.0-next.1" 585 | function-bind "^1.1.1" 586 | 587 | arrify@^2.0.1: 588 | version "2.0.1" 589 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" 590 | integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== 591 | 592 | asn1@~0.2.3: 593 | version "0.2.4" 594 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" 595 | integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== 596 | dependencies: 597 | safer-buffer "~2.1.0" 598 | 599 | assert-plus@1.0.0, assert-plus@^1.0.0: 600 | version "1.0.0" 601 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 602 | integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= 603 | 604 | astral-regex@^1.0.0: 605 | version "1.0.0" 606 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" 607 | integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== 608 | 609 | astral-regex@^2.0.0: 610 | version "2.0.0" 611 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" 612 | integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== 613 | 614 | async-hook-domain@^1.1.3: 615 | version "1.1.3" 616 | resolved "https://registry.yarnpkg.com/async-hook-domain/-/async-hook-domain-1.1.3.tgz#f4f531b8ee8206b1ea1825fe3825e015c66f44d0" 617 | integrity sha512-ZovMxSbADV3+biB7oR1GL5lGyptI24alp0LWHlmz1OFc5oL47pz3EiIF6nXOkDW7yLqih4NtsiYduzdDW0i+Wg== 618 | dependencies: 619 | source-map-support "^0.5.11" 620 | 621 | asynckit@^0.4.0: 622 | version "0.4.0" 623 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 624 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 625 | 626 | auto-bind@^4.0.0: 627 | version "4.0.0" 628 | resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-4.0.0.tgz#e3589fc6c2da8f7ca43ba9f84fa52a744fc997fb" 629 | integrity sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== 630 | 631 | aws-sign2@~0.7.0: 632 | version "0.7.0" 633 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 634 | integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= 635 | 636 | aws4@^1.8.0: 637 | version "1.11.0" 638 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" 639 | integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== 640 | 641 | balanced-match@^1.0.0: 642 | version "1.0.0" 643 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 644 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 645 | 646 | bcrypt-pbkdf@^1.0.0: 647 | version "1.0.2" 648 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" 649 | integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= 650 | dependencies: 651 | tweetnacl "^0.14.3" 652 | 653 | binary-extensions@^2.0.0: 654 | version "2.2.0" 655 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 656 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 657 | 658 | bind-obj-methods@^2.0.0: 659 | version "2.0.1" 660 | resolved "https://registry.yarnpkg.com/bind-obj-methods/-/bind-obj-methods-2.0.1.tgz#1c1295d6741c07b78d15f42080fe4a60a27f91f5" 661 | integrity sha512-kKzUyCuc+jsWH4C2nW5KB2nh+rQRbQcdphfo9UN3j1uwIFGZ3JB8njtRZOiUAQCkxazH0nDQPN6x/zhvFcbZIw== 662 | 663 | brace-expansion@^1.1.7: 664 | version "1.1.11" 665 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 666 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 667 | dependencies: 668 | balanced-match "^1.0.0" 669 | concat-map "0.0.1" 670 | 671 | braces@^3.0.1, braces@~3.0.2: 672 | version "3.0.2" 673 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 674 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 675 | dependencies: 676 | fill-range "^7.0.1" 677 | 678 | browser-process-hrtime@^1.0.0: 679 | version "1.0.0" 680 | resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" 681 | integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== 682 | 683 | browserslist@^4.14.5: 684 | version "4.16.3" 685 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717" 686 | integrity sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw== 687 | dependencies: 688 | caniuse-lite "^1.0.30001181" 689 | colorette "^1.2.1" 690 | electron-to-chromium "^1.3.649" 691 | escalade "^3.1.1" 692 | node-releases "^1.1.70" 693 | 694 | buffer-from@^1.0.0: 695 | version "1.1.1" 696 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 697 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 698 | 699 | caching-transform@^3.0.2: 700 | version "3.0.2" 701 | resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-3.0.2.tgz#601d46b91eca87687a281e71cef99791b0efca70" 702 | integrity sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w== 703 | dependencies: 704 | hasha "^3.0.0" 705 | make-dir "^2.0.0" 706 | package-hash "^3.0.0" 707 | write-file-atomic "^2.4.2" 708 | 709 | call-bind@^1.0.0, call-bind@^1.0.2: 710 | version "1.0.2" 711 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 712 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 713 | dependencies: 714 | function-bind "^1.1.1" 715 | get-intrinsic "^1.0.2" 716 | 717 | caller-callsite@^2.0.0: 718 | version "2.0.0" 719 | resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" 720 | integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= 721 | dependencies: 722 | callsites "^2.0.0" 723 | 724 | caller-path@^2.0.0: 725 | version "2.0.0" 726 | resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" 727 | integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= 728 | dependencies: 729 | caller-callsite "^2.0.0" 730 | 731 | callsites@^2.0.0: 732 | version "2.0.0" 733 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" 734 | integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= 735 | 736 | callsites@^3.0.0: 737 | version "3.1.0" 738 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 739 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 740 | 741 | camelcase@^5.0.0: 742 | version "5.3.1" 743 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 744 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 745 | 746 | caniuse-lite@^1.0.30001181: 747 | version "1.0.30001192" 748 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001192.tgz#b848ebc0ab230cf313d194a4775a30155d50ae40" 749 | integrity sha512-63OrUnwJj5T1rUmoyqYTdRWBqFFxZFlyZnRRjDR8NSUQFB6A+j/uBORU/SyJ5WzDLg4SPiZH40hQCBNdZ/jmAw== 750 | 751 | cardinal@^2.1.1: 752 | version "2.1.1" 753 | resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505" 754 | integrity sha1-fMEFXYItISlU0HsIXeolHMe8VQU= 755 | dependencies: 756 | ansicolors "~0.3.2" 757 | redeyed "~2.1.0" 758 | 759 | caseless@~0.12.0: 760 | version "0.12.0" 761 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 762 | integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= 763 | 764 | chalk@^2.0.0: 765 | version "2.4.2" 766 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 767 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 768 | dependencies: 769 | ansi-styles "^3.2.1" 770 | escape-string-regexp "^1.0.5" 771 | supports-color "^5.3.0" 772 | 773 | chalk@^3.0.0: 774 | version "3.0.0" 775 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" 776 | integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== 777 | dependencies: 778 | ansi-styles "^4.1.0" 779 | supports-color "^7.1.0" 780 | 781 | chalk@^4.0.0, chalk@^4.1.0: 782 | version "4.1.0" 783 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" 784 | integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== 785 | dependencies: 786 | ansi-styles "^4.1.0" 787 | supports-color "^7.1.0" 788 | 789 | chokidar@^3.3.0: 790 | version "3.5.1" 791 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" 792 | integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== 793 | dependencies: 794 | anymatch "~3.1.1" 795 | braces "~3.0.2" 796 | glob-parent "~5.1.0" 797 | is-binary-path "~2.1.0" 798 | is-glob "~4.0.1" 799 | normalize-path "~3.0.0" 800 | readdirp "~3.5.0" 801 | optionalDependencies: 802 | fsevents "~2.3.1" 803 | 804 | ci-info@^2.0.0: 805 | version "2.0.0" 806 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" 807 | integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== 808 | 809 | clean-stack@^2.0.0: 810 | version "2.2.0" 811 | resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" 812 | integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== 813 | 814 | cli-cursor@^2.1.0: 815 | version "2.1.0" 816 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" 817 | integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= 818 | dependencies: 819 | restore-cursor "^2.0.0" 820 | 821 | cli-cursor@^3.1.0: 822 | version "3.1.0" 823 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" 824 | integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== 825 | dependencies: 826 | restore-cursor "^3.1.0" 827 | 828 | cli-truncate@^2.1.0: 829 | version "2.1.0" 830 | resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" 831 | integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== 832 | dependencies: 833 | slice-ansi "^3.0.0" 834 | string-width "^4.2.0" 835 | 836 | cliui@^4.1.0: 837 | version "4.1.0" 838 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" 839 | integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== 840 | dependencies: 841 | string-width "^2.1.1" 842 | strip-ansi "^4.0.0" 843 | wrap-ansi "^2.0.0" 844 | 845 | cliui@^5.0.0: 846 | version "5.0.0" 847 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" 848 | integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== 849 | dependencies: 850 | string-width "^3.1.0" 851 | strip-ansi "^5.2.0" 852 | wrap-ansi "^5.1.0" 853 | 854 | code-point-at@^1.0.0: 855 | version "1.1.0" 856 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 857 | integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= 858 | 859 | color-convert@^1.9.0: 860 | version "1.9.3" 861 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 862 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 863 | dependencies: 864 | color-name "1.1.3" 865 | 866 | color-convert@^2.0.1: 867 | version "2.0.1" 868 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 869 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 870 | dependencies: 871 | color-name "~1.1.4" 872 | 873 | color-name@1.1.3: 874 | version "1.1.3" 875 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 876 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 877 | 878 | color-name@~1.1.4: 879 | version "1.1.4" 880 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 881 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 882 | 883 | color-support@^1.1.0: 884 | version "1.1.3" 885 | resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" 886 | integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== 887 | 888 | colorette@^1.2.1: 889 | version "1.2.2" 890 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" 891 | integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== 892 | 893 | combined-stream@^1.0.6, combined-stream@~1.0.6: 894 | version "1.0.8" 895 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 896 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 897 | dependencies: 898 | delayed-stream "~1.0.0" 899 | 900 | commander@^6.2.0: 901 | version "6.2.1" 902 | resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" 903 | integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== 904 | 905 | commondir@^1.0.1: 906 | version "1.0.1" 907 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 908 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= 909 | 910 | concat-map@0.0.1: 911 | version "0.0.1" 912 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 913 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 914 | 915 | contains-path@^0.1.0: 916 | version "0.1.0" 917 | resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" 918 | integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= 919 | 920 | convert-source-map@^1.6.0, convert-source-map@^1.7.0: 921 | version "1.7.0" 922 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" 923 | integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== 924 | dependencies: 925 | safe-buffer "~5.1.1" 926 | 927 | core-util-is@1.0.2: 928 | version "1.0.2" 929 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 930 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 931 | 932 | cosmiconfig@^7.0.0: 933 | version "7.0.0" 934 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" 935 | integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== 936 | dependencies: 937 | "@types/parse-json" "^4.0.0" 938 | import-fresh "^3.2.1" 939 | parse-json "^5.0.0" 940 | path-type "^4.0.0" 941 | yaml "^1.10.0" 942 | 943 | coveralls@^3.0.11: 944 | version "3.1.0" 945 | resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-3.1.0.tgz#13c754d5e7a2dd8b44fe5269e21ca394fb4d615b" 946 | integrity sha512-sHxOu2ELzW8/NC1UP5XVLbZDzO4S3VxfFye3XYCznopHy02YjNkHcj5bKaVw2O7hVaBdBjEdQGpie4II1mWhuQ== 947 | dependencies: 948 | js-yaml "^3.13.1" 949 | lcov-parse "^1.0.0" 950 | log-driver "^1.2.7" 951 | minimist "^1.2.5" 952 | request "^2.88.2" 953 | 954 | cp-file@^6.2.0: 955 | version "6.2.0" 956 | resolved "https://registry.yarnpkg.com/cp-file/-/cp-file-6.2.0.tgz#40d5ea4a1def2a9acdd07ba5c0b0246ef73dc10d" 957 | integrity sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA== 958 | dependencies: 959 | graceful-fs "^4.1.2" 960 | make-dir "^2.0.0" 961 | nested-error-stacks "^2.0.0" 962 | pify "^4.0.1" 963 | safe-buffer "^5.0.1" 964 | 965 | cross-spawn@^4: 966 | version "4.0.2" 967 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" 968 | integrity sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE= 969 | dependencies: 970 | lru-cache "^4.0.1" 971 | which "^1.2.9" 972 | 973 | cross-spawn@^6.0.5: 974 | version "6.0.5" 975 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 976 | integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 977 | dependencies: 978 | nice-try "^1.0.4" 979 | path-key "^2.0.1" 980 | semver "^5.5.0" 981 | shebang-command "^1.2.0" 982 | which "^1.2.9" 983 | 984 | cross-spawn@^7.0.0, cross-spawn@^7.0.2: 985 | version "7.0.3" 986 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 987 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 988 | dependencies: 989 | path-key "^3.1.0" 990 | shebang-command "^2.0.0" 991 | which "^2.0.1" 992 | 993 | csstype@^3.0.2: 994 | version "3.0.7" 995 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.7.tgz#2a5fb75e1015e84dd15692f71e89a1450290950b" 996 | integrity sha512-KxnUB0ZMlnUWCsx2Z8MUsr6qV6ja1w9ArPErJaJaF8a5SOWoHLIszeCTKGRGRgtLgYrs1E8CHkNSP1VZTTPc9g== 997 | 998 | dashdash@^1.12.0: 999 | version "1.14.1" 1000 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 1001 | integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= 1002 | dependencies: 1003 | assert-plus "^1.0.0" 1004 | 1005 | debug@^2.6.9: 1006 | version "2.6.9" 1007 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 1008 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 1009 | dependencies: 1010 | ms "2.0.0" 1011 | 1012 | debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: 1013 | version "4.3.1" 1014 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" 1015 | integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== 1016 | dependencies: 1017 | ms "2.1.2" 1018 | 1019 | decamelize@^1.2.0: 1020 | version "1.2.0" 1021 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 1022 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 1023 | 1024 | dedent@^0.7.0: 1025 | version "0.7.0" 1026 | resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" 1027 | integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= 1028 | 1029 | deep-is@^0.1.3: 1030 | version "0.1.3" 1031 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 1032 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 1033 | 1034 | default-require-extensions@^2.0.0: 1035 | version "2.0.0" 1036 | resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7" 1037 | integrity sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc= 1038 | dependencies: 1039 | strip-bom "^3.0.0" 1040 | 1041 | define-properties@^1.1.3: 1042 | version "1.1.3" 1043 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 1044 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 1045 | dependencies: 1046 | object-keys "^1.0.12" 1047 | 1048 | delayed-stream@~1.0.0: 1049 | version "1.0.0" 1050 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 1051 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 1052 | 1053 | diff-frag@^1.0.1: 1054 | version "1.0.1" 1055 | resolved "https://registry.yarnpkg.com/diff-frag/-/diff-frag-1.0.1.tgz#a7bb51789743e8c0b40e2509166bd155e5833826" 1056 | integrity sha512-6/v2PC/6UTGcWPPetb9acL8foberUg/CtPdALeJUdD1B/weHNvzftoo00gYznqHGRhHEbykUGzqfG9RWOSr5yw== 1057 | 1058 | diff@^4.0.1: 1059 | version "4.0.2" 1060 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" 1061 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== 1062 | 1063 | dir-glob@^3.0.1: 1064 | version "3.0.1" 1065 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 1066 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 1067 | dependencies: 1068 | path-type "^4.0.0" 1069 | 1070 | doctrine@1.5.0: 1071 | version "1.5.0" 1072 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" 1073 | integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= 1074 | dependencies: 1075 | esutils "^2.0.2" 1076 | isarray "^1.0.0" 1077 | 1078 | doctrine@^2.1.0: 1079 | version "2.1.0" 1080 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" 1081 | integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== 1082 | dependencies: 1083 | esutils "^2.0.2" 1084 | 1085 | doctrine@^3.0.0: 1086 | version "3.0.0" 1087 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 1088 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 1089 | dependencies: 1090 | esutils "^2.0.2" 1091 | 1092 | ecc-jsbn@~0.1.1: 1093 | version "0.1.2" 1094 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" 1095 | integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= 1096 | dependencies: 1097 | jsbn "~0.1.0" 1098 | safer-buffer "^2.1.0" 1099 | 1100 | electron-to-chromium@^1.3.649: 1101 | version "1.3.675" 1102 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.675.tgz#7ad29f98d7b48da581554eb28bb9a71fd5fd4956" 1103 | integrity sha512-GEQw+6dNWjueXGkGfjgm7dAMtXfEqrfDG3uWcZdeaD4cZ3dKYdPRQVruVXQRXtPLtOr5GNVVlNLRMChOZ611pQ== 1104 | 1105 | emoji-regex@^7.0.1: 1106 | version "7.0.3" 1107 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" 1108 | integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== 1109 | 1110 | emoji-regex@^8.0.0: 1111 | version "8.0.0" 1112 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 1113 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 1114 | 1115 | end-of-stream@^1.1.0: 1116 | version "1.4.4" 1117 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 1118 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 1119 | dependencies: 1120 | once "^1.4.0" 1121 | 1122 | enquirer@^2.3.5, enquirer@^2.3.6: 1123 | version "2.3.6" 1124 | resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" 1125 | integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== 1126 | dependencies: 1127 | ansi-colors "^4.1.1" 1128 | 1129 | error-ex@^1.2.0, error-ex@^1.3.1: 1130 | version "1.3.2" 1131 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 1132 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 1133 | dependencies: 1134 | is-arrayish "^0.2.1" 1135 | 1136 | es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: 1137 | version "1.18.0-next.2" 1138 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.2.tgz#088101a55f0541f595e7e057199e27ddc8f3a5c2" 1139 | integrity sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw== 1140 | dependencies: 1141 | call-bind "^1.0.2" 1142 | es-to-primitive "^1.2.1" 1143 | function-bind "^1.1.1" 1144 | get-intrinsic "^1.0.2" 1145 | has "^1.0.3" 1146 | has-symbols "^1.0.1" 1147 | is-callable "^1.2.2" 1148 | is-negative-zero "^2.0.1" 1149 | is-regex "^1.1.1" 1150 | object-inspect "^1.9.0" 1151 | object-keys "^1.1.1" 1152 | object.assign "^4.1.2" 1153 | string.prototype.trimend "^1.0.3" 1154 | string.prototype.trimstart "^1.0.3" 1155 | 1156 | es-to-primitive@^1.2.1: 1157 | version "1.2.1" 1158 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 1159 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 1160 | dependencies: 1161 | is-callable "^1.1.4" 1162 | is-date-object "^1.0.1" 1163 | is-symbol "^1.0.2" 1164 | 1165 | es6-error@^4.0.1: 1166 | version "4.1.1" 1167 | resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" 1168 | integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== 1169 | 1170 | escalade@^3.1.1: 1171 | version "3.1.1" 1172 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 1173 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 1174 | 1175 | escape-string-regexp@^1.0.5: 1176 | version "1.0.5" 1177 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1178 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 1179 | 1180 | escape-string-regexp@^2.0.0: 1181 | version "2.0.0" 1182 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" 1183 | integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== 1184 | 1185 | eslint-config-prettier@^6.15.0: 1186 | version "6.15.0" 1187 | resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz#7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9" 1188 | integrity sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw== 1189 | dependencies: 1190 | get-stdin "^6.0.0" 1191 | 1192 | eslint-config-yuanqing@^0.0.4: 1193 | version "0.0.4" 1194 | resolved "https://registry.yarnpkg.com/eslint-config-yuanqing/-/eslint-config-yuanqing-0.0.4.tgz#f7708a8804b6e499c1e2e90665a1de6c8d007c27" 1195 | integrity sha512-w9gmPopK1IEQlphhLNwxnbPJHhklgcs0DWiIOGMHHLOYKK7u2QK6oF83xcw73izFb1YMQj4fu3aLi2NwOWvmJQ== 1196 | dependencies: 1197 | "@typescript-eslint/eslint-plugin" "^4.7.0" 1198 | "@typescript-eslint/parser" "^4.7.0" 1199 | eslint-config-prettier "^6.15.0" 1200 | eslint-plugin-import "^2.22.1" 1201 | eslint-plugin-node "^11.1" 1202 | eslint-plugin-prettier "^3.1.4" 1203 | eslint-plugin-promise "^4.2.1" 1204 | eslint-plugin-react "^7.21.5" 1205 | eslint-plugin-react-hooks "^4.2.0" 1206 | eslint-plugin-simple-import-sort "^5.0.3" 1207 | eslint-plugin-sort-keys-fix "^1.1.1" 1208 | 1209 | eslint-import-resolver-node@^0.3.4: 1210 | version "0.3.4" 1211 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" 1212 | integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== 1213 | dependencies: 1214 | debug "^2.6.9" 1215 | resolve "^1.13.1" 1216 | 1217 | eslint-module-utils@^2.6.0: 1218 | version "2.6.0" 1219 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" 1220 | integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== 1221 | dependencies: 1222 | debug "^2.6.9" 1223 | pkg-dir "^2.0.0" 1224 | 1225 | eslint-plugin-es@^3.0.0: 1226 | version "3.0.1" 1227 | resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" 1228 | integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== 1229 | dependencies: 1230 | eslint-utils "^2.0.0" 1231 | regexpp "^3.0.0" 1232 | 1233 | eslint-plugin-import@^2.22.1: 1234 | version "2.22.1" 1235 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" 1236 | integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== 1237 | dependencies: 1238 | array-includes "^3.1.1" 1239 | array.prototype.flat "^1.2.3" 1240 | contains-path "^0.1.0" 1241 | debug "^2.6.9" 1242 | doctrine "1.5.0" 1243 | eslint-import-resolver-node "^0.3.4" 1244 | eslint-module-utils "^2.6.0" 1245 | has "^1.0.3" 1246 | minimatch "^3.0.4" 1247 | object.values "^1.1.1" 1248 | read-pkg-up "^2.0.0" 1249 | resolve "^1.17.0" 1250 | tsconfig-paths "^3.9.0" 1251 | 1252 | eslint-plugin-node@^11.1: 1253 | version "11.1.0" 1254 | resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" 1255 | integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== 1256 | dependencies: 1257 | eslint-plugin-es "^3.0.0" 1258 | eslint-utils "^2.0.0" 1259 | ignore "^5.1.1" 1260 | minimatch "^3.0.4" 1261 | resolve "^1.10.1" 1262 | semver "^6.1.0" 1263 | 1264 | eslint-plugin-prettier@^3.1.4: 1265 | version "3.3.1" 1266 | resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz#7079cfa2497078905011e6f82e8dd8453d1371b7" 1267 | integrity sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ== 1268 | dependencies: 1269 | prettier-linter-helpers "^1.0.0" 1270 | 1271 | eslint-plugin-promise@^4.2.1: 1272 | version "4.3.1" 1273 | resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" 1274 | integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== 1275 | 1276 | eslint-plugin-react-hooks@^4.2.0: 1277 | version "4.2.0" 1278 | resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556" 1279 | integrity sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ== 1280 | 1281 | eslint-plugin-react@^7.21.5: 1282 | version "7.22.0" 1283 | resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.22.0.tgz#3d1c542d1d3169c45421c1215d9470e341707269" 1284 | integrity sha512-p30tuX3VS+NWv9nQot9xIGAHBXR0+xJVaZriEsHoJrASGCJZDJ8JLNM0YqKqI0AKm6Uxaa1VUHoNEibxRCMQHA== 1285 | dependencies: 1286 | array-includes "^3.1.1" 1287 | array.prototype.flatmap "^1.2.3" 1288 | doctrine "^2.1.0" 1289 | has "^1.0.3" 1290 | jsx-ast-utils "^2.4.1 || ^3.0.0" 1291 | object.entries "^1.1.2" 1292 | object.fromentries "^2.0.2" 1293 | object.values "^1.1.1" 1294 | prop-types "^15.7.2" 1295 | resolve "^1.18.1" 1296 | string.prototype.matchall "^4.0.2" 1297 | 1298 | eslint-plugin-simple-import-sort@^5.0.3: 1299 | version "5.0.3" 1300 | resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-5.0.3.tgz#9ae258ddada6efffc55e47a134afbd279eb31fc6" 1301 | integrity sha512-1rf3AWiHeWNCQdAq0iXNnlccnH1UDnelGgrPbjBBHE8d2hXVtOudcmy0vTF4hri3iJ0MKz8jBhmH6lJ0ZWZLHQ== 1302 | 1303 | eslint-plugin-sort-keys-fix@^1.1.1: 1304 | version "1.1.1" 1305 | resolved "https://registry.yarnpkg.com/eslint-plugin-sort-keys-fix/-/eslint-plugin-sort-keys-fix-1.1.1.tgz#2ed201b53fd4a89552c6e2abd38933f330a4b62e" 1306 | integrity sha512-x02SLBg+8OEaoT9vvMbsgeInw17wjHLsa9cOieIVQY+xMNRiXBbyMWw+NiBoxYyJIR4QKDOPDofCjQdoSvltQg== 1307 | dependencies: 1308 | requireindex "~1.2.0" 1309 | 1310 | eslint-scope@^5.0.0, eslint-scope@^5.1.1: 1311 | version "5.1.1" 1312 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" 1313 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== 1314 | dependencies: 1315 | esrecurse "^4.3.0" 1316 | estraverse "^4.1.1" 1317 | 1318 | eslint-utils@^2.0.0, eslint-utils@^2.1.0: 1319 | version "2.1.0" 1320 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" 1321 | integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== 1322 | dependencies: 1323 | eslint-visitor-keys "^1.1.0" 1324 | 1325 | eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: 1326 | version "1.3.0" 1327 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" 1328 | integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== 1329 | 1330 | eslint-visitor-keys@^2.0.0: 1331 | version "2.0.0" 1332 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" 1333 | integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== 1334 | 1335 | eslint@^7.20.0: 1336 | version "7.20.0" 1337 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.20.0.tgz#db07c4ca4eda2e2316e7aa57ac7fc91ec550bdc7" 1338 | integrity sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw== 1339 | dependencies: 1340 | "@babel/code-frame" "7.12.11" 1341 | "@eslint/eslintrc" "^0.3.0" 1342 | ajv "^6.10.0" 1343 | chalk "^4.0.0" 1344 | cross-spawn "^7.0.2" 1345 | debug "^4.0.1" 1346 | doctrine "^3.0.0" 1347 | enquirer "^2.3.5" 1348 | eslint-scope "^5.1.1" 1349 | eslint-utils "^2.1.0" 1350 | eslint-visitor-keys "^2.0.0" 1351 | espree "^7.3.1" 1352 | esquery "^1.4.0" 1353 | esutils "^2.0.2" 1354 | file-entry-cache "^6.0.0" 1355 | functional-red-black-tree "^1.0.1" 1356 | glob-parent "^5.0.0" 1357 | globals "^12.1.0" 1358 | ignore "^4.0.6" 1359 | import-fresh "^3.0.0" 1360 | imurmurhash "^0.1.4" 1361 | is-glob "^4.0.0" 1362 | js-yaml "^3.13.1" 1363 | json-stable-stringify-without-jsonify "^1.0.1" 1364 | levn "^0.4.1" 1365 | lodash "^4.17.20" 1366 | minimatch "^3.0.4" 1367 | natural-compare "^1.4.0" 1368 | optionator "^0.9.1" 1369 | progress "^2.0.0" 1370 | regexpp "^3.1.0" 1371 | semver "^7.2.1" 1372 | strip-ansi "^6.0.0" 1373 | strip-json-comments "^3.1.0" 1374 | table "^6.0.4" 1375 | text-table "^0.2.0" 1376 | v8-compile-cache "^2.0.3" 1377 | 1378 | esm@^3.2.25: 1379 | version "3.2.25" 1380 | resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" 1381 | integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== 1382 | 1383 | espree@^7.3.0, espree@^7.3.1: 1384 | version "7.3.1" 1385 | resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" 1386 | integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== 1387 | dependencies: 1388 | acorn "^7.4.0" 1389 | acorn-jsx "^5.3.1" 1390 | eslint-visitor-keys "^1.3.0" 1391 | 1392 | esprima@^4.0.0, esprima@~4.0.0: 1393 | version "4.0.1" 1394 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1395 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 1396 | 1397 | esquery@^1.4.0: 1398 | version "1.4.0" 1399 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" 1400 | integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== 1401 | dependencies: 1402 | estraverse "^5.1.0" 1403 | 1404 | esrecurse@^4.3.0: 1405 | version "4.3.0" 1406 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 1407 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 1408 | dependencies: 1409 | estraverse "^5.2.0" 1410 | 1411 | estraverse@^4.1.1: 1412 | version "4.3.0" 1413 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 1414 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 1415 | 1416 | estraverse@^5.1.0, estraverse@^5.2.0: 1417 | version "5.2.0" 1418 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" 1419 | integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== 1420 | 1421 | esutils@^2.0.2: 1422 | version "2.0.3" 1423 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1424 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 1425 | 1426 | events-to-array@^1.0.1: 1427 | version "1.1.2" 1428 | resolved "https://registry.yarnpkg.com/events-to-array/-/events-to-array-1.1.2.tgz#2d41f563e1fe400ed4962fe1a4d5c6a7539df7f6" 1429 | integrity sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y= 1430 | 1431 | execa@^4.1.0: 1432 | version "4.1.0" 1433 | resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" 1434 | integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== 1435 | dependencies: 1436 | cross-spawn "^7.0.0" 1437 | get-stream "^5.0.0" 1438 | human-signals "^1.1.1" 1439 | is-stream "^2.0.0" 1440 | merge-stream "^2.0.0" 1441 | npm-run-path "^4.0.0" 1442 | onetime "^5.1.0" 1443 | signal-exit "^3.0.2" 1444 | strip-final-newline "^2.0.0" 1445 | 1446 | extend@~3.0.2: 1447 | version "3.0.2" 1448 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 1449 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 1450 | 1451 | extsprintf@1.3.0: 1452 | version "1.3.0" 1453 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 1454 | integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= 1455 | 1456 | extsprintf@^1.2.0: 1457 | version "1.4.0" 1458 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" 1459 | integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= 1460 | 1461 | fast-deep-equal@^3.1.1: 1462 | version "3.1.3" 1463 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 1464 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 1465 | 1466 | fast-diff@^1.1.2: 1467 | version "1.2.0" 1468 | resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" 1469 | integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== 1470 | 1471 | fast-glob@^3.1.1: 1472 | version "3.2.5" 1473 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" 1474 | integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== 1475 | dependencies: 1476 | "@nodelib/fs.stat" "^2.0.2" 1477 | "@nodelib/fs.walk" "^1.2.3" 1478 | glob-parent "^5.1.0" 1479 | merge2 "^1.3.0" 1480 | micromatch "^4.0.2" 1481 | picomatch "^2.2.1" 1482 | 1483 | fast-json-stable-stringify@^2.0.0: 1484 | version "2.1.0" 1485 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1486 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 1487 | 1488 | fast-levenshtein@^2.0.6: 1489 | version "2.0.6" 1490 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 1491 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 1492 | 1493 | fastq@^1.6.0: 1494 | version "1.11.0" 1495 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" 1496 | integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== 1497 | dependencies: 1498 | reusify "^1.0.4" 1499 | 1500 | figures@^3.2.0: 1501 | version "3.2.0" 1502 | resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" 1503 | integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== 1504 | dependencies: 1505 | escape-string-regexp "^1.0.5" 1506 | 1507 | file-entry-cache@^6.0.0: 1508 | version "6.0.1" 1509 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" 1510 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 1511 | dependencies: 1512 | flat-cache "^3.0.4" 1513 | 1514 | fill-range@^7.0.1: 1515 | version "7.0.1" 1516 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1517 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1518 | dependencies: 1519 | to-regex-range "^5.0.1" 1520 | 1521 | find-cache-dir@^2.1.0: 1522 | version "2.1.0" 1523 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" 1524 | integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== 1525 | dependencies: 1526 | commondir "^1.0.1" 1527 | make-dir "^2.0.0" 1528 | pkg-dir "^3.0.0" 1529 | 1530 | find-up@^2.0.0, find-up@^2.1.0: 1531 | version "2.1.0" 1532 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 1533 | integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= 1534 | dependencies: 1535 | locate-path "^2.0.0" 1536 | 1537 | find-up@^3.0.0: 1538 | version "3.0.0" 1539 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" 1540 | integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== 1541 | dependencies: 1542 | locate-path "^3.0.0" 1543 | 1544 | findit@^2.0.0: 1545 | version "2.0.0" 1546 | resolved "https://registry.yarnpkg.com/findit/-/findit-2.0.0.tgz#6509f0126af4c178551cfa99394e032e13a4d56e" 1547 | integrity sha1-ZQnwEmr0wXhVHPqZOU4DLhOk1W4= 1548 | 1549 | flat-cache@^3.0.4: 1550 | version "3.0.4" 1551 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" 1552 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== 1553 | dependencies: 1554 | flatted "^3.1.0" 1555 | rimraf "^3.0.2" 1556 | 1557 | flatted@^3.1.0: 1558 | version "3.1.1" 1559 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" 1560 | integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== 1561 | 1562 | flow-parser@^0.145.0: 1563 | version "0.145.0" 1564 | resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.145.0.tgz#e39af5f3470211cf21a50eb589da4d5cc5f71f39" 1565 | integrity sha512-dqpYiE0rZopmex5FR6pi/HTia8i+q/euc9WUWH6fTLt6sQgXjnAcsOwgMMLHCxwCSqPrvi/XFmBiicKitLNrKA== 1566 | 1567 | flow-remove-types@^2.112.0: 1568 | version "2.145.0" 1569 | resolved "https://registry.yarnpkg.com/flow-remove-types/-/flow-remove-types-2.145.0.tgz#3be409387362da5f2e6a824b2306fd455ddc0c4f" 1570 | integrity sha512-P80u1yzJsiFu15+poHqoYbU/rcEqUcaI3NcR6kmPyAjgcrhPlxLi3/73tfg3C5FFl9+JR7+Xkv/PQYgg4yyCoQ== 1571 | dependencies: 1572 | flow-parser "^0.145.0" 1573 | pirates "^3.0.2" 1574 | vlq "^0.2.1" 1575 | 1576 | foreground-child@^1.3.3, foreground-child@^1.5.6: 1577 | version "1.5.6" 1578 | resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.6.tgz#4fd71ad2dfde96789b980a5c0a295937cb2f5ce9" 1579 | integrity sha1-T9ca0t/elnibmApcCilZN8svXOk= 1580 | dependencies: 1581 | cross-spawn "^4" 1582 | signal-exit "^3.0.0" 1583 | 1584 | forever-agent@~0.6.1: 1585 | version "0.6.1" 1586 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 1587 | integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= 1588 | 1589 | form-data@~2.3.2: 1590 | version "2.3.3" 1591 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" 1592 | integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== 1593 | dependencies: 1594 | asynckit "^0.4.0" 1595 | combined-stream "^1.0.6" 1596 | mime-types "^2.1.12" 1597 | 1598 | fromentries@^1.3.2: 1599 | version "1.3.2" 1600 | resolved "https://registry.yarnpkg.com/fromentries/-/fromentries-1.3.2.tgz#e4bca6808816bf8f93b52750f1127f5a6fd86e3a" 1601 | integrity sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg== 1602 | 1603 | fs-exists-cached@^1.0.0: 1604 | version "1.0.0" 1605 | resolved "https://registry.yarnpkg.com/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz#cf25554ca050dc49ae6656b41de42258989dcbce" 1606 | integrity sha1-zyVVTKBQ3EmuZla0HeQiWJidy84= 1607 | 1608 | fs.realpath@^1.0.0: 1609 | version "1.0.0" 1610 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1611 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1612 | 1613 | fsevents@~2.3.1: 1614 | version "2.3.2" 1615 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1616 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1617 | 1618 | function-bind@^1.1.1: 1619 | version "1.1.1" 1620 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1621 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1622 | 1623 | function-loop@^1.0.2: 1624 | version "1.0.2" 1625 | resolved "https://registry.yarnpkg.com/function-loop/-/function-loop-1.0.2.tgz#16b93dd757845eacfeca1a8061a6a65c106e0cb2" 1626 | integrity sha512-Iw4MzMfS3udk/rqxTiDDCllhGwlOrsr50zViTOO/W6lS/9y6B1J0BD2VZzrnWUYBJsl3aeqjgR5v7bWWhZSYbA== 1627 | 1628 | functional-red-black-tree@^1.0.1: 1629 | version "1.0.1" 1630 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 1631 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 1632 | 1633 | gensync@^1.0.0-beta.2: 1634 | version "1.0.0-beta.2" 1635 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 1636 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 1637 | 1638 | get-caller-file@^2.0.1: 1639 | version "2.0.5" 1640 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 1641 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 1642 | 1643 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: 1644 | version "1.1.1" 1645 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" 1646 | integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== 1647 | dependencies: 1648 | function-bind "^1.1.1" 1649 | has "^1.0.3" 1650 | has-symbols "^1.0.1" 1651 | 1652 | get-own-enumerable-property-symbols@^3.0.0: 1653 | version "3.0.2" 1654 | resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" 1655 | integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== 1656 | 1657 | get-stdin@^6.0.0: 1658 | version "6.0.0" 1659 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" 1660 | integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== 1661 | 1662 | get-stream@^5.0.0: 1663 | version "5.2.0" 1664 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" 1665 | integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== 1666 | dependencies: 1667 | pump "^3.0.0" 1668 | 1669 | getpass@^0.1.1: 1670 | version "0.1.7" 1671 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 1672 | integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= 1673 | dependencies: 1674 | assert-plus "^1.0.0" 1675 | 1676 | glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: 1677 | version "5.1.1" 1678 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" 1679 | integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== 1680 | dependencies: 1681 | is-glob "^4.0.1" 1682 | 1683 | glob@^7.0.5, glob@^7.1.3, glob@^7.1.6: 1684 | version "7.1.6" 1685 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 1686 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 1687 | dependencies: 1688 | fs.realpath "^1.0.0" 1689 | inflight "^1.0.4" 1690 | inherits "2" 1691 | minimatch "^3.0.4" 1692 | once "^1.3.0" 1693 | path-is-absolute "^1.0.0" 1694 | 1695 | globals@^11.1.0: 1696 | version "11.12.0" 1697 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1698 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1699 | 1700 | globals@^12.1.0: 1701 | version "12.4.0" 1702 | resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" 1703 | integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== 1704 | dependencies: 1705 | type-fest "^0.8.1" 1706 | 1707 | globby@^11.0.1, globby@^11.0.2: 1708 | version "11.0.2" 1709 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83" 1710 | integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og== 1711 | dependencies: 1712 | array-union "^2.1.0" 1713 | dir-glob "^3.0.1" 1714 | fast-glob "^3.1.1" 1715 | ignore "^5.1.4" 1716 | merge2 "^1.3.0" 1717 | slash "^3.0.0" 1718 | 1719 | graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2: 1720 | version "4.2.6" 1721 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" 1722 | integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== 1723 | 1724 | har-schema@^2.0.0: 1725 | version "2.0.0" 1726 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 1727 | integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= 1728 | 1729 | har-validator@~5.1.3: 1730 | version "5.1.5" 1731 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" 1732 | integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== 1733 | dependencies: 1734 | ajv "^6.12.3" 1735 | har-schema "^2.0.0" 1736 | 1737 | has-flag@^3.0.0: 1738 | version "3.0.0" 1739 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1740 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 1741 | 1742 | has-flag@^4.0.0: 1743 | version "4.0.0" 1744 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1745 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1746 | 1747 | has-symbols@^1.0.1: 1748 | version "1.0.1" 1749 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" 1750 | integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== 1751 | 1752 | has@^1.0.3: 1753 | version "1.0.3" 1754 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1755 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1756 | dependencies: 1757 | function-bind "^1.1.1" 1758 | 1759 | hasha@^3.0.0: 1760 | version "3.0.0" 1761 | resolved "https://registry.yarnpkg.com/hasha/-/hasha-3.0.0.tgz#52a32fab8569d41ca69a61ff1a214f8eb7c8bd39" 1762 | integrity sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk= 1763 | dependencies: 1764 | is-stream "^1.0.1" 1765 | 1766 | hosted-git-info@^2.1.4: 1767 | version "2.8.8" 1768 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" 1769 | integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== 1770 | 1771 | html-escaper@^2.0.0: 1772 | version "2.0.2" 1773 | resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" 1774 | integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== 1775 | 1776 | http-signature@~1.2.0: 1777 | version "1.2.0" 1778 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 1779 | integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= 1780 | dependencies: 1781 | assert-plus "^1.0.0" 1782 | jsprim "^1.2.2" 1783 | sshpk "^1.7.0" 1784 | 1785 | human-signals@^1.1.1: 1786 | version "1.1.1" 1787 | resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" 1788 | integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== 1789 | 1790 | husky@^5.1.1: 1791 | version "5.1.1" 1792 | resolved "https://registry.yarnpkg.com/husky/-/husky-5.1.1.tgz#8678953fd8deb86f387cbf1ad50bb2f7f96e83f2" 1793 | integrity sha512-80LZ736V0Nr4/st0c2COYaMbEQhHNmAbLMN8J/kLk7/mo0QdUkUGNDjv/7jVkhug377Wh8wfbWyaVXEJ/h2B/Q== 1794 | 1795 | ignore@^4.0.6: 1796 | version "4.0.6" 1797 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" 1798 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== 1799 | 1800 | ignore@^5.1.1, ignore@^5.1.4: 1801 | version "5.1.8" 1802 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" 1803 | integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== 1804 | 1805 | import-fresh@^3.0.0, import-fresh@^3.2.1: 1806 | version "3.3.0" 1807 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 1808 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 1809 | dependencies: 1810 | parent-module "^1.0.0" 1811 | resolve-from "^4.0.0" 1812 | 1813 | import-jsx@^3.1.0: 1814 | version "3.1.0" 1815 | resolved "https://registry.yarnpkg.com/import-jsx/-/import-jsx-3.1.0.tgz#f17a29dd43eda827f335c0766235f9fd07f7913f" 1816 | integrity sha512-lTuMdQ/mRXC+xQSGPDvAg1VkODlX78j5hZv2tneJ+zuo7GH/XhUF/YVKoeF382a4jO4GYw9jgganbMhEcxwb0g== 1817 | dependencies: 1818 | "@babel/core" "^7.5.5" 1819 | "@babel/plugin-proposal-object-rest-spread" "^7.5.5" 1820 | "@babel/plugin-transform-destructuring" "^7.5.0" 1821 | "@babel/plugin-transform-react-jsx" "^7.3.0" 1822 | caller-path "^2.0.0" 1823 | resolve-from "^3.0.0" 1824 | 1825 | imurmurhash@^0.1.4: 1826 | version "0.1.4" 1827 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1828 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 1829 | 1830 | indent-string@^4.0.0: 1831 | version "4.0.0" 1832 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" 1833 | integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== 1834 | 1835 | inflight@^1.0.4: 1836 | version "1.0.6" 1837 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1838 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1839 | dependencies: 1840 | once "^1.3.0" 1841 | wrappy "1" 1842 | 1843 | inherits@2: 1844 | version "2.0.4" 1845 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1846 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1847 | 1848 | ink@^2.6.0: 1849 | version "2.7.1" 1850 | resolved "https://registry.yarnpkg.com/ink/-/ink-2.7.1.tgz#ff1c75b4b022924e2993af62297fa0e48e85618b" 1851 | integrity sha512-s7lJuQDJEdjqtaIWhp3KYHl6WV3J04U9zoQ6wVc+Xoa06XM27SXUY57qC5DO46xkF0CfgXMKkKNcgvSu/SAEpA== 1852 | dependencies: 1853 | ansi-escapes "^4.2.1" 1854 | arrify "^2.0.1" 1855 | auto-bind "^4.0.0" 1856 | chalk "^3.0.0" 1857 | cli-cursor "^3.1.0" 1858 | cli-truncate "^2.1.0" 1859 | is-ci "^2.0.0" 1860 | lodash.throttle "^4.1.1" 1861 | log-update "^3.0.0" 1862 | prop-types "^15.6.2" 1863 | react-reconciler "^0.24.0" 1864 | scheduler "^0.18.0" 1865 | signal-exit "^3.0.2" 1866 | slice-ansi "^3.0.0" 1867 | string-length "^3.1.0" 1868 | widest-line "^3.1.0" 1869 | wrap-ansi "^6.2.0" 1870 | yoga-layout-prebuilt "^1.9.3" 1871 | 1872 | internal-slot@^1.0.3: 1873 | version "1.0.3" 1874 | resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" 1875 | integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== 1876 | dependencies: 1877 | get-intrinsic "^1.1.0" 1878 | has "^1.0.3" 1879 | side-channel "^1.0.4" 1880 | 1881 | is-arrayish@^0.2.1: 1882 | version "0.2.1" 1883 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1884 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 1885 | 1886 | is-binary-path@~2.1.0: 1887 | version "2.1.0" 1888 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 1889 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 1890 | dependencies: 1891 | binary-extensions "^2.0.0" 1892 | 1893 | is-callable@^1.1.4, is-callable@^1.2.2: 1894 | version "1.2.3" 1895 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" 1896 | integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== 1897 | 1898 | is-ci@^2.0.0: 1899 | version "2.0.0" 1900 | resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" 1901 | integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== 1902 | dependencies: 1903 | ci-info "^2.0.0" 1904 | 1905 | is-core-module@^2.2.0: 1906 | version "2.2.0" 1907 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" 1908 | integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== 1909 | dependencies: 1910 | has "^1.0.3" 1911 | 1912 | is-date-object@^1.0.1: 1913 | version "1.0.2" 1914 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" 1915 | integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== 1916 | 1917 | is-extglob@^2.1.1: 1918 | version "2.1.1" 1919 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1920 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 1921 | 1922 | is-fullwidth-code-point@^1.0.0: 1923 | version "1.0.0" 1924 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1925 | integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= 1926 | dependencies: 1927 | number-is-nan "^1.0.0" 1928 | 1929 | is-fullwidth-code-point@^2.0.0: 1930 | version "2.0.0" 1931 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1932 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 1933 | 1934 | is-fullwidth-code-point@^3.0.0: 1935 | version "3.0.0" 1936 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1937 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1938 | 1939 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: 1940 | version "4.0.1" 1941 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 1942 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 1943 | dependencies: 1944 | is-extglob "^2.1.1" 1945 | 1946 | is-negative-zero@^2.0.1: 1947 | version "2.0.1" 1948 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" 1949 | integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== 1950 | 1951 | is-number@^7.0.0: 1952 | version "7.0.0" 1953 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1954 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1955 | 1956 | is-obj@^1.0.1: 1957 | version "1.0.1" 1958 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" 1959 | integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= 1960 | 1961 | is-regex@^1.1.1: 1962 | version "1.1.2" 1963 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" 1964 | integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== 1965 | dependencies: 1966 | call-bind "^1.0.2" 1967 | has-symbols "^1.0.1" 1968 | 1969 | is-regexp@^1.0.0: 1970 | version "1.0.0" 1971 | resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" 1972 | integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= 1973 | 1974 | is-stream@^1.0.1: 1975 | version "1.1.0" 1976 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 1977 | integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= 1978 | 1979 | is-stream@^2.0.0: 1980 | version "2.0.0" 1981 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" 1982 | integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== 1983 | 1984 | is-string@^1.0.5: 1985 | version "1.0.5" 1986 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" 1987 | integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== 1988 | 1989 | is-symbol@^1.0.2: 1990 | version "1.0.3" 1991 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" 1992 | integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== 1993 | dependencies: 1994 | has-symbols "^1.0.1" 1995 | 1996 | is-typedarray@^1.0.0, is-typedarray@~1.0.0: 1997 | version "1.0.0" 1998 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1999 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 2000 | 2001 | isarray@^1.0.0: 2002 | version "1.0.0" 2003 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 2004 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 2005 | 2006 | isexe@^2.0.0: 2007 | version "2.0.0" 2008 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 2009 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 2010 | 2011 | isstream@~0.1.2: 2012 | version "0.1.2" 2013 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 2014 | integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= 2015 | 2016 | istanbul-lib-coverage@^2.0.3, istanbul-lib-coverage@^2.0.5: 2017 | version "2.0.5" 2018 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" 2019 | integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== 2020 | 2021 | istanbul-lib-hook@^2.0.7: 2022 | version "2.0.7" 2023 | resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz#c95695f383d4f8f60df1f04252a9550e15b5b133" 2024 | integrity sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA== 2025 | dependencies: 2026 | append-transform "^1.0.0" 2027 | 2028 | istanbul-lib-instrument@^3.3.0: 2029 | version "3.3.0" 2030 | resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" 2031 | integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== 2032 | dependencies: 2033 | "@babel/generator" "^7.4.0" 2034 | "@babel/parser" "^7.4.3" 2035 | "@babel/template" "^7.4.0" 2036 | "@babel/traverse" "^7.4.3" 2037 | "@babel/types" "^7.4.0" 2038 | istanbul-lib-coverage "^2.0.5" 2039 | semver "^6.0.0" 2040 | 2041 | istanbul-lib-processinfo@^1.0.0: 2042 | version "1.0.0" 2043 | resolved "https://registry.yarnpkg.com/istanbul-lib-processinfo/-/istanbul-lib-processinfo-1.0.0.tgz#6c0b59411d2897313ea09165fd95464a32be5610" 2044 | integrity sha512-FY0cPmWa4WoQNlvB8VOcafiRoB5nB+l2Pz2xGuXHRSy1KM8QFOYfz/rN+bGMCAeejrY3mrpF5oJHcN0s/garCg== 2045 | dependencies: 2046 | archy "^1.0.0" 2047 | cross-spawn "^6.0.5" 2048 | istanbul-lib-coverage "^2.0.3" 2049 | rimraf "^2.6.3" 2050 | uuid "^3.3.2" 2051 | 2052 | istanbul-lib-report@^2.0.8: 2053 | version "2.0.8" 2054 | resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" 2055 | integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== 2056 | dependencies: 2057 | istanbul-lib-coverage "^2.0.5" 2058 | make-dir "^2.1.0" 2059 | supports-color "^6.1.0" 2060 | 2061 | istanbul-lib-source-maps@^3.0.6: 2062 | version "3.0.6" 2063 | resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" 2064 | integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== 2065 | dependencies: 2066 | debug "^4.1.1" 2067 | istanbul-lib-coverage "^2.0.5" 2068 | make-dir "^2.1.0" 2069 | rimraf "^2.6.3" 2070 | source-map "^0.6.1" 2071 | 2072 | istanbul-reports@^2.2.4: 2073 | version "2.2.7" 2074 | resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" 2075 | integrity sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg== 2076 | dependencies: 2077 | html-escaper "^2.0.0" 2078 | 2079 | jackspeak@^1.4.0: 2080 | version "1.4.0" 2081 | resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-1.4.0.tgz#4eb2c7935c5e6d28179b50829711d1372a1c9a2a" 2082 | integrity sha512-VDcSunT+wcccoG46FtzuBAyQKlzhHjli4q31e1fIHGOsRspqNUFjVzGb+7eIFDlTvqLygxapDHPHS0ouT2o/tw== 2083 | dependencies: 2084 | cliui "^4.1.0" 2085 | 2086 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 2087 | version "4.0.0" 2088 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 2089 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 2090 | 2091 | js-yaml@^3.13.1: 2092 | version "3.14.1" 2093 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" 2094 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 2095 | dependencies: 2096 | argparse "^1.0.7" 2097 | esprima "^4.0.0" 2098 | 2099 | jsbn@~0.1.0: 2100 | version "0.1.1" 2101 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 2102 | integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= 2103 | 2104 | jsesc@^2.5.1: 2105 | version "2.5.2" 2106 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 2107 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 2108 | 2109 | json-parse-better-errors@^1.0.1: 2110 | version "1.0.2" 2111 | resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 2112 | integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== 2113 | 2114 | json-parse-even-better-errors@^2.3.0: 2115 | version "2.3.1" 2116 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 2117 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 2118 | 2119 | json-schema-traverse@^0.4.1: 2120 | version "0.4.1" 2121 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 2122 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 2123 | 2124 | json-schema-traverse@^1.0.0: 2125 | version "1.0.0" 2126 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" 2127 | integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== 2128 | 2129 | json-schema@0.2.3: 2130 | version "0.2.3" 2131 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 2132 | integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= 2133 | 2134 | json-stable-stringify-without-jsonify@^1.0.1: 2135 | version "1.0.1" 2136 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 2137 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 2138 | 2139 | json-stringify-safe@~5.0.1: 2140 | version "5.0.1" 2141 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 2142 | integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= 2143 | 2144 | json5@^1.0.1: 2145 | version "1.0.1" 2146 | resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" 2147 | integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== 2148 | dependencies: 2149 | minimist "^1.2.0" 2150 | 2151 | json5@^2.1.2: 2152 | version "2.2.0" 2153 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" 2154 | integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== 2155 | dependencies: 2156 | minimist "^1.2.5" 2157 | 2158 | jsprim@^1.2.2: 2159 | version "1.4.1" 2160 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 2161 | integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= 2162 | dependencies: 2163 | assert-plus "1.0.0" 2164 | extsprintf "1.3.0" 2165 | json-schema "0.2.3" 2166 | verror "1.10.0" 2167 | 2168 | "jsx-ast-utils@^2.4.1 || ^3.0.0": 2169 | version "3.2.0" 2170 | resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82" 2171 | integrity sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q== 2172 | dependencies: 2173 | array-includes "^3.1.2" 2174 | object.assign "^4.1.2" 2175 | 2176 | kleur@^4.1.4: 2177 | version "4.1.4" 2178 | resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.4.tgz#8c202987d7e577766d039a8cd461934c01cda04d" 2179 | integrity sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA== 2180 | 2181 | lcov-parse@^1.0.0: 2182 | version "1.0.0" 2183 | resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-1.0.0.tgz#eb0d46b54111ebc561acb4c408ef9363bdc8f7e0" 2184 | integrity sha1-6w1GtUER68VhrLTECO+TY73I9+A= 2185 | 2186 | levn@^0.4.1: 2187 | version "0.4.1" 2188 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" 2189 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 2190 | dependencies: 2191 | prelude-ls "^1.2.1" 2192 | type-check "~0.4.0" 2193 | 2194 | lines-and-columns@^1.1.6: 2195 | version "1.1.6" 2196 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" 2197 | integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= 2198 | 2199 | lint-staged@^10.5.4: 2200 | version "10.5.4" 2201 | resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.4.tgz#cd153b5f0987d2371fc1d2847a409a2fe705b665" 2202 | integrity sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg== 2203 | dependencies: 2204 | chalk "^4.1.0" 2205 | cli-truncate "^2.1.0" 2206 | commander "^6.2.0" 2207 | cosmiconfig "^7.0.0" 2208 | debug "^4.2.0" 2209 | dedent "^0.7.0" 2210 | enquirer "^2.3.6" 2211 | execa "^4.1.0" 2212 | listr2 "^3.2.2" 2213 | log-symbols "^4.0.0" 2214 | micromatch "^4.0.2" 2215 | normalize-path "^3.0.0" 2216 | please-upgrade-node "^3.2.0" 2217 | string-argv "0.3.1" 2218 | stringify-object "^3.3.0" 2219 | 2220 | listr2@^3.2.2: 2221 | version "3.3.4" 2222 | resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.3.4.tgz#bca480e784877330b9d96d6cdc613ad243332e20" 2223 | integrity sha512-b0lhLAvXSr63AtPF9Dgn6tyxm8Kiz6JXpVGM0uZJdnDcZp02jt7FehgAnMfA9R7riQimOKjQgLknBTdz2nmXwQ== 2224 | dependencies: 2225 | chalk "^4.1.0" 2226 | cli-truncate "^2.1.0" 2227 | figures "^3.2.0" 2228 | indent-string "^4.0.0" 2229 | log-update "^4.0.0" 2230 | p-map "^4.0.0" 2231 | rxjs "^6.6.6" 2232 | through "^2.3.8" 2233 | wrap-ansi "^7.0.0" 2234 | 2235 | load-json-file@^2.0.0: 2236 | version "2.0.0" 2237 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" 2238 | integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= 2239 | dependencies: 2240 | graceful-fs "^4.1.2" 2241 | parse-json "^2.2.0" 2242 | pify "^2.0.0" 2243 | strip-bom "^3.0.0" 2244 | 2245 | load-json-file@^4.0.0: 2246 | version "4.0.0" 2247 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" 2248 | integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= 2249 | dependencies: 2250 | graceful-fs "^4.1.2" 2251 | parse-json "^4.0.0" 2252 | pify "^3.0.0" 2253 | strip-bom "^3.0.0" 2254 | 2255 | locate-path@^2.0.0: 2256 | version "2.0.0" 2257 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 2258 | integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= 2259 | dependencies: 2260 | p-locate "^2.0.0" 2261 | path-exists "^3.0.0" 2262 | 2263 | locate-path@^3.0.0: 2264 | version "3.0.0" 2265 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" 2266 | integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== 2267 | dependencies: 2268 | p-locate "^3.0.0" 2269 | path-exists "^3.0.0" 2270 | 2271 | lodash.flattendeep@^4.4.0: 2272 | version "4.4.0" 2273 | resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" 2274 | integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= 2275 | 2276 | lodash.throttle@^4.1.1: 2277 | version "4.1.1" 2278 | resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" 2279 | integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= 2280 | 2281 | lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20: 2282 | version "4.17.21" 2283 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 2284 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 2285 | 2286 | log-driver@^1.2.7: 2287 | version "1.2.7" 2288 | resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8" 2289 | integrity sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg== 2290 | 2291 | log-symbols@^4.0.0: 2292 | version "4.0.0" 2293 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" 2294 | integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== 2295 | dependencies: 2296 | chalk "^4.0.0" 2297 | 2298 | log-update@^3.0.0: 2299 | version "3.4.0" 2300 | resolved "https://registry.yarnpkg.com/log-update/-/log-update-3.4.0.tgz#3b9a71e00ac5b1185cc193a36d654581c48f97b9" 2301 | integrity sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg== 2302 | dependencies: 2303 | ansi-escapes "^3.2.0" 2304 | cli-cursor "^2.1.0" 2305 | wrap-ansi "^5.0.0" 2306 | 2307 | log-update@^4.0.0: 2308 | version "4.0.0" 2309 | resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" 2310 | integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== 2311 | dependencies: 2312 | ansi-escapes "^4.3.0" 2313 | cli-cursor "^3.1.0" 2314 | slice-ansi "^4.0.0" 2315 | wrap-ansi "^6.2.0" 2316 | 2317 | loose-envify@^1.1.0, loose-envify@^1.4.0: 2318 | version "1.4.0" 2319 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 2320 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 2321 | dependencies: 2322 | js-tokens "^3.0.0 || ^4.0.0" 2323 | 2324 | lru-cache@^4.0.1: 2325 | version "4.1.5" 2326 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" 2327 | integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== 2328 | dependencies: 2329 | pseudomap "^1.0.2" 2330 | yallist "^2.1.2" 2331 | 2332 | lru-cache@^6.0.0: 2333 | version "6.0.0" 2334 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 2335 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 2336 | dependencies: 2337 | yallist "^4.0.0" 2338 | 2339 | make-dir@^2.0.0, make-dir@^2.1.0: 2340 | version "2.1.0" 2341 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" 2342 | integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== 2343 | dependencies: 2344 | pify "^4.0.1" 2345 | semver "^5.6.0" 2346 | 2347 | make-error@^1.1.1: 2348 | version "1.3.6" 2349 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" 2350 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== 2351 | 2352 | merge-source-map@^1.1.0: 2353 | version "1.1.0" 2354 | resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" 2355 | integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== 2356 | dependencies: 2357 | source-map "^0.6.1" 2358 | 2359 | merge-stream@^2.0.0: 2360 | version "2.0.0" 2361 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 2362 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 2363 | 2364 | merge2@^1.3.0: 2365 | version "1.4.1" 2366 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 2367 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 2368 | 2369 | micromatch@^4.0.2: 2370 | version "4.0.2" 2371 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" 2372 | integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== 2373 | dependencies: 2374 | braces "^3.0.1" 2375 | picomatch "^2.0.5" 2376 | 2377 | mime-db@1.46.0: 2378 | version "1.46.0" 2379 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee" 2380 | integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ== 2381 | 2382 | mime-types@^2.1.12, mime-types@~2.1.19: 2383 | version "2.1.29" 2384 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2" 2385 | integrity sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ== 2386 | dependencies: 2387 | mime-db "1.46.0" 2388 | 2389 | mimic-fn@^1.0.0: 2390 | version "1.2.0" 2391 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" 2392 | integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== 2393 | 2394 | mimic-fn@^2.1.0: 2395 | version "2.1.0" 2396 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 2397 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 2398 | 2399 | minimatch@^3.0.4: 2400 | version "3.0.4" 2401 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 2402 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 2403 | dependencies: 2404 | brace-expansion "^1.1.7" 2405 | 2406 | minimist@^1.2.0, minimist@^1.2.5: 2407 | version "1.2.5" 2408 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 2409 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 2410 | 2411 | minipass@^3.0.0, minipass@^3.1.1: 2412 | version "3.1.3" 2413 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" 2414 | integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== 2415 | dependencies: 2416 | yallist "^4.0.0" 2417 | 2418 | mkdirp@^0.5.0, mkdirp@^0.5.4: 2419 | version "0.5.5" 2420 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" 2421 | integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== 2422 | dependencies: 2423 | minimist "^1.2.5" 2424 | 2425 | ms@2.0.0: 2426 | version "2.0.0" 2427 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2428 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 2429 | 2430 | ms@2.1.2: 2431 | version "2.1.2" 2432 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 2433 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 2434 | 2435 | ms@^2.1.2: 2436 | version "2.1.3" 2437 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 2438 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 2439 | 2440 | natural-compare@^1.4.0: 2441 | version "1.4.0" 2442 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 2443 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 2444 | 2445 | nested-error-stacks@^2.0.0: 2446 | version "2.1.0" 2447 | resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz#0fbdcf3e13fe4994781280524f8b96b0cdff9c61" 2448 | integrity sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug== 2449 | 2450 | nice-try@^1.0.4: 2451 | version "1.0.5" 2452 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 2453 | integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 2454 | 2455 | node-modules-regexp@^1.0.0: 2456 | version "1.0.0" 2457 | resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" 2458 | integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= 2459 | 2460 | node-releases@^1.1.70: 2461 | version "1.1.71" 2462 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" 2463 | integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== 2464 | 2465 | normalize-package-data@^2.3.2: 2466 | version "2.5.0" 2467 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 2468 | integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== 2469 | dependencies: 2470 | hosted-git-info "^2.1.4" 2471 | resolve "^1.10.0" 2472 | semver "2 || 3 || 4 || 5" 2473 | validate-npm-package-license "^3.0.1" 2474 | 2475 | normalize-path@^3.0.0, normalize-path@~3.0.0: 2476 | version "3.0.0" 2477 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 2478 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 2479 | 2480 | npm-run-path@^4.0.0: 2481 | version "4.0.1" 2482 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" 2483 | integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== 2484 | dependencies: 2485 | path-key "^3.0.0" 2486 | 2487 | number-is-nan@^1.0.0: 2488 | version "1.0.1" 2489 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 2490 | integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= 2491 | 2492 | nyc@^14.1.1: 2493 | version "14.1.1" 2494 | resolved "https://registry.yarnpkg.com/nyc/-/nyc-14.1.1.tgz#151d64a6a9f9f5908a1b73233931e4a0a3075eeb" 2495 | integrity sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw== 2496 | dependencies: 2497 | archy "^1.0.0" 2498 | caching-transform "^3.0.2" 2499 | convert-source-map "^1.6.0" 2500 | cp-file "^6.2.0" 2501 | find-cache-dir "^2.1.0" 2502 | find-up "^3.0.0" 2503 | foreground-child "^1.5.6" 2504 | glob "^7.1.3" 2505 | istanbul-lib-coverage "^2.0.5" 2506 | istanbul-lib-hook "^2.0.7" 2507 | istanbul-lib-instrument "^3.3.0" 2508 | istanbul-lib-report "^2.0.8" 2509 | istanbul-lib-source-maps "^3.0.6" 2510 | istanbul-reports "^2.2.4" 2511 | js-yaml "^3.13.1" 2512 | make-dir "^2.1.0" 2513 | merge-source-map "^1.1.0" 2514 | resolve-from "^4.0.0" 2515 | rimraf "^2.6.3" 2516 | signal-exit "^3.0.2" 2517 | spawn-wrap "^1.4.2" 2518 | test-exclude "^5.2.3" 2519 | uuid "^3.3.2" 2520 | yargs "^13.2.2" 2521 | yargs-parser "^13.0.0" 2522 | 2523 | oauth-sign@~0.9.0: 2524 | version "0.9.0" 2525 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" 2526 | integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== 2527 | 2528 | object-assign@^4.1.1: 2529 | version "4.1.1" 2530 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 2531 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 2532 | 2533 | object-inspect@^1.9.0: 2534 | version "1.9.0" 2535 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" 2536 | integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== 2537 | 2538 | object-keys@^1.0.12, object-keys@^1.1.1: 2539 | version "1.1.1" 2540 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 2541 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 2542 | 2543 | object.assign@^4.1.2: 2544 | version "4.1.2" 2545 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" 2546 | integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== 2547 | dependencies: 2548 | call-bind "^1.0.0" 2549 | define-properties "^1.1.3" 2550 | has-symbols "^1.0.1" 2551 | object-keys "^1.1.1" 2552 | 2553 | object.entries@^1.1.2: 2554 | version "1.1.3" 2555 | resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6" 2556 | integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg== 2557 | dependencies: 2558 | call-bind "^1.0.0" 2559 | define-properties "^1.1.3" 2560 | es-abstract "^1.18.0-next.1" 2561 | has "^1.0.3" 2562 | 2563 | object.fromentries@^2.0.2: 2564 | version "2.0.4" 2565 | resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" 2566 | integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ== 2567 | dependencies: 2568 | call-bind "^1.0.2" 2569 | define-properties "^1.1.3" 2570 | es-abstract "^1.18.0-next.2" 2571 | has "^1.0.3" 2572 | 2573 | object.values@^1.1.1: 2574 | version "1.1.3" 2575 | resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" 2576 | integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== 2577 | dependencies: 2578 | call-bind "^1.0.2" 2579 | define-properties "^1.1.3" 2580 | es-abstract "^1.18.0-next.2" 2581 | has "^1.0.3" 2582 | 2583 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 2584 | version "1.4.0" 2585 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2586 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 2587 | dependencies: 2588 | wrappy "1" 2589 | 2590 | onetime@^2.0.0: 2591 | version "2.0.1" 2592 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" 2593 | integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= 2594 | dependencies: 2595 | mimic-fn "^1.0.0" 2596 | 2597 | onetime@^5.1.0: 2598 | version "5.1.2" 2599 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" 2600 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 2601 | dependencies: 2602 | mimic-fn "^2.1.0" 2603 | 2604 | opener@^1.5.1: 2605 | version "1.5.2" 2606 | resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" 2607 | integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== 2608 | 2609 | optionator@^0.9.1: 2610 | version "0.9.1" 2611 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" 2612 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== 2613 | dependencies: 2614 | deep-is "^0.1.3" 2615 | fast-levenshtein "^2.0.6" 2616 | levn "^0.4.1" 2617 | prelude-ls "^1.2.1" 2618 | type-check "^0.4.0" 2619 | word-wrap "^1.2.3" 2620 | 2621 | os-homedir@^1.0.1: 2622 | version "1.0.2" 2623 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 2624 | integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= 2625 | 2626 | own-or-env@^1.0.1: 2627 | version "1.0.1" 2628 | resolved "https://registry.yarnpkg.com/own-or-env/-/own-or-env-1.0.1.tgz#54ce601d3bf78236c5c65633aa1c8ec03f8007e4" 2629 | integrity sha512-y8qULRbRAlL6x2+M0vIe7jJbJx/kmUTzYonRAa2ayesR2qWLswninkVyeJe4x3IEXhdgoNodzjQRKAoEs6Fmrw== 2630 | dependencies: 2631 | own-or "^1.0.0" 2632 | 2633 | own-or@^1.0.0: 2634 | version "1.0.0" 2635 | resolved "https://registry.yarnpkg.com/own-or/-/own-or-1.0.0.tgz#4e877fbeda9a2ec8000fbc0bcae39645ee8bf8dc" 2636 | integrity sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw= 2637 | 2638 | p-all@^3.0.0: 2639 | version "3.0.0" 2640 | resolved "https://registry.yarnpkg.com/p-all/-/p-all-3.0.0.tgz#077c023c37e75e760193badab2bad3ccd5782bfb" 2641 | integrity sha512-qUZbvbBFVXm6uJ7U/WDiO0fv6waBMbjlCm4E66oZdRR+egswICarIdHyVSZZHudH8T5SF8x/JG0q0duFzPnlBw== 2642 | dependencies: 2643 | p-map "^4.0.0" 2644 | 2645 | p-limit@^1.1.0: 2646 | version "1.3.0" 2647 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" 2648 | integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== 2649 | dependencies: 2650 | p-try "^1.0.0" 2651 | 2652 | p-limit@^2.0.0: 2653 | version "2.3.0" 2654 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 2655 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 2656 | dependencies: 2657 | p-try "^2.0.0" 2658 | 2659 | p-locate@^2.0.0: 2660 | version "2.0.0" 2661 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 2662 | integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= 2663 | dependencies: 2664 | p-limit "^1.1.0" 2665 | 2666 | p-locate@^3.0.0: 2667 | version "3.0.0" 2668 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" 2669 | integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== 2670 | dependencies: 2671 | p-limit "^2.0.0" 2672 | 2673 | p-map@^4.0.0: 2674 | version "4.0.0" 2675 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" 2676 | integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== 2677 | dependencies: 2678 | aggregate-error "^3.0.0" 2679 | 2680 | p-try@^1.0.0: 2681 | version "1.0.0" 2682 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" 2683 | integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= 2684 | 2685 | p-try@^2.0.0: 2686 | version "2.2.0" 2687 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 2688 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 2689 | 2690 | package-hash@^3.0.0: 2691 | version "3.0.0" 2692 | resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-3.0.0.tgz#50183f2d36c9e3e528ea0a8605dff57ce976f88e" 2693 | integrity sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA== 2694 | dependencies: 2695 | graceful-fs "^4.1.15" 2696 | hasha "^3.0.0" 2697 | lodash.flattendeep "^4.4.0" 2698 | release-zalgo "^1.0.0" 2699 | 2700 | parent-module@^1.0.0: 2701 | version "1.0.1" 2702 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 2703 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 2704 | dependencies: 2705 | callsites "^3.0.0" 2706 | 2707 | parse-json@^2.2.0: 2708 | version "2.2.0" 2709 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 2710 | integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= 2711 | dependencies: 2712 | error-ex "^1.2.0" 2713 | 2714 | parse-json@^4.0.0: 2715 | version "4.0.0" 2716 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" 2717 | integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= 2718 | dependencies: 2719 | error-ex "^1.3.1" 2720 | json-parse-better-errors "^1.0.1" 2721 | 2722 | parse-json@^5.0.0: 2723 | version "5.2.0" 2724 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 2725 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 2726 | dependencies: 2727 | "@babel/code-frame" "^7.0.0" 2728 | error-ex "^1.3.1" 2729 | json-parse-even-better-errors "^2.3.0" 2730 | lines-and-columns "^1.1.6" 2731 | 2732 | path-exists@^3.0.0: 2733 | version "3.0.0" 2734 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 2735 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 2736 | 2737 | path-is-absolute@^1.0.0: 2738 | version "1.0.1" 2739 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2740 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 2741 | 2742 | path-key@^2.0.1: 2743 | version "2.0.1" 2744 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 2745 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 2746 | 2747 | path-key@^3.0.0, path-key@^3.1.0: 2748 | version "3.1.1" 2749 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 2750 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 2751 | 2752 | path-parse@^1.0.6: 2753 | version "1.0.6" 2754 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 2755 | integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== 2756 | 2757 | path-type@^2.0.0: 2758 | version "2.0.0" 2759 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" 2760 | integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= 2761 | dependencies: 2762 | pify "^2.0.0" 2763 | 2764 | path-type@^3.0.0: 2765 | version "3.0.0" 2766 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" 2767 | integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== 2768 | dependencies: 2769 | pify "^3.0.0" 2770 | 2771 | path-type@^4.0.0: 2772 | version "4.0.0" 2773 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 2774 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 2775 | 2776 | performance-now@^2.1.0: 2777 | version "2.1.0" 2778 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 2779 | integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= 2780 | 2781 | picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: 2782 | version "2.2.2" 2783 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" 2784 | integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== 2785 | 2786 | pify@^2.0.0: 2787 | version "2.3.0" 2788 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 2789 | integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= 2790 | 2791 | pify@^3.0.0: 2792 | version "3.0.0" 2793 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 2794 | integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= 2795 | 2796 | pify@^4.0.1: 2797 | version "4.0.1" 2798 | resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" 2799 | integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== 2800 | 2801 | pinst@^2.1.6: 2802 | version "2.1.6" 2803 | resolved "https://registry.yarnpkg.com/pinst/-/pinst-2.1.6.tgz#8d968b8ec1dac5dddcfc976c735592dbec58b42c" 2804 | integrity sha512-B4dYmf6nEXg1NpDSB+orYWvKa5Kfmz5KzWC29U59dpVM4S/+xp0ak/JMEsw04UQTNNKps7klu0BUalr343Gt9g== 2805 | dependencies: 2806 | fromentries "^1.3.2" 2807 | 2808 | pirates@^3.0.2: 2809 | version "3.0.2" 2810 | resolved "https://registry.yarnpkg.com/pirates/-/pirates-3.0.2.tgz#7e6f85413fd9161ab4e12b539b06010d85954bb9" 2811 | integrity sha512-c5CgUJq6H2k6MJz72Ak1F5sN9n9wlSlJyEnwvpm9/y3WB4E3pHBDT2c6PEiS1vyJvq2bUxUAIu0EGf8Cx4Ic7Q== 2812 | dependencies: 2813 | node-modules-regexp "^1.0.0" 2814 | 2815 | pkg-dir@^2.0.0: 2816 | version "2.0.0" 2817 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" 2818 | integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= 2819 | dependencies: 2820 | find-up "^2.1.0" 2821 | 2822 | pkg-dir@^3.0.0: 2823 | version "3.0.0" 2824 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" 2825 | integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== 2826 | dependencies: 2827 | find-up "^3.0.0" 2828 | 2829 | please-upgrade-node@^3.2.0: 2830 | version "3.2.0" 2831 | resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" 2832 | integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== 2833 | dependencies: 2834 | semver-compare "^1.0.0" 2835 | 2836 | prelude-ls@^1.2.1: 2837 | version "1.2.1" 2838 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 2839 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 2840 | 2841 | prettier-linter-helpers@^1.0.0: 2842 | version "1.0.0" 2843 | resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" 2844 | integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== 2845 | dependencies: 2846 | fast-diff "^1.1.2" 2847 | 2848 | prettier@^2.2.1: 2849 | version "2.2.1" 2850 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" 2851 | integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== 2852 | 2853 | progress@^2.0.0: 2854 | version "2.0.3" 2855 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" 2856 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== 2857 | 2858 | prop-types@^15.6.2, prop-types@^15.7.2: 2859 | version "15.7.2" 2860 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" 2861 | integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== 2862 | dependencies: 2863 | loose-envify "^1.4.0" 2864 | object-assign "^4.1.1" 2865 | react-is "^16.8.1" 2866 | 2867 | pseudomap@^1.0.2: 2868 | version "1.0.2" 2869 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 2870 | integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= 2871 | 2872 | psl@^1.1.28: 2873 | version "1.8.0" 2874 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" 2875 | integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== 2876 | 2877 | pump@^3.0.0: 2878 | version "3.0.0" 2879 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 2880 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 2881 | dependencies: 2882 | end-of-stream "^1.1.0" 2883 | once "^1.3.1" 2884 | 2885 | punycode@^2.0.0, punycode@^2.1.0, punycode@^2.1.1: 2886 | version "2.1.1" 2887 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 2888 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 2889 | 2890 | qs@~6.5.2: 2891 | version "6.5.2" 2892 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" 2893 | integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== 2894 | 2895 | queue-microtask@^1.2.2: 2896 | version "1.2.2" 2897 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.2.tgz#abf64491e6ecf0f38a6502403d4cda04f372dfd3" 2898 | integrity sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg== 2899 | 2900 | react-is@^16.8.1: 2901 | version "16.13.1" 2902 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" 2903 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== 2904 | 2905 | react-reconciler@^0.24.0: 2906 | version "0.24.0" 2907 | resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.24.0.tgz#5a396b2c2f5efe8554134a5935f49f546723f2dd" 2908 | integrity sha512-gAGnwWkf+NOTig9oOowqid9O0HjTDC+XVGBCAmJYYJ2A2cN/O4gDdIuuUQjv8A4v6GDwVfJkagpBBLW5OW9HSw== 2909 | dependencies: 2910 | loose-envify "^1.1.0" 2911 | object-assign "^4.1.1" 2912 | prop-types "^15.6.2" 2913 | scheduler "^0.18.0" 2914 | 2915 | react@^16.12.0: 2916 | version "16.14.0" 2917 | resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" 2918 | integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g== 2919 | dependencies: 2920 | loose-envify "^1.1.0" 2921 | object-assign "^4.1.1" 2922 | prop-types "^15.6.2" 2923 | 2924 | read-pkg-up@^2.0.0: 2925 | version "2.0.0" 2926 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" 2927 | integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= 2928 | dependencies: 2929 | find-up "^2.0.0" 2930 | read-pkg "^2.0.0" 2931 | 2932 | read-pkg-up@^4.0.0: 2933 | version "4.0.0" 2934 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" 2935 | integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== 2936 | dependencies: 2937 | find-up "^3.0.0" 2938 | read-pkg "^3.0.0" 2939 | 2940 | read-pkg@^2.0.0: 2941 | version "2.0.0" 2942 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" 2943 | integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= 2944 | dependencies: 2945 | load-json-file "^2.0.0" 2946 | normalize-package-data "^2.3.2" 2947 | path-type "^2.0.0" 2948 | 2949 | read-pkg@^3.0.0: 2950 | version "3.0.0" 2951 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" 2952 | integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= 2953 | dependencies: 2954 | load-json-file "^4.0.0" 2955 | normalize-package-data "^2.3.2" 2956 | path-type "^3.0.0" 2957 | 2958 | readdirp@~3.5.0: 2959 | version "3.5.0" 2960 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" 2961 | integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== 2962 | dependencies: 2963 | picomatch "^2.2.1" 2964 | 2965 | redeyed@~2.1.0: 2966 | version "2.1.1" 2967 | resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b" 2968 | integrity sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs= 2969 | dependencies: 2970 | esprima "~4.0.0" 2971 | 2972 | regexp.prototype.flags@^1.3.1: 2973 | version "1.3.1" 2974 | resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" 2975 | integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== 2976 | dependencies: 2977 | call-bind "^1.0.2" 2978 | define-properties "^1.1.3" 2979 | 2980 | regexpp@^3.0.0, regexpp@^3.1.0: 2981 | version "3.1.0" 2982 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" 2983 | integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== 2984 | 2985 | release-zalgo@^1.0.0: 2986 | version "1.0.0" 2987 | resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" 2988 | integrity sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA= 2989 | dependencies: 2990 | es6-error "^4.0.1" 2991 | 2992 | request@^2.88.2: 2993 | version "2.88.2" 2994 | resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" 2995 | integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== 2996 | dependencies: 2997 | aws-sign2 "~0.7.0" 2998 | aws4 "^1.8.0" 2999 | caseless "~0.12.0" 3000 | combined-stream "~1.0.6" 3001 | extend "~3.0.2" 3002 | forever-agent "~0.6.1" 3003 | form-data "~2.3.2" 3004 | har-validator "~5.1.3" 3005 | http-signature "~1.2.0" 3006 | is-typedarray "~1.0.0" 3007 | isstream "~0.1.2" 3008 | json-stringify-safe "~5.0.1" 3009 | mime-types "~2.1.19" 3010 | oauth-sign "~0.9.0" 3011 | performance-now "^2.1.0" 3012 | qs "~6.5.2" 3013 | safe-buffer "^5.1.2" 3014 | tough-cookie "~2.5.0" 3015 | tunnel-agent "^0.6.0" 3016 | uuid "^3.3.2" 3017 | 3018 | require-directory@^2.1.1: 3019 | version "2.1.1" 3020 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 3021 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 3022 | 3023 | require-from-string@^2.0.2: 3024 | version "2.0.2" 3025 | resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" 3026 | integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== 3027 | 3028 | require-main-filename@^2.0.0: 3029 | version "2.0.0" 3030 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" 3031 | integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== 3032 | 3033 | requireindex@~1.2.0: 3034 | version "1.2.0" 3035 | resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.2.0.tgz#3463cdb22ee151902635aa6c9535d4de9c2ef1ef" 3036 | integrity sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww== 3037 | 3038 | resolve-from@^3.0.0: 3039 | version "3.0.0" 3040 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" 3041 | integrity sha1-six699nWiBvItuZTM17rywoYh0g= 3042 | 3043 | resolve-from@^4.0.0: 3044 | version "4.0.0" 3045 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 3046 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 3047 | 3048 | resolve@^1.10.0, resolve@^1.10.1, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.18.1: 3049 | version "1.20.0" 3050 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" 3051 | integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== 3052 | dependencies: 3053 | is-core-module "^2.2.0" 3054 | path-parse "^1.0.6" 3055 | 3056 | restore-cursor@^2.0.0: 3057 | version "2.0.0" 3058 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" 3059 | integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= 3060 | dependencies: 3061 | onetime "^2.0.0" 3062 | signal-exit "^3.0.2" 3063 | 3064 | restore-cursor@^3.1.0: 3065 | version "3.1.0" 3066 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" 3067 | integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== 3068 | dependencies: 3069 | onetime "^5.1.0" 3070 | signal-exit "^3.0.2" 3071 | 3072 | reusify@^1.0.4: 3073 | version "1.0.4" 3074 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 3075 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 3076 | 3077 | rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1: 3078 | version "2.7.1" 3079 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" 3080 | integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== 3081 | dependencies: 3082 | glob "^7.1.3" 3083 | 3084 | rimraf@^3.0.2: 3085 | version "3.0.2" 3086 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 3087 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 3088 | dependencies: 3089 | glob "^7.1.3" 3090 | 3091 | run-parallel@^1.1.9: 3092 | version "1.2.0" 3093 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 3094 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 3095 | dependencies: 3096 | queue-microtask "^1.2.2" 3097 | 3098 | rxjs@^6.6.6: 3099 | version "6.6.6" 3100 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.6.tgz#14d8417aa5a07c5e633995b525e1e3c0dec03b70" 3101 | integrity sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg== 3102 | dependencies: 3103 | tslib "^1.9.0" 3104 | 3105 | safe-buffer@^5.0.1, safe-buffer@^5.1.2: 3106 | version "5.2.1" 3107 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 3108 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 3109 | 3110 | safe-buffer@~5.1.1: 3111 | version "5.1.2" 3112 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 3113 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 3114 | 3115 | safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: 3116 | version "2.1.2" 3117 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 3118 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 3119 | 3120 | scheduler@^0.18.0: 3121 | version "0.18.0" 3122 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.18.0.tgz#5901ad6659bc1d8f3fdaf36eb7a67b0d6746b1c4" 3123 | integrity sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ== 3124 | dependencies: 3125 | loose-envify "^1.1.0" 3126 | object-assign "^4.1.1" 3127 | 3128 | semver-compare@^1.0.0: 3129 | version "1.0.0" 3130 | resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" 3131 | integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= 3132 | 3133 | "semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: 3134 | version "5.7.1" 3135 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 3136 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 3137 | 3138 | semver@^6.0.0, semver@^6.1.0, semver@^6.3.0: 3139 | version "6.3.0" 3140 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 3141 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 3142 | 3143 | semver@^7.2.1, semver@^7.3.2: 3144 | version "7.3.4" 3145 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" 3146 | integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== 3147 | dependencies: 3148 | lru-cache "^6.0.0" 3149 | 3150 | set-blocking@^2.0.0: 3151 | version "2.0.0" 3152 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 3153 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= 3154 | 3155 | shebang-command@^1.2.0: 3156 | version "1.2.0" 3157 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 3158 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 3159 | dependencies: 3160 | shebang-regex "^1.0.0" 3161 | 3162 | shebang-command@^2.0.0: 3163 | version "2.0.0" 3164 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 3165 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 3166 | dependencies: 3167 | shebang-regex "^3.0.0" 3168 | 3169 | shebang-regex@^1.0.0: 3170 | version "1.0.0" 3171 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 3172 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 3173 | 3174 | shebang-regex@^3.0.0: 3175 | version "3.0.0" 3176 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 3177 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 3178 | 3179 | side-channel@^1.0.4: 3180 | version "1.0.4" 3181 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" 3182 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== 3183 | dependencies: 3184 | call-bind "^1.0.0" 3185 | get-intrinsic "^1.0.2" 3186 | object-inspect "^1.9.0" 3187 | 3188 | signal-exit@^3.0.0, signal-exit@^3.0.2: 3189 | version "3.0.3" 3190 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" 3191 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== 3192 | 3193 | slash@^3.0.0: 3194 | version "3.0.0" 3195 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 3196 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 3197 | 3198 | slice-ansi@^3.0.0: 3199 | version "3.0.0" 3200 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" 3201 | integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== 3202 | dependencies: 3203 | ansi-styles "^4.0.0" 3204 | astral-regex "^2.0.0" 3205 | is-fullwidth-code-point "^3.0.0" 3206 | 3207 | slice-ansi@^4.0.0: 3208 | version "4.0.0" 3209 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" 3210 | integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== 3211 | dependencies: 3212 | ansi-styles "^4.0.0" 3213 | astral-regex "^2.0.0" 3214 | is-fullwidth-code-point "^3.0.0" 3215 | 3216 | source-map-support@^0.5.11, source-map-support@^0.5.16, source-map-support@^0.5.17: 3217 | version "0.5.19" 3218 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" 3219 | integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== 3220 | dependencies: 3221 | buffer-from "^1.0.0" 3222 | source-map "^0.6.0" 3223 | 3224 | source-map@^0.5.0: 3225 | version "0.5.7" 3226 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 3227 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 3228 | 3229 | source-map@^0.6.0, source-map@^0.6.1: 3230 | version "0.6.1" 3231 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 3232 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 3233 | 3234 | spawn-wrap@^1.4.2: 3235 | version "1.4.3" 3236 | resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.4.3.tgz#81b7670e170cca247d80bf5faf0cfb713bdcf848" 3237 | integrity sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw== 3238 | dependencies: 3239 | foreground-child "^1.5.6" 3240 | mkdirp "^0.5.0" 3241 | os-homedir "^1.0.1" 3242 | rimraf "^2.6.2" 3243 | signal-exit "^3.0.2" 3244 | which "^1.3.0" 3245 | 3246 | spdx-correct@^3.0.0: 3247 | version "3.1.1" 3248 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" 3249 | integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== 3250 | dependencies: 3251 | spdx-expression-parse "^3.0.0" 3252 | spdx-license-ids "^3.0.0" 3253 | 3254 | spdx-exceptions@^2.1.0: 3255 | version "2.3.0" 3256 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" 3257 | integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== 3258 | 3259 | spdx-expression-parse@^3.0.0: 3260 | version "3.0.1" 3261 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" 3262 | integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== 3263 | dependencies: 3264 | spdx-exceptions "^2.1.0" 3265 | spdx-license-ids "^3.0.0" 3266 | 3267 | spdx-license-ids@^3.0.0: 3268 | version "3.0.7" 3269 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" 3270 | integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== 3271 | 3272 | sprintf-js@~1.0.2: 3273 | version "1.0.3" 3274 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 3275 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 3276 | 3277 | sshpk@^1.7.0: 3278 | version "1.16.1" 3279 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" 3280 | integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== 3281 | dependencies: 3282 | asn1 "~0.2.3" 3283 | assert-plus "^1.0.0" 3284 | bcrypt-pbkdf "^1.0.0" 3285 | dashdash "^1.12.0" 3286 | ecc-jsbn "~0.1.1" 3287 | getpass "^0.1.1" 3288 | jsbn "~0.1.0" 3289 | safer-buffer "^2.0.2" 3290 | tweetnacl "~0.14.0" 3291 | 3292 | stack-utils@^1.0.3: 3293 | version "1.0.4" 3294 | resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.4.tgz#4b600971dcfc6aed0cbdf2a8268177cc916c87c8" 3295 | integrity sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w== 3296 | dependencies: 3297 | escape-string-regexp "^2.0.0" 3298 | 3299 | string-argv@0.3.1: 3300 | version "0.3.1" 3301 | resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" 3302 | integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== 3303 | 3304 | string-length@^3.1.0: 3305 | version "3.1.0" 3306 | resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" 3307 | integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA== 3308 | dependencies: 3309 | astral-regex "^1.0.0" 3310 | strip-ansi "^5.2.0" 3311 | 3312 | string-width@^1.0.1: 3313 | version "1.0.2" 3314 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 3315 | integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= 3316 | dependencies: 3317 | code-point-at "^1.0.0" 3318 | is-fullwidth-code-point "^1.0.0" 3319 | strip-ansi "^3.0.0" 3320 | 3321 | string-width@^2.1.1: 3322 | version "2.1.1" 3323 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 3324 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 3325 | dependencies: 3326 | is-fullwidth-code-point "^2.0.0" 3327 | strip-ansi "^4.0.0" 3328 | 3329 | string-width@^3.0.0, string-width@^3.1.0: 3330 | version "3.1.0" 3331 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" 3332 | integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== 3333 | dependencies: 3334 | emoji-regex "^7.0.1" 3335 | is-fullwidth-code-point "^2.0.0" 3336 | strip-ansi "^5.1.0" 3337 | 3338 | string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: 3339 | version "4.2.1" 3340 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.1.tgz#1933ce1f470973d224368009bd1316cad81d5f4f" 3341 | integrity sha512-LL0OLyN6AnfV9xqGQpDBwedT2Rt63737LxvsRxbcwpa2aIeynBApG2Sm//F3TaLHIR1aJBN52DWklc06b94o5Q== 3342 | dependencies: 3343 | emoji-regex "^8.0.0" 3344 | is-fullwidth-code-point "^3.0.0" 3345 | strip-ansi "^6.0.0" 3346 | 3347 | string.prototype.matchall@^4.0.2: 3348 | version "4.0.4" 3349 | resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz#608f255e93e072107f5de066f81a2dfb78cf6b29" 3350 | integrity sha512-pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ== 3351 | dependencies: 3352 | call-bind "^1.0.2" 3353 | define-properties "^1.1.3" 3354 | es-abstract "^1.18.0-next.2" 3355 | has-symbols "^1.0.1" 3356 | internal-slot "^1.0.3" 3357 | regexp.prototype.flags "^1.3.1" 3358 | side-channel "^1.0.4" 3359 | 3360 | string.prototype.trimend@^1.0.3: 3361 | version "1.0.4" 3362 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" 3363 | integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== 3364 | dependencies: 3365 | call-bind "^1.0.2" 3366 | define-properties "^1.1.3" 3367 | 3368 | string.prototype.trimstart@^1.0.3: 3369 | version "1.0.4" 3370 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" 3371 | integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== 3372 | dependencies: 3373 | call-bind "^1.0.2" 3374 | define-properties "^1.1.3" 3375 | 3376 | stringify-object@^3.3.0: 3377 | version "3.3.0" 3378 | resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" 3379 | integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== 3380 | dependencies: 3381 | get-own-enumerable-property-symbols "^3.0.0" 3382 | is-obj "^1.0.1" 3383 | is-regexp "^1.0.0" 3384 | 3385 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 3386 | version "3.0.1" 3387 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 3388 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 3389 | dependencies: 3390 | ansi-regex "^2.0.0" 3391 | 3392 | strip-ansi@^4.0.0: 3393 | version "4.0.0" 3394 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 3395 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 3396 | dependencies: 3397 | ansi-regex "^3.0.0" 3398 | 3399 | strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: 3400 | version "5.2.0" 3401 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" 3402 | integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== 3403 | dependencies: 3404 | ansi-regex "^4.1.0" 3405 | 3406 | strip-ansi@^6.0.0: 3407 | version "6.0.0" 3408 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" 3409 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 3410 | dependencies: 3411 | ansi-regex "^5.0.0" 3412 | 3413 | strip-bom@^3.0.0: 3414 | version "3.0.0" 3415 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 3416 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 3417 | 3418 | strip-final-newline@^2.0.0: 3419 | version "2.0.0" 3420 | resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" 3421 | integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 3422 | 3423 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: 3424 | version "3.1.1" 3425 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 3426 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 3427 | 3428 | supports-color@^5.3.0: 3429 | version "5.5.0" 3430 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 3431 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 3432 | dependencies: 3433 | has-flag "^3.0.0" 3434 | 3435 | supports-color@^6.1.0: 3436 | version "6.1.0" 3437 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" 3438 | integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== 3439 | dependencies: 3440 | has-flag "^3.0.0" 3441 | 3442 | supports-color@^7.1.0: 3443 | version "7.2.0" 3444 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 3445 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 3446 | dependencies: 3447 | has-flag "^4.0.0" 3448 | 3449 | table@^6.0.4: 3450 | version "6.0.7" 3451 | resolved "https://registry.yarnpkg.com/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34" 3452 | integrity sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g== 3453 | dependencies: 3454 | ajv "^7.0.2" 3455 | lodash "^4.17.20" 3456 | slice-ansi "^4.0.0" 3457 | string-width "^4.2.0" 3458 | 3459 | tap-mocha-reporter@^5.0.0: 3460 | version "5.0.1" 3461 | resolved "https://registry.yarnpkg.com/tap-mocha-reporter/-/tap-mocha-reporter-5.0.1.tgz#74f00be2ddd2a380adad45e085795137bc39497a" 3462 | integrity sha512-1knFWOwd4khx/7uSEnUeaP9IPW3w+sqTgJMhrwah6t46nZ8P25atOKAjSvVDsT67lOPu0nfdOqUwoyKn+3E5pA== 3463 | dependencies: 3464 | color-support "^1.1.0" 3465 | debug "^4.1.1" 3466 | diff "^4.0.1" 3467 | escape-string-regexp "^2.0.0" 3468 | glob "^7.0.5" 3469 | tap-parser "^10.0.0" 3470 | tap-yaml "^1.0.0" 3471 | unicode-length "^2.0.2" 3472 | 3473 | tap-parser@^10.0.0, tap-parser@^10.0.1: 3474 | version "10.1.0" 3475 | resolved "https://registry.yarnpkg.com/tap-parser/-/tap-parser-10.1.0.tgz#7b1aac40dbcaa4716c0b58952686eae65d2b74ad" 3476 | integrity sha512-FujQeciDaOiOvaIVGS1Rpb0v4R6XkOjvWCWowlz5oKuhPkEJ8U6pxgqt38xuzYhPt8dWEnfHn2jqpZdJEkW7pA== 3477 | dependencies: 3478 | events-to-array "^1.0.1" 3479 | minipass "^3.0.0" 3480 | tap-yaml "^1.0.0" 3481 | 3482 | tap-yaml@^1.0.0: 3483 | version "1.0.0" 3484 | resolved "https://registry.yarnpkg.com/tap-yaml/-/tap-yaml-1.0.0.tgz#4e31443a5489e05ca8bbb3e36cef71b5dec69635" 3485 | integrity sha512-Rxbx4EnrWkYk0/ztcm5u3/VznbyFJpyXO12dDBHKWiDVxy7O2Qw6MRrwO5H6Ww0U5YhRY/4C/VzWmFPhBQc4qQ== 3486 | dependencies: 3487 | yaml "^1.5.0" 3488 | 3489 | tap@^14.11.0: 3490 | version "14.11.0" 3491 | resolved "https://registry.yarnpkg.com/tap/-/tap-14.11.0.tgz#64f1f50b10280d5149690c9a7059d859f2bbcd24" 3492 | integrity sha512-z8qnNFVyIjLh/bNoTLFRkEk09XZUDAZbCkz/BjvHHly3ao5H+y60gPnedALfheEjA6dA4tpp/mrKq2NWlMuq0A== 3493 | dependencies: 3494 | "@types/react" "^16.9.16" 3495 | async-hook-domain "^1.1.3" 3496 | bind-obj-methods "^2.0.0" 3497 | browser-process-hrtime "^1.0.0" 3498 | chokidar "^3.3.0" 3499 | color-support "^1.1.0" 3500 | coveralls "^3.0.11" 3501 | diff "^4.0.1" 3502 | esm "^3.2.25" 3503 | findit "^2.0.0" 3504 | flow-remove-types "^2.112.0" 3505 | foreground-child "^1.3.3" 3506 | fs-exists-cached "^1.0.0" 3507 | function-loop "^1.0.2" 3508 | glob "^7.1.6" 3509 | import-jsx "^3.1.0" 3510 | ink "^2.6.0" 3511 | isexe "^2.0.0" 3512 | istanbul-lib-processinfo "^1.0.0" 3513 | jackspeak "^1.4.0" 3514 | minipass "^3.1.1" 3515 | mkdirp "^0.5.4" 3516 | nyc "^14.1.1" 3517 | opener "^1.5.1" 3518 | own-or "^1.0.0" 3519 | own-or-env "^1.0.1" 3520 | react "^16.12.0" 3521 | rimraf "^2.7.1" 3522 | signal-exit "^3.0.0" 3523 | source-map-support "^0.5.16" 3524 | stack-utils "^1.0.3" 3525 | tap-mocha-reporter "^5.0.0" 3526 | tap-parser "^10.0.1" 3527 | tap-yaml "^1.0.0" 3528 | tcompare "^3.0.0" 3529 | treport "^1.0.2" 3530 | trivial-deferred "^1.0.1" 3531 | ts-node "^8.5.2" 3532 | typescript "^3.7.2" 3533 | which "^2.0.2" 3534 | write-file-atomic "^3.0.1" 3535 | yaml "^1.7.2" 3536 | yapool "^1.0.0" 3537 | 3538 | tcompare@^3.0.0: 3539 | version "3.0.5" 3540 | resolved "https://registry.yarnpkg.com/tcompare/-/tcompare-3.0.5.tgz#8dc3476ea95be0ce13119287bacd035bc8c4df10" 3541 | integrity sha512-+tmloQj1buaShBX+LP1i1NF5riJm110Yr0flIJAEoKf01tFVoMZvW2jq1JLqaW8fspOUVPm5NKKW5qLwT0ETDQ== 3542 | dependencies: 3543 | diff-frag "^1.0.1" 3544 | 3545 | test-exclude@^5.2.3: 3546 | version "5.2.3" 3547 | resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" 3548 | integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g== 3549 | dependencies: 3550 | glob "^7.1.3" 3551 | minimatch "^3.0.4" 3552 | read-pkg-up "^4.0.0" 3553 | require-main-filename "^2.0.0" 3554 | 3555 | text-table@^0.2.0: 3556 | version "0.2.0" 3557 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 3558 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 3559 | 3560 | through@^2.3.8: 3561 | version "2.3.8" 3562 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 3563 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 3564 | 3565 | to-fast-properties@^2.0.0: 3566 | version "2.0.0" 3567 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 3568 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 3569 | 3570 | to-regex-range@^5.0.1: 3571 | version "5.0.1" 3572 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 3573 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 3574 | dependencies: 3575 | is-number "^7.0.0" 3576 | 3577 | tough-cookie@~2.5.0: 3578 | version "2.5.0" 3579 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" 3580 | integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== 3581 | dependencies: 3582 | psl "^1.1.28" 3583 | punycode "^2.1.1" 3584 | 3585 | treport@^1.0.2: 3586 | version "1.0.2" 3587 | resolved "https://registry.yarnpkg.com/treport/-/treport-1.0.2.tgz#5f99e68198982984415434a2a84df2af2dd7171d" 3588 | integrity sha512-QCAbFtzIjQN+9k+alo8e6oo8j0eSLsttdahAgNLoC3U36rls8XRy/R11QOhHmPz7CDcB2ar29eLe4OFJoPnsPA== 3589 | dependencies: 3590 | cardinal "^2.1.1" 3591 | chalk "^3.0.0" 3592 | import-jsx "^3.1.0" 3593 | ink "^2.6.0" 3594 | ms "^2.1.2" 3595 | string-length "^3.1.0" 3596 | tap-parser "^10.0.1" 3597 | unicode-length "^2.0.2" 3598 | 3599 | trivial-deferred@^1.0.1: 3600 | version "1.0.1" 3601 | resolved "https://registry.yarnpkg.com/trivial-deferred/-/trivial-deferred-1.0.1.tgz#376d4d29d951d6368a6f7a0ae85c2f4d5e0658f3" 3602 | integrity sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM= 3603 | 3604 | ts-node@^8.5.2: 3605 | version "8.10.2" 3606 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.10.2.tgz#eee03764633b1234ddd37f8db9ec10b75ec7fb8d" 3607 | integrity sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA== 3608 | dependencies: 3609 | arg "^4.1.0" 3610 | diff "^4.0.1" 3611 | make-error "^1.1.1" 3612 | source-map-support "^0.5.17" 3613 | yn "3.1.1" 3614 | 3615 | tsconfig-paths@^3.9.0: 3616 | version "3.9.0" 3617 | resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" 3618 | integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== 3619 | dependencies: 3620 | "@types/json5" "^0.0.29" 3621 | json5 "^1.0.1" 3622 | minimist "^1.2.0" 3623 | strip-bom "^3.0.0" 3624 | 3625 | tslib@^1.8.1, tslib@^1.9.0: 3626 | version "1.14.1" 3627 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 3628 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 3629 | 3630 | tsutils@^3.17.1: 3631 | version "3.20.0" 3632 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.20.0.tgz#ea03ea45462e146b53d70ce0893de453ff24f698" 3633 | integrity sha512-RYbuQuvkhuqVeXweWT3tJLKOEJ/UUw9GjNEZGWdrLLlM+611o1gwLHBpxoFJKKl25fLprp2eVthtKs5JOrNeXg== 3634 | dependencies: 3635 | tslib "^1.8.1" 3636 | 3637 | tunnel-agent@^0.6.0: 3638 | version "0.6.0" 3639 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 3640 | integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= 3641 | dependencies: 3642 | safe-buffer "^5.0.1" 3643 | 3644 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 3645 | version "0.14.5" 3646 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 3647 | integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= 3648 | 3649 | type-check@^0.4.0, type-check@~0.4.0: 3650 | version "0.4.0" 3651 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" 3652 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 3653 | dependencies: 3654 | prelude-ls "^1.2.1" 3655 | 3656 | type-fest@^0.11.0: 3657 | version "0.11.0" 3658 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" 3659 | integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== 3660 | 3661 | type-fest@^0.8.1: 3662 | version "0.8.1" 3663 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" 3664 | integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== 3665 | 3666 | typedarray-to-buffer@^3.1.5: 3667 | version "3.1.5" 3668 | resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" 3669 | integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== 3670 | dependencies: 3671 | is-typedarray "^1.0.0" 3672 | 3673 | typescript@^3.7.2: 3674 | version "3.9.9" 3675 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.9.tgz#e69905c54bc0681d0518bd4d587cc6f2d0b1a674" 3676 | integrity sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w== 3677 | 3678 | typescript@^4.2.2: 3679 | version "4.2.2" 3680 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.2.tgz#1450f020618f872db0ea17317d16d8da8ddb8c4c" 3681 | integrity sha512-tbb+NVrLfnsJy3M59lsDgrzWIflR4d4TIUjz+heUnHZwdF7YsrMTKoRERiIvI2lvBG95dfpLxB21WZhys1bgaQ== 3682 | 3683 | unicode-length@^2.0.2: 3684 | version "2.0.2" 3685 | resolved "https://registry.yarnpkg.com/unicode-length/-/unicode-length-2.0.2.tgz#e5eb4c0d523fdf7bebb59ca261c9ca1cf732da96" 3686 | integrity sha512-Ph/j1VbS3/r77nhoY2WU0GWGjVYOHL3xpKp0y/Eq2e5r0mT/6b649vm7KFO6RdAdrZkYLdxphYVgvODxPB+Ebg== 3687 | dependencies: 3688 | punycode "^2.0.0" 3689 | strip-ansi "^3.0.1" 3690 | 3691 | uri-js@^4.2.2: 3692 | version "4.4.1" 3693 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 3694 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 3695 | dependencies: 3696 | punycode "^2.1.0" 3697 | 3698 | uuid@^3.3.2: 3699 | version "3.4.0" 3700 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" 3701 | integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== 3702 | 3703 | v8-compile-cache@^2.0.3: 3704 | version "2.2.0" 3705 | resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" 3706 | integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== 3707 | 3708 | validate-npm-package-license@^3.0.1: 3709 | version "3.0.4" 3710 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 3711 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 3712 | dependencies: 3713 | spdx-correct "^3.0.0" 3714 | spdx-expression-parse "^3.0.0" 3715 | 3716 | verror@1.10.0: 3717 | version "1.10.0" 3718 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 3719 | integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= 3720 | dependencies: 3721 | assert-plus "^1.0.0" 3722 | core-util-is "1.0.2" 3723 | extsprintf "^1.2.0" 3724 | 3725 | vlq@^0.2.1: 3726 | version "0.2.3" 3727 | resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" 3728 | integrity sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow== 3729 | 3730 | which-module@^2.0.0: 3731 | version "2.0.0" 3732 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 3733 | integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= 3734 | 3735 | which@^1.2.9, which@^1.3.0: 3736 | version "1.3.1" 3737 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 3738 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 3739 | dependencies: 3740 | isexe "^2.0.0" 3741 | 3742 | which@^2.0.1, which@^2.0.2: 3743 | version "2.0.2" 3744 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 3745 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 3746 | dependencies: 3747 | isexe "^2.0.0" 3748 | 3749 | widest-line@^3.1.0: 3750 | version "3.1.0" 3751 | resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" 3752 | integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== 3753 | dependencies: 3754 | string-width "^4.0.0" 3755 | 3756 | word-wrap@^1.2.3: 3757 | version "1.2.3" 3758 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 3759 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 3760 | 3761 | wrap-ansi@^2.0.0: 3762 | version "2.1.0" 3763 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" 3764 | integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= 3765 | dependencies: 3766 | string-width "^1.0.1" 3767 | strip-ansi "^3.0.1" 3768 | 3769 | wrap-ansi@^5.0.0, wrap-ansi@^5.1.0: 3770 | version "5.1.0" 3771 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" 3772 | integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== 3773 | dependencies: 3774 | ansi-styles "^3.2.0" 3775 | string-width "^3.0.0" 3776 | strip-ansi "^5.0.0" 3777 | 3778 | wrap-ansi@^6.2.0: 3779 | version "6.2.0" 3780 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" 3781 | integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== 3782 | dependencies: 3783 | ansi-styles "^4.0.0" 3784 | string-width "^4.1.0" 3785 | strip-ansi "^6.0.0" 3786 | 3787 | wrap-ansi@^7.0.0: 3788 | version "7.0.0" 3789 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 3790 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 3791 | dependencies: 3792 | ansi-styles "^4.0.0" 3793 | string-width "^4.1.0" 3794 | strip-ansi "^6.0.0" 3795 | 3796 | wrappy@1: 3797 | version "1.0.2" 3798 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 3799 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 3800 | 3801 | write-file-atomic@^2.4.2: 3802 | version "2.4.3" 3803 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" 3804 | integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== 3805 | dependencies: 3806 | graceful-fs "^4.1.11" 3807 | imurmurhash "^0.1.4" 3808 | signal-exit "^3.0.2" 3809 | 3810 | write-file-atomic@^3.0.1: 3811 | version "3.0.3" 3812 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" 3813 | integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== 3814 | dependencies: 3815 | imurmurhash "^0.1.4" 3816 | is-typedarray "^1.0.0" 3817 | signal-exit "^3.0.2" 3818 | typedarray-to-buffer "^3.1.5" 3819 | 3820 | y18n@^4.0.0: 3821 | version "4.0.1" 3822 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" 3823 | integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== 3824 | 3825 | yallist@^2.1.2: 3826 | version "2.1.2" 3827 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 3828 | integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= 3829 | 3830 | yallist@^4.0.0: 3831 | version "4.0.0" 3832 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 3833 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 3834 | 3835 | yaml@^1.10.0, yaml@^1.5.0, yaml@^1.7.2: 3836 | version "1.10.0" 3837 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" 3838 | integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== 3839 | 3840 | yapool@^1.0.0: 3841 | version "1.0.0" 3842 | resolved "https://registry.yarnpkg.com/yapool/-/yapool-1.0.0.tgz#f693f29a315b50d9a9da2646a7a6645c96985b6a" 3843 | integrity sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o= 3844 | 3845 | yargs-parser@^13.0.0, yargs-parser@^13.1.2: 3846 | version "13.1.2" 3847 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" 3848 | integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== 3849 | dependencies: 3850 | camelcase "^5.0.0" 3851 | decamelize "^1.2.0" 3852 | 3853 | yargs@^13.2.2: 3854 | version "13.3.2" 3855 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" 3856 | integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== 3857 | dependencies: 3858 | cliui "^5.0.0" 3859 | find-up "^3.0.0" 3860 | get-caller-file "^2.0.1" 3861 | require-directory "^2.1.1" 3862 | require-main-filename "^2.0.0" 3863 | set-blocking "^2.0.0" 3864 | string-width "^3.0.0" 3865 | which-module "^2.0.0" 3866 | y18n "^4.0.0" 3867 | yargs-parser "^13.1.2" 3868 | 3869 | yn@3.1.1: 3870 | version "3.1.1" 3871 | resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" 3872 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== 3873 | 3874 | yoga-layout-prebuilt@^1.9.3: 3875 | version "1.10.0" 3876 | resolved "https://registry.yarnpkg.com/yoga-layout-prebuilt/-/yoga-layout-prebuilt-1.10.0.tgz#2936fbaf4b3628ee0b3e3b1df44936d6c146faa6" 3877 | integrity sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g== 3878 | dependencies: 3879 | "@types/yoga-layout" "1.9.2" 3880 | --------------------------------------------------------------------------------