├── .husky ├── .gitignore └── pre-commit ├── .prettierignore ├── rustfmt.toml ├── pnpm-workspace.yaml ├── core ├── build.rs ├── Cargo.toml └── src │ └── lib.rs ├── Cargo.toml ├── npm ├── darwin-x64 │ ├── README.md │ └── package.json ├── android-arm64 │ ├── README.md │ └── package.json ├── darwin-arm64 │ ├── README.md │ └── package.json ├── freebsd-x64 │ ├── README.md │ └── package.json ├── linux-x64-gnu │ ├── README.md │ └── package.json ├── win32-x64-msvc │ ├── README.md │ └── package.json ├── linux-arm64-gnu │ ├── README.md │ └── package.json ├── linux-x64-musl │ ├── README.md │ └── package.json ├── win32-arm64-msvc │ ├── README.md │ └── package.json ├── linux-arm64-musl │ ├── README.md │ └── package.json └── linux-arm-gnueabihf │ ├── README.md │ └── package.json ├── tsconfig.project.json ├── js-binding ├── tsconfig.json ├── src │ ├── __test__ │ │ └── index.spec.ts │ ├── const.ts │ ├── request.ts │ └── index.ts └── package.json ├── renovate.json ├── benchmark ├── package.json ├── cluster.ts └── bench.ts ├── tsconfig.json ├── .cargo └── config.toml ├── README.md ├── LICENSE ├── .github └── workflows │ ├── lint.yaml │ └── CI.yaml ├── .gitignore ├── package.json ├── .eslintrc.yml └── pnpm-lock.yaml /.husky/.gitignore: -------------------------------------------------------------------------------- 1 | _ 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | target 2 | -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- 1 | tab_spaces = 2 2 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - js-binding 3 | - benchmark 4 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | yarn lint-staged 5 | -------------------------------------------------------------------------------- /core/build.rs: -------------------------------------------------------------------------------- 1 | extern crate napi_build; 2 | 3 | fn main() { 4 | napi_build::setup(); 5 | } 6 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "./core", 4 | ] 5 | 6 | [profile.release] 7 | lto = true 8 | -------------------------------------------------------------------------------- /npm/darwin-x64/README.md: -------------------------------------------------------------------------------- 1 | # `@hnsjs/core-darwin-x64` 2 | 3 | This is the **x86_64-apple-darwin** binary for `@hnsjs/core` 4 | -------------------------------------------------------------------------------- /npm/android-arm64/README.md: -------------------------------------------------------------------------------- 1 | # `@hnsjs/core-android-arm64` 2 | 3 | This is the **aarch64-linux-android** binary for `@hnsjs/core` 4 | -------------------------------------------------------------------------------- /npm/darwin-arm64/README.md: -------------------------------------------------------------------------------- 1 | # `@hnsjs/core-darwin-arm64` 2 | 3 | This is the **aarch64-apple-darwin** binary for `@hnsjs/core` 4 | -------------------------------------------------------------------------------- /npm/freebsd-x64/README.md: -------------------------------------------------------------------------------- 1 | # `@hnsjs/core-freebsd-x64` 2 | 3 | This is the **x86_64-unknown-freebsd** binary for `@hnsjs/core` 4 | -------------------------------------------------------------------------------- /npm/linux-x64-gnu/README.md: -------------------------------------------------------------------------------- 1 | # `@hnsjs/core-linux-x64-gnu` 2 | 3 | This is the **x86_64-unknown-linux-gnu** binary for `@hnsjs/core` 4 | -------------------------------------------------------------------------------- /npm/win32-x64-msvc/README.md: -------------------------------------------------------------------------------- 1 | # `@hnsjs/core-win32-x64-msvc` 2 | 3 | This is the **x86_64-pc-windows-msvc** binary for `@hnsjs/core` 4 | -------------------------------------------------------------------------------- /npm/linux-arm64-gnu/README.md: -------------------------------------------------------------------------------- 1 | # `@hnsjs/core-linux-arm64-gnu` 2 | 3 | This is the **aarch64-unknown-linux-gnu** binary for `@hnsjs/core` 4 | -------------------------------------------------------------------------------- /npm/linux-x64-musl/README.md: -------------------------------------------------------------------------------- 1 | # `@hnsjs/core-linux-x64-musl` 2 | 3 | This is the **x86_64-unknown-linux-musl** binary for `@hnsjs/core` 4 | -------------------------------------------------------------------------------- /npm/win32-arm64-msvc/README.md: -------------------------------------------------------------------------------- 1 | # `@hnsjs/core-win32-arm64-msvc` 2 | 3 | This is the **aarch64-pc-windows-msvc** binary for `@hnsjs/core` 4 | -------------------------------------------------------------------------------- /npm/linux-arm64-musl/README.md: -------------------------------------------------------------------------------- 1 | # `@hnsjs/core-linux-arm64-musl` 2 | 3 | This is the **aarch64-unknown-linux-musl** binary for `@hnsjs/core` 4 | -------------------------------------------------------------------------------- /npm/linux-arm-gnueabihf/README.md: -------------------------------------------------------------------------------- 1 | # `@hnsjs/core-linux-arm-gnueabihf` 2 | 3 | This is the **armv7-unknown-linux-gnueabihf** binary for `@hnsjs/core` 4 | -------------------------------------------------------------------------------- /tsconfig.project.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "noEmit": true 5 | }, 6 | "references": [{ "path": "./js-binding" }], 7 | "include": [] 8 | } 9 | -------------------------------------------------------------------------------- /js-binding/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "include": ["src"], 4 | "compilerOptions": { 5 | "rootDir": "./src", 6 | "outDir": "./lib", 7 | "composite": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["config:base", ":preserveSemverRanges"], 3 | "packageRules": [ 4 | { 5 | "automerge": true, 6 | "matchUpdateTypes": ["minor", "patch", "pin", "digest"] 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /benchmark/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "bench", 4 | "version": "0.0.0", 5 | "license": "MIT", 6 | "author": { 7 | "name": "LongYinan", 8 | "email": "lynweklm@gmail.com", 9 | "url": "https://lynvv.xyz" 10 | }, 11 | "dependencies": { 12 | "@hnsjs/core": "^1.0.0", 13 | "autocannon": "^7.3.0" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /js-binding/src/__test__/index.spec.ts: -------------------------------------------------------------------------------- 1 | import test from 'ava' 2 | import { request } from 'undici' 3 | 4 | import { createApp } from '../index' 5 | 6 | const PORT = 3001 7 | 8 | test.before(async () => { 9 | await createApp(PORT) 10 | }) 11 | 12 | test('should be able to create app', async (t) => { 13 | const { statusCode } = await request(`http://127.0.0.1:${PORT}`) 14 | t.is(statusCode, 200) 15 | }) 16 | -------------------------------------------------------------------------------- /js-binding/src/const.ts: -------------------------------------------------------------------------------- 1 | export const enum Version { 2 | HTTP_09 = 'HTTP/0.9', 3 | HTTP_10 = 'HTTP/1.0', 4 | HTTP_1_1 = 'HTTP/1.1', 5 | H2 = 'HTTP/2.0', 6 | H3 = 'HTTP/3.0', 7 | } 8 | 9 | export const enum Method { 10 | Options = 'OPTIONS', 11 | Get = 'GET', 12 | Post = 'POST', 13 | Put = 'PUT', 14 | Delete = 'DELETE', 15 | Head = 'HEAD', 16 | Trace = 'TRACE', 17 | Connect = 'CONNECT', 18 | Patch = 'PATCH', 19 | } 20 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2018", 4 | "strict": true, 5 | "moduleResolution": "node", 6 | "module": "CommonJS", 7 | "noUnusedLocals": true, 8 | "noUnusedParameters": true, 9 | "esModuleInterop": true, 10 | "sourceMap": true, 11 | "stripInternal": true, 12 | "declaration": true, 13 | "allowSyntheticDefaultImports": true 14 | }, 15 | "exclude": ["node_modules"] 16 | } 17 | -------------------------------------------------------------------------------- /.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [target.aarch64-unknown-linux-gnu] 2 | linker = "aarch64-linux-gnu-gcc" 3 | 4 | [target.armv7-unknown-linux-gnueabihf] 5 | linker = "arm-linux-gnueabihf-gcc" 6 | 7 | [target.x86_64-unknown-linux-musl] 8 | rustflags = [ 9 | "-C", 10 | "target-feature=-crt-static", 11 | ] 12 | 13 | [target.aarch64-unknown-linux-musl] 14 | linker = "aarch64-linux-gnu-gcc" 15 | rustflags = ["-C", "target-feature=-crt-static", "-C", "link-arg=-lgcc"] 16 | -------------------------------------------------------------------------------- /js-binding/src/request.ts: -------------------------------------------------------------------------------- 1 | import { Version, Method } from './const' 2 | 3 | export type BodyExternal = { 4 | __type: 'native:external:body' 5 | } 6 | 7 | export interface HttpRequest { 8 | version: Version 9 | method: Method 10 | uri: string 11 | headers: Record 12 | body: RequestBody 13 | } 14 | 15 | export interface RequestBody { 16 | binary: () => Promise 17 | json: () => Promise 18 | text: () => Promise 19 | } 20 | -------------------------------------------------------------------------------- /npm/darwin-x64/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hnsjs/core-darwin-x64", 3 | "version": "1.0.0", 4 | "os": ["darwin"], 5 | "cpu": ["x64"], 6 | "main": "hns.darwin-x64.node", 7 | "files": ["hns.darwin-x64.node"], 8 | "description": "Node.js http server framework powered by Hyper native binding. ", 9 | "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api", "hyper", "http", "https", "http2"], 10 | "license": "MIT", 11 | "engines": { 12 | "node": ">= 10" 13 | }, 14 | "publishConfig": { 15 | "registry": "https://registry.npmjs.org/", 16 | "access": "public" 17 | }, 18 | "repository": "git@github.com:Brooooooklyn/hns.git" 19 | } 20 | -------------------------------------------------------------------------------- /npm/freebsd-x64/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hnsjs/core-freebsd-x64", 3 | "version": "1.0.0", 4 | "os": ["freebsd"], 5 | "cpu": ["x64"], 6 | "main": "hns.freebsd-x64.node", 7 | "files": ["hns.freebsd-x64.node"], 8 | "description": "Node.js http server framework powered by Hyper native binding. ", 9 | "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api", "hyper", "http", "https", "http2"], 10 | "license": "MIT", 11 | "engines": { 12 | "node": ">= 10" 13 | }, 14 | "publishConfig": { 15 | "registry": "https://registry.npmjs.org/", 16 | "access": "public" 17 | }, 18 | "repository": "git@github.com:Brooooooklyn/hns.git" 19 | } 20 | -------------------------------------------------------------------------------- /npm/darwin-arm64/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hnsjs/core-darwin-arm64", 3 | "version": "1.0.0", 4 | "os": ["darwin"], 5 | "cpu": ["arm64"], 6 | "main": "hns.darwin-arm64.node", 7 | "files": ["hns.darwin-arm64.node"], 8 | "description": "Node.js http server framework powered by Hyper native binding. ", 9 | "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api", "hyper", "http", "https", "http2"], 10 | "license": "MIT", 11 | "engines": { 12 | "node": ">= 10" 13 | }, 14 | "publishConfig": { 15 | "registry": "https://registry.npmjs.org/", 16 | "access": "public" 17 | }, 18 | "repository": "git@github.com:Brooooooklyn/hns.git" 19 | } 20 | -------------------------------------------------------------------------------- /npm/linux-x64-gnu/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hnsjs/core-linux-x64-gnu", 3 | "version": "1.0.0", 4 | "os": ["linux"], 5 | "cpu": ["x64"], 6 | "main": "hns.linux-x64-gnu.node", 7 | "files": ["hns.linux-x64-gnu.node"], 8 | "description": "Node.js http server framework powered by Hyper native binding. ", 9 | "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api", "hyper", "http", "https", "http2"], 10 | "license": "MIT", 11 | "engines": { 12 | "node": ">= 10" 13 | }, 14 | "publishConfig": { 15 | "registry": "https://registry.npmjs.org/", 16 | "access": "public" 17 | }, 18 | "repository": "git@github.com:Brooooooklyn/hns.git" 19 | } 20 | -------------------------------------------------------------------------------- /npm/android-arm64/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hnsjs/core-android-arm64", 3 | "version": "1.0.0", 4 | "os": ["android"], 5 | "cpu": ["arm64"], 6 | "main": "hns.android-arm64.node", 7 | "files": ["hns.android-arm64.node"], 8 | "description": "Node.js http server framework powered by Hyper native binding. ", 9 | "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api", "hyper", "http", "https", "http2"], 10 | "license": "MIT", 11 | "engines": { 12 | "node": ">= 10" 13 | }, 14 | "publishConfig": { 15 | "registry": "https://registry.npmjs.org/", 16 | "access": "public" 17 | }, 18 | "repository": "git@github.com:Brooooooklyn/hns.git" 19 | } 20 | -------------------------------------------------------------------------------- /npm/linux-x64-musl/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hnsjs/core-linux-x64-musl", 3 | "version": "1.0.0", 4 | "os": ["linux"], 5 | "cpu": ["x64"], 6 | "main": "hns.linux-x64-musl.node", 7 | "files": ["hns.linux-x64-musl.node"], 8 | "description": "Node.js http server framework powered by Hyper native binding. ", 9 | "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api", "hyper", "http", "https", "http2"], 10 | "license": "MIT", 11 | "engines": { 12 | "node": ">= 10" 13 | }, 14 | "publishConfig": { 15 | "registry": "https://registry.npmjs.org/", 16 | "access": "public" 17 | }, 18 | "repository": "git@github.com:Brooooooklyn/hns.git" 19 | } 20 | -------------------------------------------------------------------------------- /npm/win32-x64-msvc/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hnsjs/core-win32-x64-msvc", 3 | "version": "1.0.0", 4 | "os": ["win32"], 5 | "cpu": ["x64"], 6 | "main": "hns.win32-x64-msvc.node", 7 | "files": ["hns.win32-x64-msvc.node"], 8 | "description": "Node.js http server framework powered by Hyper native binding. ", 9 | "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api", "hyper", "http", "https", "http2"], 10 | "license": "MIT", 11 | "engines": { 12 | "node": ">= 10" 13 | }, 14 | "publishConfig": { 15 | "registry": "https://registry.npmjs.org/", 16 | "access": "public" 17 | }, 18 | "repository": "git@github.com:Brooooooklyn/hns.git" 19 | } 20 | -------------------------------------------------------------------------------- /npm/linux-arm64-gnu/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hnsjs/core-linux-arm64-gnu", 3 | "version": "1.0.0", 4 | "os": ["linux"], 5 | "cpu": ["arm64"], 6 | "main": "hns.linux-arm64-gnu.node", 7 | "files": ["hns.linux-arm64-gnu.node"], 8 | "description": "Node.js http server framework powered by Hyper native binding. ", 9 | "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api", "hyper", "http", "https", "http2"], 10 | "license": "MIT", 11 | "engines": { 12 | "node": ">= 10" 13 | }, 14 | "publishConfig": { 15 | "registry": "https://registry.npmjs.org/", 16 | "access": "public" 17 | }, 18 | "repository": "git@github.com:Brooooooklyn/hns.git" 19 | } 20 | -------------------------------------------------------------------------------- /npm/linux-arm64-musl/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hnsjs/core-linux-arm64-musl", 3 | "version": "1.0.0", 4 | "os": ["linux"], 5 | "cpu": ["arm64"], 6 | "main": "hns.linux-arm64-musl.node", 7 | "files": ["hns.linux-arm64-musl.node"], 8 | "description": "Node.js http server framework powered by Hyper native binding. ", 9 | "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api", "hyper", "http", "https", "http2"], 10 | "license": "MIT", 11 | "engines": { 12 | "node": ">= 10" 13 | }, 14 | "publishConfig": { 15 | "registry": "https://registry.npmjs.org/", 16 | "access": "public" 17 | }, 18 | "repository": "git@github.com:Brooooooklyn/hns.git" 19 | } 20 | -------------------------------------------------------------------------------- /npm/win32-arm64-msvc/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hnsjs/core-win32-arm64-msvc", 3 | "version": "1.0.0", 4 | "os": ["win32"], 5 | "cpu": ["arm64"], 6 | "main": "hns.win32-arm64-msvc.node", 7 | "files": ["hns.win32-arm64-msvc.node"], 8 | "description": "Node.js http server framework powered by Hyper native binding. ", 9 | "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api", "hyper", "http", "https", "http2"], 10 | "license": "MIT", 11 | "engines": { 12 | "node": ">= 10" 13 | }, 14 | "publishConfig": { 15 | "registry": "https://registry.npmjs.org/", 16 | "access": "public" 17 | }, 18 | "repository": "git@github.com:Brooooooklyn/hns.git" 19 | } 20 | -------------------------------------------------------------------------------- /npm/linux-arm-gnueabihf/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hnsjs/core-linux-arm-gnueabihf", 3 | "version": "1.0.0", 4 | "os": ["linux"], 5 | "cpu": ["arm"], 6 | "main": "hns.linux-arm-gnueabihf.node", 7 | "files": ["hns.linux-arm-gnueabihf.node"], 8 | "description": "Node.js http server framework powered by Hyper native binding. ", 9 | "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api", "hyper", "http", "https", "http2"], 10 | "license": "MIT", 11 | "engines": { 12 | "node": ">= 10" 13 | }, 14 | "publishConfig": { 15 | "registry": "https://registry.npmjs.org/", 16 | "access": "public" 17 | }, 18 | "repository": "git@github.com:Brooooooklyn/hns.git" 19 | } 20 | -------------------------------------------------------------------------------- /benchmark/cluster.ts: -------------------------------------------------------------------------------- 1 | import cluster from 'cluster' 2 | import http from 'http' 3 | import { cpus } from 'os' 4 | 5 | const CPU_CORES = cpus().length 6 | 7 | if (cluster.isMaster) { 8 | console.info(`Master ${process.pid} is running`) 9 | 10 | // Fork workers. 11 | for (let i = 0; i < CPU_CORES; i++) { 12 | cluster.fork() 13 | } 14 | 15 | cluster.on('exit', (worker) => { 16 | console.info(`worker ${worker.process.pid} died`) 17 | }) 18 | } else { 19 | // Workers can share any TCP connection 20 | // In this case it is an HTTP server 21 | http 22 | .createServer((_req, res) => { 23 | res.writeHead(200) 24 | res.end('Hello!') 25 | }) 26 | .listen(3000) 27 | 28 | console.info(`Worker ${process.pid} started`) 29 | } 30 | -------------------------------------------------------------------------------- /core/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | authors = ["LongYinan "] 3 | edition = "2018" 4 | name = "hns" 5 | version = "0.1.0" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [lib] 10 | crate-type = ["cdylib"] 11 | 12 | [dependencies] 13 | futures = "0.3" 14 | http = "0.2" 15 | hyper = {version = "0.14", features = ["tcp", "http1", "http2", "server", "stream"]} 16 | napi = {version = "1", features = ["tokio_rt", "serde-json"]} 17 | napi-derive = "1" 18 | serde = "1" 19 | serde_derive = "1" 20 | serde_json = "1" 21 | tokio = {version = "1", features = [ 22 | "fs", 23 | "macros", 24 | "io-std", 25 | "io-util", 26 | "rt", 27 | "rt-multi-thread", 28 | "sync", 29 | "time", 30 | "test-util", 31 | ]} 32 | 33 | [target.'cfg(all(target_arch = "x86_64", not(target_env = "musl")))'.dependencies] 34 | mimalloc = {version = "0.1"} 35 | 36 | [build-dependencies] 37 | napi-build = "1" 38 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # hnsjs 2 | 3 | ![https://github.com/Brooooooklyn/hns/actions](https://github.com/Brooooooklyn/hns/workflows/CI/badge.svg) 4 | 5 | > POC project. 6 | 7 | ## Install this test package 8 | 9 | ``` 10 | yarn add @hnsjs/core 11 | ``` 12 | 13 | ## Support matrix 14 | 15 | | | node12 | node14 | node16 | 16 | | ---------------- | ------ | ------ | ------ | 17 | | Windows x64 | ✓ | ✓ | ✓ | 18 | | Windows arm64 | ✓ | ✓ | ✓ | 19 | | macOS x64 | ✓ | ✓ | ✓ | 20 | | macOS arm64 | ✓ | ✓ | ✓ | 21 | | Linux x64 gnu | ✓ | ✓ | ✓ | 22 | | Linux x64 musl | ✓ | ✓ | ✓ | 23 | | Linux arm gnu | ✓ | ✓ | ✓ | 24 | | Linux arm64 gnu | ✓ | ✓ | ✓ | 25 | | Linux arm64 musl | ✓ | ✓ | ✓ | 26 | | Android arm64 | ✓ | ✓ | ✓ | 27 | | FreeBSD x64 | ✓ | ✓ | ✓ | 28 | 29 | ## Performance 30 | 31 | > WIP 32 | -------------------------------------------------------------------------------- /js-binding/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hnsjs/core", 3 | "version": "1.0.0", 4 | "description": "Node.js http server framework powered by Hyper native binding. ", 5 | "main": "./lib/index.js", 6 | "repository": "git@github.com:Brooooooklyn/hns.git", 7 | "license": "MIT", 8 | "keywords": [ 9 | "napi-rs", 10 | "NAPI", 11 | "N-API", 12 | "Rust", 13 | "Node-API", 14 | "node-addon", 15 | "node-addon-api", 16 | "hyper", 17 | "http", 18 | "https", 19 | "http2", 20 | "quic", 21 | "http3" 22 | ], 23 | "files": ["lib", "src"], 24 | "types": "./src/index.ts", 25 | "engines": { 26 | "node": ">= 10" 27 | }, 28 | "publishConfig": { 29 | "registry": "https://registry.npmjs.org/", 30 | "access": "public" 31 | }, 32 | "scripts": { 33 | "prepublishOnly": "napi prepublish", 34 | "version": "napi version" 35 | }, 36 | "dependencies": { 37 | "@node-rs/helper": "^1.2.0" 38 | }, 39 | "funding": { 40 | "type": "github", 41 | "url": "https://github.com/sponsors/Brooooooklyn" 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 N-API for Rust 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 | -------------------------------------------------------------------------------- /.github/workflows/lint.yaml: -------------------------------------------------------------------------------- 1 | name: Lint 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | tags-ignore: 8 | - '**' 9 | pull_request: 10 | 11 | jobs: 12 | lint: 13 | name: Lint 14 | runs-on: ubuntu-latest 15 | steps: 16 | - uses: actions/checkout@v2 17 | 18 | - name: Setup node 19 | uses: actions/setup-node@v2 20 | with: 21 | node-version: 14 22 | 23 | - name: Install 24 | uses: actions-rs/toolchain@v1 25 | with: 26 | toolchain: stable 27 | profile: minimal 28 | override: true 29 | components: rustfmt, clippy 30 | 31 | - name: Cache NPM dependencies 32 | uses: actions/cache@v2 33 | with: 34 | path: node_modules 35 | key: npm-cache-lint-node@14-${{ hashFiles('yarn.lock') }} 36 | 37 | - name: 'Install dependencies' 38 | run: yarn install --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000 39 | 40 | - name: ESLint 41 | run: yarn lint 42 | 43 | - name: Cargo fmt 44 | run: cargo fmt -- --check 45 | 46 | - name: Clippy 47 | run: cargo clippy 48 | -------------------------------------------------------------------------------- /benchmark/bench.ts: -------------------------------------------------------------------------------- 1 | import { exec } from 'child_process' 2 | import { createServer } from 'http' 3 | 4 | import { createApp } from '@hnsjs/core' 5 | 6 | const PORT = 3000 7 | 8 | function createHttpServer() { 9 | return new Promise((resolve, reject) => { 10 | const server = createServer((req, res) => { 11 | if (req.url === '/favicon.ico') return 12 | if (req.url === '/') return res.end('Hello!') 13 | }) 14 | server 15 | .listen(PORT, 'localhost') 16 | .on('listening', () => { 17 | resolve() 18 | }) 19 | .on('error', (err) => { 20 | reject(err) 21 | }) 22 | }) 23 | } 24 | 25 | async function run() { 26 | await createHttpServer() 27 | await createApp(PORT + 1) 28 | await wrk(PORT) 29 | await wrk(PORT + 1) 30 | process.exit(0) 31 | } 32 | 33 | function wrk(port: number) { 34 | return new Promise((resolve, reject) => { 35 | exec(`npx autocannon -c 8 -w 4 -d 30 http://localhost:${port}`, (err, stdout, stderr) => { 36 | if (err) { 37 | reject(err) 38 | } else { 39 | console.info(stdout) 40 | console.info(stderr) 41 | resolve() 42 | } 43 | }) 44 | }) 45 | } 46 | 47 | run().catch((e) => { 48 | console.error(e) 49 | }) 50 | -------------------------------------------------------------------------------- /js-binding/src/index.ts: -------------------------------------------------------------------------------- 1 | import { join } from 'path' 2 | 3 | import { loadBinding } from '@node-rs/helper' 4 | 5 | import { Method, Version } from './const' 6 | import { HttpRequest, BodyExternal } from './request' 7 | 8 | const { 9 | createApp: createNativeApp, 10 | getBodyText, 11 | getBodyBinary, 12 | getBodyJson, 13 | } = loadBinding(join(__dirname, '..', '..'), 'hns', '@hnsjs/core') 14 | 15 | export interface HttpResponse {} 16 | 17 | export function createApp(port: number, onRequest?: (req: HttpRequest) => Promise | HttpResponse) { 18 | return new Promise((resolve, reject) => { 19 | createNativeApp( 20 | port, 21 | (err: Error | null) => { 22 | if (err) { 23 | reject(err) 24 | } else { 25 | resolve() 26 | } 27 | }, 28 | (err: Error | null, version: Version, method: Method, uri: string, headers: string, body: BodyExternal) => { 29 | if (err) { 30 | console.error(err) 31 | } 32 | const req: HttpRequest = { 33 | version, 34 | method, 35 | uri, 36 | headers: JSON.parse(headers), 37 | body: { 38 | text() { 39 | return getBodyText(body) 40 | }, 41 | binary() { 42 | return getBodyBinary(body) 43 | }, 44 | json() { 45 | return getBodyJson(body) 46 | }, 47 | }, 48 | } 49 | if (onRequest) { 50 | Promise.resolve(onRequest(req)).catch((e) => { 51 | console.error(e) 52 | }) 53 | } 54 | }, 55 | ).catch(reject) 56 | }) 57 | } 58 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.toptal.com/developers/gitignore/api/node 3 | # Edit at https://www.toptal.com/developers/gitignore?templates=node 4 | 5 | ### Node ### 6 | # Logs 7 | logs 8 | *.log 9 | npm-debug.log* 10 | yarn-debug.log* 11 | yarn-error.log* 12 | lerna-debug.log* 13 | 14 | # Diagnostic reports (https://nodejs.org/api/report.html) 15 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 16 | 17 | # Runtime data 18 | pids 19 | *.pid 20 | *.seed 21 | *.pid.lock 22 | 23 | # Directory for instrumented libs generated by jscoverage/JSCover 24 | lib-cov 25 | 26 | # Coverage directory used by tools like istanbul 27 | coverage 28 | *.lcov 29 | 30 | # nyc test coverage 31 | .nyc_output 32 | 33 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 34 | .grunt 35 | 36 | # Bower dependency directory (https://bower.io/) 37 | bower_components 38 | 39 | # node-waf configuration 40 | .lock-wscript 41 | 42 | # Compiled binary addons (https://nodejs.org/api/addons.html) 43 | build/Release 44 | 45 | # Dependency directories 46 | node_modules/ 47 | jspm_packages/ 48 | 49 | # TypeScript v1 declaration files 50 | typings/ 51 | 52 | # TypeScript cache 53 | *.tsbuildinfo 54 | 55 | # Optional npm cache directory 56 | .npm 57 | 58 | # Optional eslint cache 59 | .eslintcache 60 | 61 | # Microbundle cache 62 | .rpt2_cache/ 63 | .rts2_cache_cjs/ 64 | .rts2_cache_es/ 65 | .rts2_cache_umd/ 66 | 67 | # Optional REPL history 68 | .node_repl_history 69 | 70 | # Output of 'npm pack' 71 | *.tgz 72 | 73 | # Yarn Integrity file 74 | .yarn-integrity 75 | 76 | # dotenv environment variables file 77 | .env 78 | .env.test 79 | 80 | # parcel-bundler cache (https://parceljs.org/) 81 | .cache 82 | 83 | # Next.js build output 84 | .next 85 | 86 | # Nuxt.js build / generate output 87 | .nuxt 88 | dist 89 | 90 | # Gatsby files 91 | .cache/ 92 | # Comment in the public line in if your project uses Gatsby and not Next.js 93 | # https://nextjs.org/blog/next-9-1#public-directory-support 94 | # public 95 | 96 | # vuepress build output 97 | .vuepress/dist 98 | 99 | # Serverless directories 100 | .serverless/ 101 | 102 | # FuseBox cache 103 | .fusebox/ 104 | 105 | # DynamoDB Local files 106 | .dynamodb/ 107 | 108 | # TernJS port file 109 | .tern-port 110 | 111 | # Stores VSCode versions used for testing VSCode extensions 112 | .vscode-test 113 | 114 | # End of https://www.toptal.com/developers/gitignore/api/node 115 | 116 | 117 | #Added by cargo 118 | 119 | /target 120 | Cargo.lock 121 | 122 | *.node 123 | lib -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hns", 3 | "version": "1.0.0", 4 | "description": "Node.js http server framework powered by Hyper native binding. ", 5 | "repository": "git@github.com:Brooooooklyn/hns.git", 6 | "license": "MIT", 7 | "private": true, 8 | "keywords": [ 9 | "napi-rs", 10 | "NAPI", 11 | "N-API", 12 | "Rust", 13 | "Node-API", 14 | "node-addon", 15 | "node-addon-api", 16 | "hyper", 17 | "http", 18 | "https", 19 | "http2", 20 | "quic", 21 | "http3" 22 | ], 23 | "files": ["js-binding"], 24 | "napi": { 25 | "name": "hns", 26 | "triples": { 27 | "defaults": true, 28 | "additional": [ 29 | "x86_64-unknown-linux-musl", 30 | "aarch64-unknown-linux-gnu", 31 | "armv7-unknown-linux-gnueabihf", 32 | "aarch64-apple-darwin", 33 | "aarch64-linux-android", 34 | "x86_64-unknown-freebsd", 35 | "aarch64-unknown-linux-musl", 36 | "aarch64-pc-windows-msvc" 37 | ] 38 | } 39 | }, 40 | "engines": { 41 | "node": ">= 10" 42 | }, 43 | "publishConfig": { 44 | "registry": "https://registry.npmjs.org/", 45 | "access": "public" 46 | }, 47 | "scripts": { 48 | "artifacts": "napi artifacts", 49 | "bench": "node -r @swc-node/register benchmark/bench.ts", 50 | "build": "napi build --platform --release --cargo-name hns", 51 | "build:ts": "tsc -b tsconfig.project.json", 52 | "build:debug": "napi build --platform --cargo-name hns", 53 | "format": "run-p format:md format:json format:yaml format:source format:rs", 54 | "format:md": "prettier --parser markdown --write ./**/*.md", 55 | "format:json": "prettier --parser json --write ./**/*.json", 56 | "format:rs": "cargo fmt", 57 | "format:source": "prettier --config ./package.json --write ./**/*.{js,ts}", 58 | "format:yaml": "prettier --parser yaml --write ./**/*.{yml,yaml}", 59 | "lint": "eslint -c ./.eslintrc.yml .", 60 | "prepublishOnly": "napi prepublish -t npm", 61 | "test": "ava", 62 | "version": "napi version" 63 | }, 64 | "devDependencies": { 65 | "@napi-rs/cli": "^1.1.0", 66 | "@swc-node/register": "^1.3.2", 67 | "@typescript-eslint/eslint-plugin": "^4.26.1", 68 | "@typescript-eslint/parser": "^4.26.1", 69 | "autocannon": "^7.3.0", 70 | "ava": "^3.15.0", 71 | "benny": "^3.6.15", 72 | "chalk": "^4.1.1", 73 | "eslint": "^7.28.0", 74 | "eslint-config-prettier": "^8.3.0", 75 | "eslint-plugin-import": "^2.23.4", 76 | "eslint-plugin-prettier": "^3.4.0", 77 | "eslint-plugin-sonarjs": "^0.7.0", 78 | "husky": "^6.0.0", 79 | "lint-staged": "^11.0.0", 80 | "npm-run-all": "^4.1.5", 81 | "prettier": "^2.3.1", 82 | "typescript": "^4.3.2", 83 | "undici": "^4.0.0-alpha.2" 84 | }, 85 | "lint-staged": { 86 | "*.@(js|ts|tsx)": ["prettier --write", "eslint -c .eslintrc.yml --fix"], 87 | "*.@(yml|yaml)": ["prettier --parser yaml --write"], 88 | "*.md": ["prettier --parser markdown --write"], 89 | "*.json": ["prettier --parser json --write"] 90 | }, 91 | "ava": { 92 | "require": ["@swc-node/register"], 93 | "extensions": ["ts"], 94 | "environmentVariables": { 95 | "TS_NODE_PROJECT": "./tsconfig.json" 96 | } 97 | }, 98 | "prettier": { 99 | "printWidth": 120, 100 | "semi": false, 101 | "trailingComma": "all", 102 | "singleQuote": true, 103 | "arrowParens": "always", 104 | "parser": "typescript" 105 | }, 106 | "funding": { 107 | "type": "github", 108 | "url": "https://github.com/sponsors/Brooooooklyn" 109 | } 110 | } 111 | -------------------------------------------------------------------------------- /core/src/lib.rs: -------------------------------------------------------------------------------- 1 | #![deny(clippy::all)] 2 | 3 | #[macro_use] 4 | extern crate napi_derive; 5 | 6 | use std::convert::{Infallible, TryInto}; 7 | 8 | use hyper::body::HttpBody; 9 | use hyper::service::{make_service_fn, service_fn}; 10 | use hyper::{Body, Request, Response, Server}; 11 | use napi::{ 12 | self, 13 | threadsafe_function::{ThreadsafeFunction, ThreadsafeFunctionCallMode}, 14 | CallContext, Error as NapiError, JsFunction, JsNumber, JsObject, Result as JsResult, Status, 15 | }; 16 | 17 | #[cfg(all( 18 | target_arch = "x86_64", 19 | not(target_env = "musl"), 20 | not(debug_assertions) 21 | ))] 22 | #[global_allocator] 23 | static ALLOC: mimalloc::MiMalloc = mimalloc::MiMalloc; 24 | 25 | #[module_exports] 26 | fn init(mut exports: JsObject) -> JsResult<()> { 27 | exports.create_named_method("createApp", create_app)?; 28 | Ok(()) 29 | } 30 | 31 | #[js_function(3)] 32 | fn create_app(ctx: CallContext) -> JsResult { 33 | let port: u32 = ctx.get::(0)?.try_into()?; 34 | let ready_callback = ctx.get::(1)?; 35 | let on_req_callback = ctx.get::(2)?; 36 | let ready_tsfn_callback = ctx.env.create_threadsafe_function( 37 | &ready_callback, 38 | 1, 39 | |cx: napi::threadsafe_function::ThreadSafeCallContext>| { 40 | cx.env.get_boolean(true).map(|v| vec![v]) 41 | }, 42 | )?; 43 | let req_tsfn_callback = ctx.env.create_threadsafe_function( 44 | &on_req_callback, 45 | 1, 46 | |cx: napi::threadsafe_function::ThreadSafeCallContext>| { 47 | let (parts, body) = cx.value.into_parts(); 48 | let version = format!("{:?}", &parts.version); 49 | let method = parts.method.as_str(); 50 | let uri = format!("{}", &parts.uri); 51 | let headers = format!("{:?}", &parts.headers); 52 | let body_size_hint = body.size_hint().upper().map(|s| s as i64); 53 | let body = cx.env.create_external(body, body_size_hint)?; 54 | Ok(vec![ 55 | cx.env.create_string(&version)?.into_unknown(), 56 | cx.env.create_string(method)?.into_unknown(), 57 | cx.env.create_string(&uri)?.into_unknown(), 58 | cx.env.create_string(&headers)?.into_unknown(), 59 | body.into_unknown(), 60 | ]) 61 | }, 62 | )?; 63 | let tsfn_for_err = ready_tsfn_callback.clone(); 64 | let start = async move { 65 | let addr = ([127, 0, 0, 1], port as _).into(); 66 | let make_svc = make_service_fn(move |_conn| { 67 | let req_tsfn_callback = req_tsfn_callback.clone(); 68 | async { 69 | Ok::<_, Infallible>(service_fn(move |req: Request| { 70 | let req_tsfn_callback = req_tsfn_callback.clone(); 71 | on_req(req, req_tsfn_callback) 72 | })) 73 | } 74 | }); 75 | let server = Server::bind(&addr).serve(make_svc); 76 | 77 | ready_tsfn_callback.call( 78 | Ok(None), 79 | napi::threadsafe_function::ThreadsafeFunctionCallMode::Blocking, 80 | ); 81 | server.await.map_err(move |e| { 82 | let err = NapiError::new(Status::GenericFailure, format!("{}", e)); 83 | tsfn_for_err.call( 84 | Err(err), 85 | napi::threadsafe_function::ThreadsafeFunctionCallMode::Blocking, 86 | ); 87 | NapiError::new(Status::GenericFailure, format!("{}", e)) 88 | })?; 89 | 90 | Ok(()) 91 | }; 92 | ctx 93 | .env 94 | .execute_tokio_future(start, |env, _| env.get_undefined()) 95 | } 96 | 97 | #[inline(always)] 98 | async fn on_req( 99 | req: Request, 100 | callback: ThreadsafeFunction>, 101 | ) -> Result, Infallible> { 102 | callback.call(Ok(req), ThreadsafeFunctionCallMode::NonBlocking); 103 | 104 | Ok(Response::new(Body::from("Hello!"))) 105 | } 106 | -------------------------------------------------------------------------------- /.eslintrc.yml: -------------------------------------------------------------------------------- 1 | parser: '@typescript-eslint/parser' 2 | 3 | parserOptions: 4 | ecmaFeatures: 5 | jsx: true 6 | ecmaVersion: 2020 7 | sourceType: module 8 | 9 | env: 10 | browser: true 11 | es6: true 12 | node: true 13 | jest: true 14 | 15 | plugins: 16 | - import 17 | - sonarjs 18 | 19 | extends: 20 | - eslint:recommended 21 | - plugin:sonarjs/recommended 22 | - plugin:prettier/recommended 23 | 24 | rules: 25 | # 0 = off, 1 = warn, 2 = error 26 | 'space-before-function-paren': 0 27 | 'no-useless-constructor': 0 28 | 'no-undef': 2 29 | 'no-console': [2, { allow: ['error', 'warn', 'info', 'assert'] }] 30 | 'comma-dangle': ['error', 'only-multiline'] 31 | 'no-unused-vars': 0 32 | 'no-var': 2 33 | 'one-var-declaration-per-line': 2 34 | 'prefer-const': 2 35 | 'no-const-assign': 2 36 | 'no-duplicate-imports': 2 37 | 'no-use-before-define': [2, { 'functions': false, 'classes': false }] 38 | 'eqeqeq': [2, 'always', { 'null': 'ignore' }] 39 | 'no-case-declarations': 0 40 | 'no-restricted-syntax': 41 | [ 42 | 2, 43 | { 44 | 'selector': 'BinaryExpression[operator=/(==|===|!=|!==)/][left.raw=true], BinaryExpression[operator=/(==|===|!=|!==)/][right.raw=true]', 45 | 'message': Don't compare for equality against boolean literals, 46 | }, 47 | ] 48 | 49 | # https://github.com/benmosher/eslint-plugin-import/pull/334 50 | 'import/no-duplicates': 2 51 | 'import/first': 2 52 | 'import/newline-after-import': 2 53 | 'import/order': 54 | [ 55 | 2, 56 | { 57 | 'newlines-between': 'always', 58 | 'alphabetize': { 'order': 'asc' }, 59 | 'groups': ['builtin', 'external', 'internal', 'parent', 'sibling', 'index'], 60 | }, 61 | ] 62 | 63 | 'sonarjs/cognitive-complexity': 0 64 | 'sonarjs/no-duplicate-string': 0 65 | 'sonarjs/no-big-function': 0 66 | 'sonarjs/no-identical-functions': 0 67 | 'sonarjs/no-small-switch': 0 68 | 69 | overrides: 70 | - files: 71 | - ./**/*.{ts,tsx} 72 | rules: 73 | 'no-unused-vars': [2, { varsIgnorePattern: '^_', argsIgnorePattern: '^_', ignoreRestSiblings: true }] 74 | 75 | - files: 76 | - ./**/*{.ts,.tsx} 77 | plugins: 78 | - '@typescript-eslint' 79 | parserOptions: 80 | project: ./tsconfig.json 81 | rules: 82 | 'no-undef': 0 83 | # TypeScript declare merge 84 | 'no-redeclare': 0 85 | 'no-useless-constructor': 0 86 | 'no-unused-vars': 0 87 | 'no-dupe-class-members': 0 88 | 'no-case-declarations': 0 89 | 'no-duplicate-imports': 0 90 | # TypeScript Interface and Type 91 | 'no-use-before-define': 0 92 | 93 | '@typescript-eslint/adjacent-overload-signatures': 2 94 | '@typescript-eslint/await-thenable': 2 95 | '@typescript-eslint/consistent-type-assertions': 2 96 | '@typescript-eslint/ban-types': 97 | [ 98 | 'error', 99 | { 100 | 'types': 101 | { 102 | 'String': { 'message': 'Use string instead', 'fixWith': 'string' }, 103 | 'Number': { 'message': 'Use number instead', 'fixWith': 'number' }, 104 | 'Boolean': { 'message': 'Use boolean instead', 'fixWith': 'boolean' }, 105 | 'Function': { 'message': 'Use explicit type instead' }, 106 | }, 107 | }, 108 | ] 109 | '@typescript-eslint/explicit-member-accessibility': 110 | [ 111 | 'error', 112 | { 113 | accessibility: 'explicit', 114 | overrides: 115 | { 116 | accessors: 'no-public', 117 | constructors: 'no-public', 118 | methods: 'no-public', 119 | properties: 'no-public', 120 | parameterProperties: 'explicit', 121 | }, 122 | }, 123 | ] 124 | '@typescript-eslint/method-signature-style': 2 125 | '@typescript-eslint/no-floating-promises': 2 126 | '@typescript-eslint/no-implied-eval': 2 127 | '@typescript-eslint/no-for-in-array': 2 128 | '@typescript-eslint/no-inferrable-types': 2 129 | '@typescript-eslint/no-invalid-void-type': 2 130 | '@typescript-eslint/no-misused-new': 2 131 | '@typescript-eslint/no-misused-promises': 2 132 | '@typescript-eslint/no-namespace': 2 133 | '@typescript-eslint/no-non-null-asserted-optional-chain': 2 134 | '@typescript-eslint/no-throw-literal': 2 135 | '@typescript-eslint/no-unnecessary-boolean-literal-compare': 2 136 | '@typescript-eslint/prefer-for-of': 2 137 | '@typescript-eslint/prefer-nullish-coalescing': 2 138 | '@typescript-eslint/switch-exhaustiveness-check': 2 139 | '@typescript-eslint/prefer-optional-chain': 2 140 | '@typescript-eslint/prefer-readonly': 2 141 | '@typescript-eslint/prefer-string-starts-ends-with': 0 142 | '@typescript-eslint/no-array-constructor': 2 143 | '@typescript-eslint/require-await': 2 144 | '@typescript-eslint/return-await': 2 145 | '@typescript-eslint/ban-ts-comment': 146 | [2, { 'ts-expect-error': false, 'ts-ignore': true, 'ts-nocheck': true, 'ts-check': false }] 147 | '@typescript-eslint/naming-convention': 148 | [ 149 | 2, 150 | { 151 | selector: 'memberLike', 152 | format: ['camelCase', 'PascalCase'], 153 | modifiers: ['private'], 154 | leadingUnderscore: 'forbid', 155 | }, 156 | ] 157 | '@typescript-eslint/no-unused-vars': 158 | [2, { varsIgnorePattern: '^_', argsIgnorePattern: '^_', ignoreRestSiblings: true }] 159 | '@typescript-eslint/member-ordering': 160 | [ 161 | 2, 162 | { 163 | default: 164 | [ 165 | 'public-static-field', 166 | 'protected-static-field', 167 | 'private-static-field', 168 | 'public-static-method', 169 | 'protected-static-method', 170 | 'private-static-method', 171 | 'public-instance-field', 172 | 'protected-instance-field', 173 | 'private-instance-field', 174 | 'public-constructor', 175 | 'protected-constructor', 176 | 'private-constructor', 177 | 'public-instance-method', 178 | 'protected-instance-method', 179 | 'private-instance-method', 180 | ], 181 | }, 182 | ] 183 | -------------------------------------------------------------------------------- /.github/workflows/CI.yaml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | env: 4 | DEBUG: 'napi:*' 5 | APP_NAME: 'hns' 6 | MACOSX_DEPLOYMENT_TARGET: '10.13' 7 | PNPM_CACHE_FOLDER: .pnpm-store 8 | PNPM_VERSION: '6.7.6' 9 | 10 | on: 11 | push: 12 | branches: 13 | - main 14 | tags-ignore: 15 | - '**' 16 | pull_request: 17 | 18 | jobs: 19 | build: 20 | if: "!contains(github.event.head_commit.message, 'skip ci')" 21 | 22 | strategy: 23 | fail-fast: false 24 | matrix: 25 | settings: 26 | - host: macos-latest 27 | target: 'x86_64-apple-darwin' 28 | build: yarn build 29 | - host: windows-latest 30 | build: yarn build 31 | target: 'x86_64-pc-windows-msvc' 32 | - host: ubuntu-20.04 33 | target: 'x86_64-unknown-linux-gnu' 34 | docker: | 35 | docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD $DOCKER_REGISTRY_URL 36 | docker pull $DOCKER_REGISTRY_URL/napi-rs/napi-rs/nodejs-rust:lts-debian 37 | docker tag $DOCKER_REGISTRY_URL/napi-rs/napi-rs/nodejs-rust:lts-debian builder 38 | build: | 39 | docker run --rm -v ~/.cargo/git:/root/.cargo/git -v ~/.cargo/registry:/root/.cargo/registry -v $(pwd):/build -e PNPM_CACHE_FOLDER=.pnpm-store -w /build builder sh -c "yarn global add pnpm && yarn build" 40 | - host: ubuntu-20.04 41 | target: 'x86_64-unknown-linux-musl' 42 | docker: | 43 | docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD $DOCKER_REGISTRY_URL 44 | docker pull $DOCKER_REGISTRY_URL/napi-rs/napi-rs/nodejs-rust:lts-alpine 45 | docker tag $DOCKER_REGISTRY_URL/napi-rs/napi-rs/nodejs-rust:lts-alpine builder 46 | build: docker run --rm -v ~/.cargo/git:/root/.cargo/git -v ~/.cargo/registry:/root/.cargo/registry -v $(pwd):/build -e PNPM_CACHE_FOLDER=.pnpm-store -w /build builder sh -c "yarn global add pnpm && yarn build" 47 | - host: macos-latest 48 | target: 'aarch64-apple-darwin' 49 | build: | 50 | sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*; 51 | export CC=$(xcrun -f clang); 52 | export CXX=$(xcrun -f clang++); 53 | SYSROOT=$(xcrun --sdk macosx --show-sdk-path); 54 | export CFLAGS="-isysroot $SYSROOT -isystem $SYSROOT"; 55 | yarn build --target=aarch64-apple-darwin 56 | - host: ubuntu-20.04 57 | target: 'aarch64-unknown-linux-gnu' 58 | setup: | 59 | sudo apt-get install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu -y 60 | build: yarn build --target=aarch64-unknown-linux-gnu 61 | - host: ubuntu-20.04 62 | target: 'armv7-unknown-linux-gnueabihf' 63 | setup: | 64 | sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf -y 65 | build: yarn build --target=armv7-unknown-linux-gnueabihf 66 | - host: ubuntu-20.04 67 | target: 'aarch64-linux-android' 68 | build: | 69 | export CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang" 70 | yarn build --target aarch64-linux-android 71 | - host: ubuntu-latest 72 | target: 'aarch64-unknown-linux-musl' 73 | setup: | 74 | sudo apt-get update 75 | sudo apt-get install gcc-aarch64-linux-gnu -y 76 | build: yarn build --target aarch64-unknown-linux-musl 77 | - host: windows-latest 78 | target: 'aarch64-pc-windows-msvc' 79 | build: yarn build --target aarch64-pc-windows-msvc 80 | 81 | name: stable - ${{ matrix.settings.target }} - node@14 82 | runs-on: ${{ matrix.settings.host }} 83 | 84 | steps: 85 | - uses: actions/checkout@v2 86 | 87 | - name: Setup node 88 | uses: actions/setup-node@v2 89 | with: 90 | node-version: 14 91 | check-latest: true 92 | 93 | - name: Install 94 | uses: actions-rs/toolchain@v1 95 | with: 96 | profile: minimal 97 | override: true 98 | toolchain: stable 99 | target: ${{ matrix.settings.target }} 100 | 101 | - name: Generate Cargo.lock 102 | uses: actions-rs/cargo@v1 103 | with: 104 | command: generate-lockfile 105 | 106 | - name: Cache cargo registry 107 | uses: actions/cache@v2 108 | with: 109 | path: ~/.cargo/registry 110 | key: ${{ matrix.settings.target }}-node@14-cargo-registry-trimmed-${{ hashFiles('**/Cargo.lock') }} 111 | 112 | - name: Cache cargo index 113 | uses: actions/cache@v2 114 | with: 115 | path: ~/.cargo/git 116 | key: ${{ matrix.settings.target }}-node@14-cargo-index-trimmed-${{ hashFiles('**/Cargo.lock') }} 117 | 118 | - name: Cache NPM dependencies 119 | uses: actions/cache@v2 120 | with: 121 | path: .pnpm-store 122 | key: npm-cache-${{ matrix.settings.target }}-node@14-${{ hashFiles('pnpm-lock.yaml') }} 123 | 124 | - name: Pull latest image 125 | run: ${{ matrix.settings.docker }} 126 | env: 127 | DOCKER_REGISTRY_URL: ghcr.io 128 | DOCKER_USERNAME: ${{ github.actor }} 129 | DOCKER_PASSWORD: ${{ secrets.GITHUB_TOKEN }} 130 | if: ${{ matrix.settings.docker }} 131 | 132 | - name: Setup toolchain 133 | run: ${{ matrix.settings.setup }} 134 | if: ${{ matrix.settings.setup }} 135 | shell: bash 136 | 137 | - uses: pnpm/action-setup@v2.0.1 138 | with: 139 | version: ${{ env.PNPM_VERSION }} 140 | run_install: | 141 | - recursive: true 142 | args: [--frozen-lockfile] 143 | 144 | - name: 'Build' 145 | run: ${{ matrix.settings.build }} 146 | shell: bash 147 | 148 | - name: Upload artifact 149 | uses: actions/upload-artifact@v2 150 | with: 151 | name: bindings-${{ matrix.settings.target }} 152 | path: ${{ env.APP_NAME }}.*.node 153 | 154 | build-freebsd: 155 | runs-on: macos-latest 156 | name: Build FreeBSD 157 | steps: 158 | - uses: actions/checkout@v2 159 | - name: Build 160 | id: build 161 | uses: vmactions/freebsd-vm@v0.1.4 162 | env: 163 | DEBUG: 'napi:*' 164 | RUSTUP_HOME: /usr/local/rustup 165 | CARGO_HOME: /usr/local/cargo 166 | RUSTUP_IO_THREADS: 1 167 | with: 168 | envs: 'DEBUG RUSTUP_HOME CARGO_HOME RUSTUP_IO_THREADS' 169 | usesh: true 170 | mem: 3000 171 | prepare: | 172 | pkg install -y curl node yarn npm python2 173 | curl https://sh.rustup.rs -sSf --output rustup.sh 174 | sh rustup.sh -y --profile minimal --default-toolchain stable 175 | export PATH="/usr/local/cargo/bin:$PATH" 176 | echo "~~~~ rustc --version ~~~~" 177 | rustc --version 178 | echo "~~~~ node -v ~~~~" 179 | node -v 180 | echo "~~~~ yarn --version ~~~~" 181 | yarn --version 182 | run: | 183 | export PATH="/usr/local/cargo/bin:$PATH" 184 | pwd 185 | ls -lah 186 | whoami 187 | env 188 | freebsd-version 189 | yarn global add pnpm --prefix /usr/local 190 | pnpm install 191 | pnpm build 192 | pnpm test 193 | rm -rf node_modules 194 | rm -rf target 195 | 196 | - name: Upload artifact 197 | uses: actions/upload-artifact@v2 198 | with: 199 | name: bindings-freebsd 200 | path: ${{ env.APP_NAME }}.*.node 201 | 202 | test-macOS-windows-binding: 203 | name: Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} 204 | needs: 205 | - build 206 | strategy: 207 | fail-fast: false 208 | matrix: 209 | settings: 210 | - host: macos-latest 211 | target: 'x86_64-apple-darwin' 212 | - host: windows-latest 213 | target: 'x86_64-pc-windows-msvc' 214 | node: ['12', '14', '16'] 215 | runs-on: ${{ matrix.settings.host }} 216 | 217 | steps: 218 | - uses: actions/checkout@v2 219 | 220 | - name: Setup node 221 | uses: actions/setup-node@v2 222 | with: 223 | node-version: ${{ matrix.node }} 224 | check-latest: true 225 | 226 | - name: Cache NPM dependencies 227 | uses: actions/cache@v2 228 | with: 229 | path: .pnpm-store 230 | key: npm-cache-test-${{ matrix.settings.target }}-${{ matrix.node }}-${{ hashFiles('pnpm-lock.yaml') }} 231 | 232 | - uses: pnpm/action-setup@v2.0.1 233 | with: 234 | version: ${{ env.PNPM_VERSION }} 235 | run_install: | 236 | - recursive: true 237 | args: [--frozen-lockfile] 238 | 239 | - name: Download artifacts 240 | uses: actions/download-artifact@v2 241 | with: 242 | name: bindings-${{ matrix.settings.target }} 243 | path: . 244 | 245 | - name: List packages 246 | run: ls -R . 247 | shell: bash 248 | 249 | - name: Test bindings 250 | run: pnpm test 251 | 252 | test-linux-x64-gnu-binding: 253 | name: Test bindings on Linux-x64-gnu - node@${{ matrix.node }} 254 | needs: 255 | - build 256 | strategy: 257 | fail-fast: false 258 | matrix: 259 | node: ['12', '14', '16'] 260 | runs-on: ubuntu-20.04 261 | 262 | steps: 263 | - uses: actions/checkout@v2 264 | 265 | - name: Setup node 266 | uses: actions/setup-node@v2 267 | with: 268 | node-version: ${{ matrix.node }} 269 | check-latest: true 270 | 271 | - name: Cache NPM dependencies 272 | uses: actions/cache@v2 273 | with: 274 | path: .pnpm-store 275 | key: npm-cache-test-linux-x64-gnu-${{ matrix.node }}-${{ hashFiles('pnpm-lock.yaml') }} 276 | 277 | - uses: pnpm/action-setup@v2.0.1 278 | with: 279 | version: ${{ env.PNPM_VERSION }} 280 | run_install: | 281 | - recursive: true 282 | args: [--frozen-lockfile] 283 | 284 | - name: Download artifacts 285 | uses: actions/download-artifact@v2 286 | with: 287 | name: bindings-x86_64-unknown-linux-gnu 288 | path: . 289 | 290 | - name: List packages 291 | run: ls -R . 292 | shell: bash 293 | 294 | - name: Test bindings 295 | run: docker run --rm -v $(pwd):/hns -w /hns node:${{ matrix.node }}-slim sh -c "yarn global add pnpm && pnpm install && pnpm test" 296 | 297 | test-linux-x64-musl-binding: 298 | name: Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }} 299 | needs: 300 | - build 301 | strategy: 302 | fail-fast: false 303 | matrix: 304 | node: ['12', '14', '16'] 305 | runs-on: ubuntu-20.04 306 | 307 | steps: 308 | - uses: actions/checkout@v2 309 | 310 | - name: Setup node 311 | uses: actions/setup-node@v2 312 | with: 313 | node-version: ${{ matrix.node }} 314 | check-latest: true 315 | 316 | - name: Cache NPM dependencies 317 | uses: actions/cache@v2 318 | with: 319 | path: .pnpm-store 320 | key: npm-cache-test-x86_64-unknown-linux-musl-${{ matrix.node }}-${{ hashFiles('pnpm-lock.yaml') }} 321 | 322 | - uses: pnpm/action-setup@v2.0.1 323 | with: 324 | version: ${{ env.PNPM_VERSION }} 325 | run_install: | 326 | - recursive: true 327 | args: [--frozen-lockfile] 328 | 329 | - name: Download artifacts 330 | uses: actions/download-artifact@v2 331 | with: 332 | name: bindings-x86_64-unknown-linux-musl 333 | path: . 334 | 335 | - name: List packages 336 | run: ls -R . 337 | shell: bash 338 | 339 | - name: Test bindings 340 | run: docker run --rm -v $(pwd):/hns -w /hns node:${{ matrix.node }}-alpine sh -c "yarn global add pnpm && pnpm install && pnpm test" 341 | 342 | test-linux-aarch64-gnu-binding: 343 | name: Test bindings on aarch64-unknown-linux-gnu - node@${{ matrix.node }} 344 | needs: 345 | - build 346 | strategy: 347 | fail-fast: false 348 | matrix: 349 | node: ['12', '14', '16'] 350 | runs-on: ubuntu-20.04 351 | 352 | steps: 353 | - run: docker run --rm --privileged multiarch/qemu-user-static:register --reset 354 | 355 | - uses: actions/checkout@v2 356 | 357 | - name: Download artifacts 358 | uses: actions/download-artifact@v2 359 | with: 360 | name: bindings-aarch64-unknown-linux-gnu 361 | path: . 362 | 363 | - name: List packages 364 | run: ls -R . 365 | shell: bash 366 | 367 | - uses: uraimo/run-on-arch-action@v2.0.10 368 | name: Setup and run tests 369 | id: runcmd 370 | with: 371 | arch: aarch64 372 | distro: ubuntu20.04 373 | 374 | dockerRunArgs: | 375 | --volume "${PWD}:/hns" 376 | -w /hns 377 | 378 | # Not required, but speeds up builds by storing container images in 379 | # a GitHub package registry. 380 | githubToken: ${{ github.token }} 381 | 382 | install: | 383 | apt-get update && \ 384 | apt-get install -y ca-certificates gnupg2 curl apt-transport-https && \ 385 | curl -sL https://deb.nodesource.com/setup_${{ matrix.node }}.x | bash - && \ 386 | apt-get install -y nodejs && \ 387 | npm install -g yarn pnpm 388 | run: | 389 | pnpm install --frozen-lockfile 390 | pnpm test 391 | ls -la 392 | 393 | test-linux-arm-gnueabihf-binding: 394 | name: Test bindings on armv7-unknown-linux-gnueabihf - node@${{ matrix.node }} 395 | needs: 396 | - build 397 | strategy: 398 | fail-fast: false 399 | matrix: 400 | node: ['12', '14', '16'] 401 | runs-on: ubuntu-20.04 402 | 403 | steps: 404 | - run: docker run --rm --privileged multiarch/qemu-user-static:register --reset 405 | 406 | - uses: actions/checkout@v2 407 | 408 | - name: Download artifacts 409 | uses: actions/download-artifact@v2 410 | with: 411 | name: bindings-armv7-unknown-linux-gnueabihf 412 | path: . 413 | 414 | - name: List packages 415 | run: ls -R . 416 | shell: bash 417 | 418 | - uses: uraimo/run-on-arch-action@v2.0.10 419 | name: Setup and run tests 420 | id: runcmd 421 | with: 422 | arch: armv7 423 | distro: ubuntu20.04 424 | 425 | dockerRunArgs: | 426 | --volume "${PWD}:/hns" 427 | -w /hns 428 | 429 | # Not required, but speeds up builds by storing container images in 430 | # a GitHub package registry. 431 | githubToken: ${{ github.token }} 432 | 433 | install: | 434 | apt-get update && \ 435 | apt-get install -y ca-certificates gnupg2 curl apt-transport-https && \ 436 | curl -sL https://deb.nodesource.com/setup_${{ matrix.node }}.x | bash - && \ 437 | apt-get install -y nodejs && \ 438 | npm install -g yarn pnpm 439 | run: | 440 | pnpm install --frozen-lockfile 441 | pnpm test 442 | ls -la 443 | 444 | publish: 445 | name: Publish 446 | runs-on: ubuntu-20.04 447 | needs: 448 | - test-linux-x64-gnu-binding 449 | - test-linux-x64-musl-binding 450 | - test-linux-aarch64-gnu-binding 451 | - test-linux-arm-gnueabihf-binding 452 | - test-macOS-windows-binding 453 | - build-freebsd 454 | 455 | steps: 456 | - uses: actions/checkout@v2 457 | 458 | - name: Setup node 459 | uses: actions/setup-node@v2 460 | with: 461 | node-version: 14 462 | check-latest: true 463 | 464 | - name: Cache NPM dependencies 465 | uses: actions/cache@v2 466 | with: 467 | path: .pnpm-store 468 | key: npm-cache-ubuntu-latest-${{ hashFiles('pnpm-lock.yaml') }} 469 | restore-keys: | 470 | npm-cache- 471 | 472 | - uses: pnpm/action-setup@v2.0.1 473 | with: 474 | version: ${{ env.PNPM_VERSION }} 475 | run_install: | 476 | - recursive: true 477 | args: [--frozen-lockfile] 478 | 479 | - name: Download all artifacts 480 | uses: actions/download-artifact@v2 481 | with: 482 | path: artifacts 483 | 484 | - name: Move artifacts 485 | run: yarn artifacts 486 | 487 | - name: List packages 488 | run: ls -R ./npm 489 | shell: bash 490 | 491 | - name: Publish 492 | run: | 493 | if git log -1 --pretty=%B | grep "^[0-9]\+\.[0-9]\+\.[0-9]\+$"; 494 | then 495 | echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc 496 | npm publish --access public 497 | elif git log -1 --pretty=%B | grep "^[0-9]\+\.[0-9]\+\.[0-9]\+"; 498 | then 499 | echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc 500 | npm publish --tag next --access public 501 | else 502 | echo "Not a release, skipping publish" 503 | fi 504 | env: 505 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 506 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 507 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.3 2 | 3 | importers: 4 | .: 5 | specifiers: 6 | '@napi-rs/cli': ^1.1.0 7 | '@swc-node/register': ^1.3.2 8 | '@typescript-eslint/eslint-plugin': ^4.26.1 9 | '@typescript-eslint/parser': ^4.26.1 10 | autocannon: ^7.3.0 11 | ava: ^3.15.0 12 | benny: ^3.6.15 13 | chalk: ^4.1.1 14 | eslint: ^7.28.0 15 | eslint-config-prettier: ^8.3.0 16 | eslint-plugin-import: ^2.23.4 17 | eslint-plugin-prettier: ^3.4.0 18 | eslint-plugin-sonarjs: ^0.7.0 19 | husky: ^6.0.0 20 | lint-staged: ^11.0.0 21 | npm-run-all: ^4.1.5 22 | prettier: ^2.3.1 23 | typescript: ^4.3.2 24 | undici: ^4.0.0-alpha.2 25 | devDependencies: 26 | '@napi-rs/cli': 1.1.0 27 | '@swc-node/register': 1.3.2 28 | '@typescript-eslint/eslint-plugin': 4.26.1_c8cbd5e7f5f92609ec78d991aced454b 29 | '@typescript-eslint/parser': 4.26.1_eslint@7.28.0+typescript@4.3.2 30 | autocannon: 7.3.0 31 | ava: 3.15.0 32 | benny: 3.6.15 33 | chalk: 4.1.1 34 | eslint: 7.28.0 35 | eslint-config-prettier: 8.3.0_eslint@7.28.0 36 | eslint-plugin-import: 2.23.4_eslint@7.28.0 37 | eslint-plugin-prettier: 3.4.0_441ef98f5280b4c825fe505e43fc5698 38 | eslint-plugin-sonarjs: 0.7.0_eslint@7.28.0 39 | husky: 6.0.0 40 | lint-staged: 11.0.0 41 | npm-run-all: 4.1.5 42 | prettier: 2.3.1 43 | typescript: 4.3.2 44 | undici: 4.0.0-rc.7 45 | 46 | benchmark: 47 | specifiers: 48 | '@hnsjs/core': ^1.0.0 49 | autocannon: ^7.3.0 50 | dependencies: 51 | '@hnsjs/core': link:../js-binding 52 | autocannon: 7.3.0 53 | 54 | js-binding: 55 | specifiers: 56 | '@node-rs/helper': ^1.2.0 57 | dependencies: 58 | '@node-rs/helper': 1.2.0 59 | 60 | packages: 61 | /@arrows/array/1.4.1: 62 | resolution: 63 | { integrity: sha512-MGYS8xi3c4tTy1ivhrVntFvufoNzje0PchjEz6G/SsWRgUKxL4tKwS6iPdO8vsaJYldagAeWMd5KRD0aX3Q39g== } 64 | dependencies: 65 | '@arrows/composition': 1.2.2 66 | dev: true 67 | 68 | /@arrows/composition/1.2.2: 69 | resolution: 70 | { integrity: sha512-9fh1yHwrx32lundiB3SlZ/VwuStPB4QakPsSLrGJFH6rCXvdrd060ivAZ7/2vlqPnEjBkPRRXOcG1YOu19p2GQ== } 71 | dev: true 72 | 73 | /@arrows/dispatch/1.0.3: 74 | resolution: 75 | { integrity: sha512-v/HwvrFonitYZM2PmBlAlCqVqxrkIIoiEuy5bQgn0BdfvlL0ooSBzcPzTMrtzY8eYktPyYcHg8fLbSgyybXEqw== } 76 | dependencies: 77 | '@arrows/composition': 1.2.2 78 | dev: true 79 | 80 | /@arrows/error/1.0.2: 81 | resolution: 82 | { integrity: sha512-yvkiv1ay4Z3+Z6oQsUkedsQm5aFdyPpkBUQs8vejazU/RmANABx6bMMcBPPHI4aW43VPQmXFfBzr/4FExwWTEA== } 83 | dev: true 84 | 85 | /@arrows/multimethod/1.1.7: 86 | resolution: 87 | { integrity: sha512-EjHD3XuGAV4G28rm7mu8k7zQJh/EOizh104/p9i2ofGcnL5mgKONFH/Bq6H3SJjM+WDAlKcR9WBpNhaAKCnH2g== } 88 | dependencies: 89 | '@arrows/array': 1.4.1 90 | '@arrows/composition': 1.2.2 91 | '@arrows/error': 1.0.2 92 | fast-deep-equal: 3.1.3 93 | dev: true 94 | 95 | /@assemblyscript/loader/0.10.1: 96 | resolution: 97 | { integrity: sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg== } 98 | 99 | /@babel/code-frame/7.12.11: 100 | resolution: 101 | { integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== } 102 | dependencies: 103 | '@babel/highlight': 7.14.5 104 | dev: true 105 | 106 | /@babel/code-frame/7.14.5: 107 | resolution: 108 | { integrity: sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== } 109 | engines: { node: '>=6.9.0' } 110 | dependencies: 111 | '@babel/highlight': 7.14.5 112 | dev: true 113 | 114 | /@babel/helper-validator-identifier/7.14.5: 115 | resolution: 116 | { integrity: sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg== } 117 | engines: { node: '>=6.9.0' } 118 | dev: true 119 | 120 | /@babel/highlight/7.14.5: 121 | resolution: 122 | { integrity: sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== } 123 | engines: { node: '>=6.9.0' } 124 | dependencies: 125 | '@babel/helper-validator-identifier': 7.14.5 126 | chalk: 2.4.2 127 | js-tokens: 4.0.0 128 | dev: true 129 | 130 | /@concordance/react/2.0.0: 131 | resolution: 132 | { integrity: sha512-huLSkUuM2/P+U0uy2WwlKuixMsTODD8p4JVQBI4VKeopkiN0C7M3N9XYVawb4M+4spN5RrO/eLhk7KoQX6nsfA== } 133 | engines: { node: '>=6.12.3 <7 || >=8.9.4 <9 || >=10.0.0' } 134 | dependencies: 135 | arrify: 1.0.1 136 | dev: true 137 | 138 | /@eslint/eslintrc/0.4.2: 139 | resolution: 140 | { integrity: sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg== } 141 | engines: { node: ^10.12.0 || >=12.0.0 } 142 | dependencies: 143 | ajv: 6.12.6 144 | debug: 4.3.1 145 | espree: 7.3.1 146 | globals: 13.9.0 147 | ignore: 4.0.6 148 | import-fresh: 3.3.0 149 | js-yaml: 3.14.1 150 | minimatch: 3.0.4 151 | strip-json-comments: 3.1.1 152 | transitivePeerDependencies: 153 | - supports-color 154 | dev: true 155 | 156 | /@napi-rs/cli/1.1.0: 157 | resolution: 158 | { integrity: sha512-eGOOybqsuABoeocHron/R8cA4A1JJeLlt8dBsmyIbdXduEs0SPr+caLX5avdz8D4xG9tYfxj0k8fN/PAletLPA== } 159 | engines: { node: '>= 10' } 160 | hasBin: true 161 | dependencies: 162 | '@octokit/rest': 18.6.0 163 | chalk: 4.1.1 164 | clipanion: 2.6.2 165 | debug: 4.3.1 166 | fdir: 5.1.0 167 | inquirer: 8.1.0 168 | lodash: 4.17.21 169 | putasset: 5.0.3 170 | toml: 3.0.0 171 | tslib: 2.3.0 172 | transitivePeerDependencies: 173 | - supports-color 174 | dev: true 175 | 176 | /@napi-rs/triples/1.0.2: 177 | resolution: 178 | { integrity: sha512-EL3SiX43m9poFSnhDx4d4fn9SSaqyO2rHsCNhETi9bWPmjXK3uPJ0QpPFtx39FEdHcz1vJmsiW41kqc0AgvtzQ== } 179 | 180 | /@node-rs/helper/1.2.0: 181 | resolution: 182 | { integrity: sha512-pzIFIS0POyqWVqdcF0NQO2DjnO1IeI1UN/hENCZMW3o/ndEpTmZLRVhoXGSHjjzoQaEuHwzj79BnYUXI3syv8w== } 183 | dependencies: 184 | '@napi-rs/triples': 1.0.2 185 | tslib: 2.3.0 186 | 187 | /@nodelib/fs.scandir/2.1.5: 188 | resolution: 189 | { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== } 190 | engines: { node: '>= 8' } 191 | dependencies: 192 | '@nodelib/fs.stat': 2.0.5 193 | run-parallel: 1.2.0 194 | dev: true 195 | 196 | /@nodelib/fs.stat/2.0.5: 197 | resolution: 198 | { integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== } 199 | engines: { node: '>= 8' } 200 | dev: true 201 | 202 | /@nodelib/fs.walk/1.2.7: 203 | resolution: 204 | { integrity: sha512-BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA== } 205 | engines: { node: '>= 8' } 206 | dependencies: 207 | '@nodelib/fs.scandir': 2.1.5 208 | fastq: 1.11.0 209 | dev: true 210 | 211 | /@octokit/auth-token/2.4.5: 212 | resolution: 213 | { integrity: sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA== } 214 | dependencies: 215 | '@octokit/types': 6.16.4 216 | dev: true 217 | 218 | /@octokit/core/2.5.4: 219 | resolution: 220 | { integrity: sha512-HCp8yKQfTITYK+Nd09MHzAlP1v3Ii/oCohv0/TW9rhSLvzb98BOVs2QmVYuloE6a3l6LsfyGIwb6Pc4ycgWlIQ== } 221 | dependencies: 222 | '@octokit/auth-token': 2.4.5 223 | '@octokit/graphql': 4.6.4 224 | '@octokit/request': 5.6.0 225 | '@octokit/types': 5.5.0 226 | before-after-hook: 2.2.2 227 | universal-user-agent: 5.0.0 228 | dev: true 229 | 230 | /@octokit/core/3.5.0: 231 | resolution: 232 | { integrity: sha512-IKcyllVQe6KPwPPFIaKdbhNNQhmmHIj69PXOseBF6/NglXoKHVe79syEfZj0bz7sP87MOl5jLZadV3slgdZ1vQ== } 233 | dependencies: 234 | '@octokit/auth-token': 2.4.5 235 | '@octokit/graphql': 4.6.4 236 | '@octokit/request': 5.6.0 237 | '@octokit/request-error': 2.1.0 238 | '@octokit/types': 6.16.4 239 | before-after-hook: 2.2.2 240 | universal-user-agent: 6.0.0 241 | dev: true 242 | 243 | /@octokit/endpoint/6.0.12: 244 | resolution: 245 | { integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA== } 246 | dependencies: 247 | '@octokit/types': 6.16.4 248 | is-plain-object: 5.0.0 249 | universal-user-agent: 6.0.0 250 | dev: true 251 | 252 | /@octokit/graphql/4.6.4: 253 | resolution: 254 | { integrity: sha512-SWTdXsVheRmlotWNjKzPOb6Js6tjSqA2a8z9+glDJng0Aqjzti8MEWOtuT8ZSu6wHnci7LZNuarE87+WJBG4vg== } 255 | dependencies: 256 | '@octokit/request': 5.6.0 257 | '@octokit/types': 6.16.4 258 | universal-user-agent: 6.0.0 259 | dev: true 260 | 261 | /@octokit/openapi-types/7.3.2: 262 | resolution: 263 | { integrity: sha512-oJhK/yhl9Gt430OrZOzAl2wJqR0No9445vmZ9Ey8GjUZUpwuu/vmEFP0TDhDXdpGDoxD6/EIFHJEcY8nHXpDTA== } 264 | dev: true 265 | 266 | /@octokit/plugin-paginate-rest/2.13.5_@octokit+core@2.5.4: 267 | resolution: 268 | { integrity: sha512-3WSAKBLa1RaR/7GG+LQR/tAZ9fp9H9waE9aPXallidyci9oZsfgsLn5M836d3LuDC6Fcym+2idRTBpssHZePVg== } 269 | peerDependencies: 270 | '@octokit/core': '>=2' 271 | dependencies: 272 | '@octokit/core': 2.5.4 273 | '@octokit/types': 6.16.4 274 | dev: true 275 | 276 | /@octokit/plugin-paginate-rest/2.13.5_@octokit+core@3.5.0: 277 | resolution: 278 | { integrity: sha512-3WSAKBLa1RaR/7GG+LQR/tAZ9fp9H9waE9aPXallidyci9oZsfgsLn5M836d3LuDC6Fcym+2idRTBpssHZePVg== } 279 | peerDependencies: 280 | '@octokit/core': '>=2' 281 | dependencies: 282 | '@octokit/core': 3.5.0 283 | '@octokit/types': 6.16.4 284 | dev: true 285 | 286 | /@octokit/plugin-request-log/1.0.4_@octokit+core@2.5.4: 287 | resolution: 288 | { integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== } 289 | peerDependencies: 290 | '@octokit/core': '>=3' 291 | dependencies: 292 | '@octokit/core': 2.5.4 293 | dev: true 294 | 295 | /@octokit/plugin-request-log/1.0.4_@octokit+core@3.5.0: 296 | resolution: 297 | { integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== } 298 | peerDependencies: 299 | '@octokit/core': '>=3' 300 | dependencies: 301 | '@octokit/core': 3.5.0 302 | dev: true 303 | 304 | /@octokit/plugin-rest-endpoint-methods/3.17.0: 305 | resolution: 306 | { integrity: sha512-NFV3vq7GgoO2TrkyBRUOwflkfTYkFKS0tLAPym7RNpkwLCttqShaEGjthOsPEEL+7LFcYv3mU24+F2yVd3npmg== } 307 | dependencies: 308 | '@octokit/types': 4.1.10 309 | deprecation: 2.3.1 310 | dev: true 311 | 312 | /@octokit/plugin-rest-endpoint-methods/5.3.1_@octokit+core@3.5.0: 313 | resolution: 314 | { integrity: sha512-3B2iguGmkh6bQQaVOtCsS0gixrz8Lg0v4JuXPqBcFqLKuJtxAUf3K88RxMEf/naDOI73spD+goJ/o7Ie7Cvdjg== } 315 | peerDependencies: 316 | '@octokit/core': '>=3' 317 | dependencies: 318 | '@octokit/core': 3.5.0 319 | '@octokit/types': 6.16.4 320 | deprecation: 2.3.1 321 | dev: true 322 | 323 | /@octokit/request-error/2.1.0: 324 | resolution: 325 | { integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== } 326 | dependencies: 327 | '@octokit/types': 6.16.4 328 | deprecation: 2.3.1 329 | once: 1.4.0 330 | dev: true 331 | 332 | /@octokit/request/5.6.0: 333 | resolution: 334 | { integrity: sha512-4cPp/N+NqmaGQwbh3vUsYqokQIzt7VjsgTYVXiwpUP2pxd5YiZB2XuTedbb0SPtv9XS7nzAKjAuQxmY8/aZkiA== } 335 | dependencies: 336 | '@octokit/endpoint': 6.0.12 337 | '@octokit/request-error': 2.1.0 338 | '@octokit/types': 6.16.4 339 | is-plain-object: 5.0.0 340 | node-fetch: 2.6.1 341 | universal-user-agent: 6.0.0 342 | dev: true 343 | 344 | /@octokit/rest/17.11.2: 345 | resolution: 346 | { integrity: sha512-4jTmn8WossTUaLfNDfXk4fVJgbz5JgZE8eCs4BvIb52lvIH8rpVMD1fgRCrHbSd6LRPE5JFZSfAEtszrOq3ZFQ== } 347 | dependencies: 348 | '@octokit/core': 2.5.4 349 | '@octokit/plugin-paginate-rest': 2.13.5_@octokit+core@2.5.4 350 | '@octokit/plugin-request-log': 1.0.4_@octokit+core@2.5.4 351 | '@octokit/plugin-rest-endpoint-methods': 3.17.0 352 | dev: true 353 | 354 | /@octokit/rest/18.6.0: 355 | resolution: 356 | { integrity: sha512-MdHuXHDJM7e5sUBe3K9tt7th0cs4csKU5Bb52LRi2oHAeIMrMZ4XqaTrEv660HoUPoM1iDlnj27Ab/Nh3MtwlA== } 357 | dependencies: 358 | '@octokit/core': 3.5.0 359 | '@octokit/plugin-paginate-rest': 2.13.5_@octokit+core@3.5.0 360 | '@octokit/plugin-request-log': 1.0.4_@octokit+core@3.5.0 361 | '@octokit/plugin-rest-endpoint-methods': 5.3.1_@octokit+core@3.5.0 362 | dev: true 363 | 364 | /@octokit/types/4.1.10: 365 | resolution: 366 | { integrity: sha512-/wbFy1cUIE5eICcg0wTKGXMlKSbaAxEr00qaBXzscLXpqhcwgXeS6P8O0pkysBhRfyjkKjJaYrvR1ExMO5eOXQ== } 367 | dependencies: 368 | '@types/node': 15.12.2 369 | dev: true 370 | 371 | /@octokit/types/5.5.0: 372 | resolution: 373 | { integrity: sha512-UZ1pErDue6bZNjYOotCNveTXArOMZQFG6hKJfOnGnulVCMcVVi7YIIuuR4WfBhjo7zgpmzn/BkPDnUXtNx+PcQ== } 374 | dependencies: 375 | '@types/node': 15.12.2 376 | dev: true 377 | 378 | /@octokit/types/6.16.4: 379 | resolution: 380 | { integrity: sha512-UxhWCdSzloULfUyamfOg4dJxV9B+XjgrIZscI0VCbp4eNrjmorGEw+4qdwcpTsu6DIrm9tQsFQS2pK5QkqQ04A== } 381 | dependencies: 382 | '@octokit/openapi-types': 7.3.2 383 | dev: true 384 | 385 | /@sindresorhus/is/0.14.0: 386 | resolution: 387 | { integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== } 388 | engines: { node: '>=6' } 389 | dev: true 390 | 391 | /@swc-node/core/1.5.1: 392 | resolution: 393 | { integrity: sha512-H424sTzhvgc+mKm9E4C115UYKgegM4LeX5F1UPBGTvLs4KSS9eU/wH0sly7+mUk0I8QZjjn3NgtWLAE8NxM37Q== } 394 | engines: { node: '>= 10' } 395 | dependencies: 396 | '@swc/core': 1.2.60 397 | dev: true 398 | 399 | /@swc-node/register/1.3.2: 400 | resolution: 401 | { integrity: sha512-Ksol6zPZl0wFvJMUQx/RTnRNq4XZR3/mwa3N9Lg75U5/lubUMtatTa2dQOzoB8K8TcxwXPtpaA5E7v26HNy5PQ== } 402 | dependencies: 403 | '@swc-node/core': 1.5.1 404 | '@swc-node/sourcemap-support': 0.1.8 405 | chalk: 4.1.1 406 | debug: 4.3.1 407 | pirates: 4.0.1 408 | transitivePeerDependencies: 409 | - supports-color 410 | dev: true 411 | 412 | /@swc-node/sourcemap-support/0.1.8: 413 | resolution: 414 | { integrity: sha512-AOH32yNN8UJh6Ayc+r3mnPdrjqqEjtXr9wsEiEhh3OqJWFXqkMOHC+18FYhHdTzGzhaYqUshQONjqOTC38yx7Q== } 415 | dependencies: 416 | source-map-support: 0.5.19 417 | dev: true 418 | 419 | /@swc/core-android-arm64/1.2.60: 420 | resolution: 421 | { integrity: sha512-2dVO1vM5nWKoGEXyD3FXEzptPIxd5QrCtbGe6TQ0rmzIwNye8ZXz7NMfPwawS6eouApK7xC0qhMr4sNF1veJaA== } 422 | engines: { node: '>=10' } 423 | cpu: [arm64] 424 | os: [android] 425 | dev: true 426 | optional: true 427 | 428 | /@swc/core-darwin-arm64/1.2.60: 429 | resolution: 430 | { integrity: sha512-i1yH/g0b7ewDBmpr9XWU3NmwSqQZyzNEr8EnaDyvl1p5zX1nib3YTckKqcHI7lCCbP7EpUxv6KPMD+J38qGYPg== } 431 | engines: { node: '>=10' } 432 | cpu: [arm64] 433 | os: [darwin] 434 | dev: true 435 | optional: true 436 | 437 | /@swc/core-darwin-x64/1.2.60: 438 | resolution: 439 | { integrity: sha512-kTtv1GHfyRVHjMP12tNch4xtS7Xsm3JMf1ZSSqhz8hazgDA7bTGRK4FnmAH8LnRh5x8THGVACywi9v97Sx21rw== } 440 | engines: { node: '>=10' } 441 | cpu: [x64] 442 | os: [darwin] 443 | dev: true 444 | optional: true 445 | 446 | /@swc/core-freebsd-x64/1.2.60: 447 | resolution: 448 | { integrity: sha512-Gez1Lr7Z7vN68cvoxrS39S4Ey1O8XM+IbNQr2k9auO/oF5e5ddNgSP0zCcJeQHvrU0NkD8/NhXeXL+/PMtYeeQ== } 449 | engines: { node: '>=10' } 450 | cpu: [x64] 451 | os: [freebsd] 452 | dev: true 453 | optional: true 454 | 455 | /@swc/core-linux-arm-gnueabihf/1.2.60: 456 | resolution: 457 | { integrity: sha512-SKQ7YKCiz4AAiha21VOEnCwxDGfmoVU3/h13CyoOYBf/rhqOrJqLe7nEUJma4M5IFPzrRTj81akC61YTeMLl8A== } 458 | engines: { node: '>=10' } 459 | cpu: [arm] 460 | os: [linux] 461 | dev: true 462 | optional: true 463 | 464 | /@swc/core-linux-arm64-gnu/1.2.60: 465 | resolution: 466 | { integrity: sha512-61jzgI4zxp1I73vflddgKXSlAARfnRsCTWLaZTMdcw5vZt+dQiBRW/RCKAF0ol6ioObtuIvo46YvXKMdZVwFkQ== } 467 | engines: { node: '>=10' } 468 | cpu: [arm64] 469 | os: [linux] 470 | dev: true 471 | optional: true 472 | 473 | /@swc/core-linux-arm64-musl/1.2.60: 474 | resolution: 475 | { integrity: sha512-jB2BoJpAgsAJE7ydcy90DQ0cSnydo4+Xw1MzLwEJdlgugq1vBq7Dh/DKODth+OO8cOw5Ikg22d5Da3LJNrCjvQ== } 476 | engines: { node: '>=10' } 477 | cpu: [arm64] 478 | os: [linux] 479 | dev: true 480 | optional: true 481 | 482 | /@swc/core-linux-x64-gnu/1.2.60: 483 | resolution: 484 | { integrity: sha512-VNkkEQj4Lim8/TTLRC6aibd4Y2TuA4pvF3wgBokp3+o0p8asc/Mz1IdFQr36Lq1qJJsPrJC/HXDici+qZQ/RPw== } 485 | engines: { node: '>=10' } 486 | cpu: [x64] 487 | os: [linux] 488 | dev: true 489 | optional: true 490 | 491 | /@swc/core-linux-x64-musl/1.2.60: 492 | resolution: 493 | { integrity: sha512-ZPLm3cP+W8Rw51R1ap4alLsFAN8saggw/gLq3hiMHr//cyDjR3Hj7KrHeqhe3IckP0UTKqdY18I7tILThmRVag== } 494 | engines: { node: '>=10' } 495 | cpu: [x64] 496 | os: [linux] 497 | dev: true 498 | optional: true 499 | 500 | /@swc/core-win32-arm64-msvc/1.2.60: 501 | resolution: 502 | { integrity: sha512-qr2kHiP9h3fK0NnHMrfeeZXNYPFP5GQbFSwOL3s+aX0aEN8bVlbGIF47sZJz/U2dGizYP+urb0iaEHYLYRFeng== } 503 | engines: { node: '>=10' } 504 | cpu: [arm64] 505 | os: [win32] 506 | dev: true 507 | optional: true 508 | 509 | /@swc/core-win32-ia32-msvc/1.2.60: 510 | resolution: 511 | { integrity: sha512-Q+IaxMt/XmgO/k7AWUcE38E+NDIXeWsh9wS1SPSoP8w0a9fjJEd+GQ7/bLH+ecLSQv0VQq1vw2soCYNQCMbsow== } 512 | engines: { node: '>=10' } 513 | cpu: [ia32] 514 | os: [win32] 515 | dev: true 516 | optional: true 517 | 518 | /@swc/core-win32-x64-msvc/1.2.60: 519 | resolution: 520 | { integrity: sha512-u74dw378ug8iCbgqW41ZGsNN+ebULGNQ3rOqpzkLQKREQMe+Un/TPWw8bAeITT4Xkqh2fs7tjVhPVKeclx8x8g== } 521 | engines: { node: '>=10' } 522 | cpu: [x64] 523 | os: [win32] 524 | dev: true 525 | optional: true 526 | 527 | /@swc/core/1.2.60: 528 | resolution: 529 | { integrity: sha512-nDAUgwGHFY5bDpz13F18/87vAj311wITDz9b+bDix8zwnrtCHIPD0YS5hz8zdC0jiQAUJ98TVAEbfvT1M+rEHQ== } 530 | engines: { node: '>=10' } 531 | dependencies: 532 | '@node-rs/helper': 1.2.0 533 | optionalDependencies: 534 | '@swc/core-android-arm64': 1.2.60 535 | '@swc/core-darwin-arm64': 1.2.60 536 | '@swc/core-darwin-x64': 1.2.60 537 | '@swc/core-freebsd-x64': 1.2.60 538 | '@swc/core-linux-arm-gnueabihf': 1.2.60 539 | '@swc/core-linux-arm64-gnu': 1.2.60 540 | '@swc/core-linux-arm64-musl': 1.2.60 541 | '@swc/core-linux-x64-gnu': 1.2.60 542 | '@swc/core-linux-x64-musl': 1.2.60 543 | '@swc/core-win32-arm64-msvc': 1.2.60 544 | '@swc/core-win32-ia32-msvc': 1.2.60 545 | '@swc/core-win32-x64-msvc': 1.2.60 546 | dev: true 547 | 548 | /@szmarczak/http-timer/1.1.2: 549 | resolution: 550 | { integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== } 551 | engines: { node: '>=6' } 552 | dependencies: 553 | defer-to-connect: 1.1.3 554 | dev: true 555 | 556 | /@types/json-schema/7.0.7: 557 | resolution: 558 | { integrity: sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== } 559 | dev: true 560 | 561 | /@types/json5/0.0.29: 562 | resolution: { integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4= } 563 | dev: true 564 | 565 | /@types/node/15.12.2: 566 | resolution: 567 | { integrity: sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww== } 568 | dev: true 569 | 570 | /@types/normalize-package-data/2.4.0: 571 | resolution: 572 | { integrity: sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== } 573 | dev: true 574 | 575 | /@types/parse-json/4.0.0: 576 | resolution: 577 | { integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== } 578 | dev: true 579 | 580 | /@typescript-eslint/eslint-plugin/4.26.1_c8cbd5e7f5f92609ec78d991aced454b: 581 | resolution: 582 | { integrity: sha512-aoIusj/8CR+xDWmZxARivZjbMBQTT9dImUtdZ8tVCVRXgBUuuZyM5Of5A9D9arQPxbi/0rlJLcuArclz/rCMJw== } 583 | engines: { node: ^10.12.0 || >=12.0.0 } 584 | peerDependencies: 585 | '@typescript-eslint/parser': ^4.0.0 586 | eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 587 | typescript: '*' 588 | peerDependenciesMeta: 589 | typescript: 590 | optional: true 591 | dependencies: 592 | '@typescript-eslint/experimental-utils': 4.26.1_eslint@7.28.0+typescript@4.3.2 593 | '@typescript-eslint/parser': 4.26.1_eslint@7.28.0+typescript@4.3.2 594 | '@typescript-eslint/scope-manager': 4.26.1 595 | debug: 4.3.1 596 | eslint: 7.28.0 597 | functional-red-black-tree: 1.0.1 598 | lodash: 4.17.21 599 | regexpp: 3.1.0 600 | semver: 7.3.5 601 | tsutils: 3.21.0_typescript@4.3.2 602 | typescript: 4.3.2 603 | transitivePeerDependencies: 604 | - supports-color 605 | dev: true 606 | 607 | /@typescript-eslint/experimental-utils/4.26.1_eslint@7.28.0+typescript@4.3.2: 608 | resolution: 609 | { integrity: sha512-sQHBugRhrXzRCs9PaGg6rowie4i8s/iD/DpTB+EXte8OMDfdCG5TvO73XlO9Wc/zi0uyN4qOmX9hIjQEyhnbmQ== } 610 | engines: { node: ^10.12.0 || >=12.0.0 } 611 | peerDependencies: 612 | eslint: '*' 613 | dependencies: 614 | '@types/json-schema': 7.0.7 615 | '@typescript-eslint/scope-manager': 4.26.1 616 | '@typescript-eslint/types': 4.26.1 617 | '@typescript-eslint/typescript-estree': 4.26.1_typescript@4.3.2 618 | eslint: 7.28.0 619 | eslint-scope: 5.1.1 620 | eslint-utils: 3.0.0_eslint@7.28.0 621 | transitivePeerDependencies: 622 | - supports-color 623 | - typescript 624 | dev: true 625 | 626 | /@typescript-eslint/parser/4.26.1_eslint@7.28.0+typescript@4.3.2: 627 | resolution: 628 | { integrity: sha512-q7F3zSo/nU6YJpPJvQveVlIIzx9/wu75lr6oDbDzoeIRWxpoc/HQ43G4rmMoCc5my/3uSj2VEpg/D83LYZF5HQ== } 629 | engines: { node: ^10.12.0 || >=12.0.0 } 630 | peerDependencies: 631 | eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 632 | typescript: '*' 633 | peerDependenciesMeta: 634 | typescript: 635 | optional: true 636 | dependencies: 637 | '@typescript-eslint/scope-manager': 4.26.1 638 | '@typescript-eslint/types': 4.26.1 639 | '@typescript-eslint/typescript-estree': 4.26.1_typescript@4.3.2 640 | debug: 4.3.1 641 | eslint: 7.28.0 642 | typescript: 4.3.2 643 | transitivePeerDependencies: 644 | - supports-color 645 | dev: true 646 | 647 | /@typescript-eslint/scope-manager/4.26.1: 648 | resolution: 649 | { integrity: sha512-TW1X2p62FQ8Rlne+WEShyd7ac2LA6o27S9i131W4NwDSfyeVlQWhw8ylldNNS8JG6oJB9Ha9Xyc+IUcqipvheQ== } 650 | engines: { node: ^8.10.0 || ^10.13.0 || >=11.10.1 } 651 | dependencies: 652 | '@typescript-eslint/types': 4.26.1 653 | '@typescript-eslint/visitor-keys': 4.26.1 654 | dev: true 655 | 656 | /@typescript-eslint/types/4.26.1: 657 | resolution: 658 | { integrity: sha512-STyMPxR3cS+LaNvS8yK15rb8Y0iL0tFXq0uyl6gY45glyI7w0CsyqyEXl/Fa0JlQy+pVANeK3sbwPneCbWE7yg== } 659 | engines: { node: ^8.10.0 || ^10.13.0 || >=11.10.1 } 660 | dev: true 661 | 662 | /@typescript-eslint/typescript-estree/4.26.1_typescript@4.3.2: 663 | resolution: 664 | { integrity: sha512-l3ZXob+h0NQzz80lBGaykdScYaiEbFqznEs99uwzm8fPHhDjwaBFfQkjUC/slw6Sm7npFL8qrGEAMxcfBsBJUg== } 665 | engines: { node: ^10.12.0 || >=12.0.0 } 666 | peerDependencies: 667 | typescript: '*' 668 | peerDependenciesMeta: 669 | typescript: 670 | optional: true 671 | dependencies: 672 | '@typescript-eslint/types': 4.26.1 673 | '@typescript-eslint/visitor-keys': 4.26.1 674 | debug: 4.3.1 675 | globby: 11.0.3 676 | is-glob: 4.0.1 677 | semver: 7.3.5 678 | tsutils: 3.21.0_typescript@4.3.2 679 | typescript: 4.3.2 680 | transitivePeerDependencies: 681 | - supports-color 682 | dev: true 683 | 684 | /@typescript-eslint/visitor-keys/4.26.1: 685 | resolution: 686 | { integrity: sha512-IGouNSSd+6x/fHtYRyLOM6/C+QxMDzWlDtN41ea+flWuSF9g02iqcIlX8wM53JkfljoIjP0U+yp7SiTS1onEkw== } 687 | engines: { node: ^8.10.0 || ^10.13.0 || >=11.10.1 } 688 | dependencies: 689 | '@typescript-eslint/types': 4.26.1 690 | eslint-visitor-keys: 2.1.0 691 | dev: true 692 | 693 | /acorn-jsx/5.3.1_acorn@7.4.1: 694 | resolution: 695 | { integrity: sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== } 696 | peerDependencies: 697 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 698 | dependencies: 699 | acorn: 7.4.1 700 | dev: true 701 | 702 | /acorn-walk/8.1.0: 703 | resolution: 704 | { integrity: sha512-mjmzmv12YIG/G8JQdQuz2MUDShEJ6teYpT5bmWA4q7iwoGen8xtt3twF3OvzIUl+Q06aWIjvnwQUKvQ6TtMRjg== } 705 | engines: { node: '>=0.4.0' } 706 | dev: true 707 | 708 | /acorn/7.4.1: 709 | resolution: 710 | { integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== } 711 | engines: { node: '>=0.4.0' } 712 | hasBin: true 713 | dev: true 714 | 715 | /acorn/8.4.0: 716 | resolution: 717 | { integrity: sha512-ULr0LDaEqQrMFGyQ3bhJkLsbtrQ8QibAseGZeaSUiT/6zb9IvIkomWHJIvgvwad+hinRAgsI51JcWk2yvwyL+w== } 718 | engines: { node: '>=0.4.0' } 719 | hasBin: true 720 | dev: true 721 | 722 | /aggregate-error/3.1.0: 723 | resolution: 724 | { integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== } 725 | engines: { node: '>=8' } 726 | dependencies: 727 | clean-stack: 2.2.0 728 | indent-string: 4.0.0 729 | dev: true 730 | 731 | /ajv/6.12.6: 732 | resolution: 733 | { integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== } 734 | dependencies: 735 | fast-deep-equal: 3.1.3 736 | fast-json-stable-stringify: 2.1.0 737 | json-schema-traverse: 0.4.1 738 | uri-js: 4.4.1 739 | dev: true 740 | 741 | /ajv/8.6.0: 742 | resolution: 743 | { integrity: sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ== } 744 | dependencies: 745 | fast-deep-equal: 3.1.3 746 | json-schema-traverse: 1.0.0 747 | require-from-string: 2.0.2 748 | uri-js: 4.4.1 749 | dev: true 750 | 751 | /ansi-align/3.0.0: 752 | resolution: 753 | { integrity: sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== } 754 | dependencies: 755 | string-width: 3.1.0 756 | dev: true 757 | 758 | /ansi-colors/4.1.1: 759 | resolution: 760 | { integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== } 761 | engines: { node: '>=6' } 762 | dev: true 763 | 764 | /ansi-escapes/4.3.2: 765 | resolution: 766 | { integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== } 767 | engines: { node: '>=8' } 768 | dependencies: 769 | type-fest: 0.21.3 770 | dev: true 771 | 772 | /ansi-regex/4.1.0: 773 | resolution: 774 | { integrity: sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== } 775 | engines: { node: '>=6' } 776 | dev: true 777 | 778 | /ansi-regex/5.0.0: 779 | resolution: 780 | { integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== } 781 | engines: { node: '>=8' } 782 | 783 | /ansi-styles/3.2.1: 784 | resolution: 785 | { integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== } 786 | engines: { node: '>=4' } 787 | dependencies: 788 | color-convert: 1.9.3 789 | dev: true 790 | 791 | /ansi-styles/4.3.0: 792 | resolution: 793 | { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== } 794 | engines: { node: '>=8' } 795 | dependencies: 796 | color-convert: 2.0.1 797 | 798 | /ansi-styles/5.2.0: 799 | resolution: 800 | { integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== } 801 | engines: { node: '>=10' } 802 | dev: true 803 | 804 | /anymatch/3.1.2: 805 | resolution: 806 | { integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== } 807 | engines: { node: '>= 8' } 808 | dependencies: 809 | normalize-path: 3.0.0 810 | picomatch: 2.3.0 811 | dev: true 812 | 813 | /argparse/1.0.10: 814 | resolution: 815 | { integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== } 816 | dependencies: 817 | sprintf-js: 1.0.3 818 | dev: true 819 | 820 | /array-find-index/1.0.2: 821 | resolution: { integrity: sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= } 822 | engines: { node: '>=0.10.0' } 823 | dev: true 824 | 825 | /array-includes/3.1.3: 826 | resolution: 827 | { integrity: sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== } 828 | engines: { node: '>= 0.4' } 829 | dependencies: 830 | call-bind: 1.0.2 831 | define-properties: 1.1.3 832 | es-abstract: 1.18.3 833 | get-intrinsic: 1.1.1 834 | is-string: 1.0.6 835 | dev: true 836 | 837 | /array-union/2.1.0: 838 | resolution: 839 | { integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== } 840 | engines: { node: '>=8' } 841 | dev: true 842 | 843 | /array.prototype.flat/1.2.4: 844 | resolution: 845 | { integrity: sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== } 846 | engines: { node: '>= 0.4' } 847 | dependencies: 848 | call-bind: 1.0.2 849 | define-properties: 1.1.3 850 | es-abstract: 1.18.3 851 | dev: true 852 | 853 | /arrgv/1.0.2: 854 | resolution: 855 | { integrity: sha512-a4eg4yhp7mmruZDQFqVMlxNRFGi/i1r87pt8SDHy0/I8PqSXoUTlWZRdAZo0VXgvEARcujbtTk8kiZRi1uDGRw== } 856 | engines: { node: '>=8.0.0' } 857 | dev: true 858 | 859 | /arrify/1.0.1: 860 | resolution: { integrity: sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= } 861 | engines: { node: '>=0.10.0' } 862 | dev: true 863 | 864 | /arrify/2.0.1: 865 | resolution: 866 | { integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== } 867 | engines: { node: '>=8' } 868 | dev: true 869 | 870 | /astral-regex/2.0.0: 871 | resolution: 872 | { integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== } 873 | engines: { node: '>=8' } 874 | dev: true 875 | 876 | /asynckit/0.4.0: 877 | resolution: { integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k= } 878 | 879 | /at-least-node/1.0.0: 880 | resolution: 881 | { integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== } 882 | engines: { node: '>= 4.0.0' } 883 | dev: true 884 | 885 | /autocannon/7.3.0: 886 | resolution: 887 | { integrity: sha512-RuyTU8fQE1FC6BDgslofLCeI4y9y9RRnnZtvoQ+onwQl+B2rsiGpcCi84/Si0rq3VRkkMFnmPulY3z59zYhX9g== } 888 | hasBin: true 889 | dependencies: 890 | chalk: 4.1.1 891 | char-spinner: 1.0.1 892 | cli-table3: 0.6.0 893 | clone: 2.1.2 894 | color-support: 1.1.3 895 | cross-argv: 1.0.0 896 | form-data: 4.0.0 897 | has-async-hooks: 1.0.0 898 | hdr-histogram-js: 2.0.1 899 | hdr-histogram-percentiles-obj: 3.0.0 900 | http-parser-js: 0.5.3 901 | hyperid: 2.1.0 902 | manage-path: 2.0.0 903 | on-net-listen: 1.1.2 904 | pretty-bytes: 5.6.0 905 | progress: 2.0.3 906 | reinterval: 1.1.0 907 | retimer: 3.0.0 908 | semver: 7.3.5 909 | subarg: 1.0.0 910 | timestring: 6.0.0 911 | 912 | /ava/3.15.0: 913 | resolution: 914 | { integrity: sha512-HGAnk1SHPk4Sx6plFAUkzV/XC1j9+iQhOzt4vBly18/yo0AV8Oytx7mtJd/CR8igCJ5p160N/Oo/cNJi2uSeWA== } 915 | engines: { node: '>=10.18.0 <11 || >=12.14.0 <12.17.0 || >=12.17.0 <13 || >=14.0.0 <15 || >=15' } 916 | hasBin: true 917 | dependencies: 918 | '@concordance/react': 2.0.0 919 | acorn: 8.4.0 920 | acorn-walk: 8.1.0 921 | ansi-styles: 5.2.0 922 | arrgv: 1.0.2 923 | arrify: 2.0.1 924 | callsites: 3.1.0 925 | chalk: 4.1.1 926 | chokidar: 3.5.1 927 | chunkd: 2.0.1 928 | ci-info: 2.0.0 929 | ci-parallel-vars: 1.0.1 930 | clean-yaml-object: 0.1.0 931 | cli-cursor: 3.1.0 932 | cli-truncate: 2.1.0 933 | code-excerpt: 3.0.0 934 | common-path-prefix: 3.0.0 935 | concordance: 5.0.4 936 | convert-source-map: 1.7.0 937 | currently-unhandled: 0.4.1 938 | debug: 4.3.1 939 | del: 6.0.0 940 | emittery: 0.8.1 941 | equal-length: 1.0.1 942 | figures: 3.2.0 943 | globby: 11.0.3 944 | ignore-by-default: 2.0.0 945 | import-local: 3.0.2 946 | indent-string: 4.0.0 947 | is-error: 2.2.2 948 | is-plain-object: 5.0.0 949 | is-promise: 4.0.0 950 | lodash: 4.17.21 951 | matcher: 3.0.0 952 | md5-hex: 3.0.1 953 | mem: 8.1.1 954 | ms: 2.1.3 955 | ora: 5.4.1 956 | p-event: 4.2.0 957 | p-map: 4.0.0 958 | picomatch: 2.3.0 959 | pkg-conf: 3.1.0 960 | plur: 4.0.0 961 | pretty-ms: 7.0.1 962 | read-pkg: 5.2.0 963 | resolve-cwd: 3.0.0 964 | slash: 3.0.0 965 | source-map-support: 0.5.19 966 | stack-utils: 2.0.3 967 | strip-ansi: 6.0.0 968 | supertap: 2.0.0 969 | temp-dir: 2.0.0 970 | trim-off-newlines: 1.0.1 971 | update-notifier: 5.1.0 972 | write-file-atomic: 3.0.3 973 | yargs: 16.2.0 974 | transitivePeerDependencies: 975 | - supports-color 976 | dev: true 977 | 978 | /balanced-match/1.0.2: 979 | resolution: 980 | { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== } 981 | dev: true 982 | 983 | /base64-js/1.5.1: 984 | resolution: 985 | { integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== } 986 | 987 | /before-after-hook/2.2.2: 988 | resolution: 989 | { integrity: sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== } 990 | dev: true 991 | 992 | /benchmark/2.1.4: 993 | resolution: { integrity: sha1-CfPeMckWQl1JjMLuVloOvzwqVik= } 994 | dependencies: 995 | lodash: 4.17.21 996 | platform: 1.3.6 997 | dev: true 998 | 999 | /benny/3.6.15: 1000 | resolution: 1001 | { integrity: sha512-kq6XVGGYVou3Y8KNPs3SEF881vi5fJ8sIf9w69D2rreiNfRicWVWK6u6/mObMw6BiexoHHumtipn5gcu0Tngng== } 1002 | dependencies: 1003 | '@arrows/composition': 1.2.2 1004 | '@arrows/dispatch': 1.0.3 1005 | '@arrows/multimethod': 1.1.7 1006 | benchmark: 2.1.4 1007 | fs-extra: 9.1.0 1008 | json2csv: 5.0.6 1009 | kleur: 4.1.4 1010 | log-update: 4.0.0 1011 | prettier: 2.3.1 1012 | stats-median: 1.0.1 1013 | dev: true 1014 | 1015 | /binary-extensions/2.2.0: 1016 | resolution: 1017 | { integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== } 1018 | engines: { node: '>=8' } 1019 | dev: true 1020 | 1021 | /bl/4.1.0: 1022 | resolution: 1023 | { integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== } 1024 | dependencies: 1025 | buffer: 5.7.1 1026 | inherits: 2.0.4 1027 | readable-stream: 3.6.0 1028 | dev: true 1029 | 1030 | /blueimp-md5/2.18.0: 1031 | resolution: 1032 | { integrity: sha512-vE52okJvzsVWhcgUHOv+69OG3Mdg151xyn41aVQN/5W5S+S43qZhxECtYLAEHMSFWX6Mv5IZrzj3T5+JqXfj5Q== } 1033 | dev: true 1034 | 1035 | /boxen/5.0.1: 1036 | resolution: 1037 | { integrity: sha512-49VBlw+PrWEF51aCmy7QIteYPIFZxSpvqBdP/2itCPPlJ49kj9zg/XPRFrdkne2W+CfwXUls8exMvu1RysZpKA== } 1038 | engines: { node: '>=10' } 1039 | dependencies: 1040 | ansi-align: 3.0.0 1041 | camelcase: 6.2.0 1042 | chalk: 4.1.1 1043 | cli-boxes: 2.2.1 1044 | string-width: 4.2.2 1045 | type-fest: 0.20.2 1046 | widest-line: 3.1.0 1047 | wrap-ansi: 7.0.0 1048 | dev: true 1049 | 1050 | /brace-expansion/1.1.11: 1051 | resolution: 1052 | { integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== } 1053 | dependencies: 1054 | balanced-match: 1.0.2 1055 | concat-map: 0.0.1 1056 | dev: true 1057 | 1058 | /braces/3.0.2: 1059 | resolution: 1060 | { integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== } 1061 | engines: { node: '>=8' } 1062 | dependencies: 1063 | fill-range: 7.0.1 1064 | dev: true 1065 | 1066 | /buffer-from/1.1.1: 1067 | resolution: 1068 | { integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== } 1069 | dev: true 1070 | 1071 | /buffer/5.7.1: 1072 | resolution: 1073 | { integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== } 1074 | dependencies: 1075 | base64-js: 1.5.1 1076 | ieee754: 1.2.1 1077 | dev: true 1078 | 1079 | /cacheable-request/6.1.0: 1080 | resolution: 1081 | { integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== } 1082 | engines: { node: '>=8' } 1083 | dependencies: 1084 | clone-response: 1.0.2 1085 | get-stream: 5.2.0 1086 | http-cache-semantics: 4.1.0 1087 | keyv: 3.1.0 1088 | lowercase-keys: 2.0.0 1089 | normalize-url: 4.5.1 1090 | responselike: 1.0.2 1091 | dev: true 1092 | 1093 | /call-bind/1.0.2: 1094 | resolution: 1095 | { integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== } 1096 | dependencies: 1097 | function-bind: 1.1.1 1098 | get-intrinsic: 1.1.1 1099 | dev: true 1100 | 1101 | /callsites/3.1.0: 1102 | resolution: 1103 | { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== } 1104 | engines: { node: '>=6' } 1105 | dev: true 1106 | 1107 | /camelcase/5.3.1: 1108 | resolution: 1109 | { integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== } 1110 | engines: { node: '>=6' } 1111 | dev: true 1112 | 1113 | /camelcase/6.2.0: 1114 | resolution: 1115 | { integrity: sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== } 1116 | engines: { node: '>=10' } 1117 | dev: true 1118 | 1119 | /chalk/2.4.2: 1120 | resolution: 1121 | { integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== } 1122 | engines: { node: '>=4' } 1123 | dependencies: 1124 | ansi-styles: 3.2.1 1125 | escape-string-regexp: 1.0.5 1126 | supports-color: 5.5.0 1127 | dev: true 1128 | 1129 | /chalk/4.1.1: 1130 | resolution: 1131 | { integrity: sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== } 1132 | engines: { node: '>=10' } 1133 | dependencies: 1134 | ansi-styles: 4.3.0 1135 | supports-color: 7.2.0 1136 | 1137 | /char-spinner/1.0.1: 1138 | resolution: { integrity: sha1-5upnvSR+EHESmDt6sEee02KAAIE= } 1139 | 1140 | /chardet/0.7.0: 1141 | resolution: 1142 | { integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== } 1143 | dev: true 1144 | 1145 | /checkup/1.3.0: 1146 | resolution: { integrity: sha1-04ACdv6l0PJH/8lRvnjIsC+ODXY= } 1147 | engines: { node: '>=0.8' } 1148 | dev: true 1149 | 1150 | /chokidar/3.5.1: 1151 | resolution: 1152 | { integrity: sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== } 1153 | engines: { node: '>= 8.10.0' } 1154 | dependencies: 1155 | anymatch: 3.1.2 1156 | braces: 3.0.2 1157 | glob-parent: 5.1.2 1158 | is-binary-path: 2.1.0 1159 | is-glob: 4.0.1 1160 | normalize-path: 3.0.0 1161 | readdirp: 3.5.0 1162 | optionalDependencies: 1163 | fsevents: 2.3.2 1164 | dev: true 1165 | 1166 | /chunkd/2.0.1: 1167 | resolution: 1168 | { integrity: sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ== } 1169 | dev: true 1170 | 1171 | /ci-info/2.0.0: 1172 | resolution: 1173 | { integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== } 1174 | dev: true 1175 | 1176 | /ci-parallel-vars/1.0.1: 1177 | resolution: 1178 | { integrity: sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg== } 1179 | dev: true 1180 | 1181 | /clean-stack/2.2.0: 1182 | resolution: 1183 | { integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== } 1184 | engines: { node: '>=6' } 1185 | dev: true 1186 | 1187 | /clean-yaml-object/0.1.0: 1188 | resolution: { integrity: sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g= } 1189 | engines: { node: '>=0.10.0' } 1190 | dev: true 1191 | 1192 | /cli-boxes/2.2.1: 1193 | resolution: 1194 | { integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== } 1195 | engines: { node: '>=6' } 1196 | dev: true 1197 | 1198 | /cli-cursor/3.1.0: 1199 | resolution: 1200 | { integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== } 1201 | engines: { node: '>=8' } 1202 | dependencies: 1203 | restore-cursor: 3.1.0 1204 | dev: true 1205 | 1206 | /cli-spinners/2.6.0: 1207 | resolution: 1208 | { integrity: sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q== } 1209 | engines: { node: '>=6' } 1210 | dev: true 1211 | 1212 | /cli-table3/0.6.0: 1213 | resolution: 1214 | { integrity: sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ== } 1215 | engines: { node: 10.* || >= 12.* } 1216 | dependencies: 1217 | object-assign: 4.1.1 1218 | string-width: 4.2.2 1219 | optionalDependencies: 1220 | colors: 1.4.0 1221 | 1222 | /cli-truncate/2.1.0: 1223 | resolution: 1224 | { integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== } 1225 | engines: { node: '>=8' } 1226 | dependencies: 1227 | slice-ansi: 3.0.0 1228 | string-width: 4.2.2 1229 | dev: true 1230 | 1231 | /cli-width/3.0.0: 1232 | resolution: 1233 | { integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== } 1234 | engines: { node: '>= 10' } 1235 | dev: true 1236 | 1237 | /clipanion/2.6.2: 1238 | resolution: 1239 | { integrity: sha512-0tOHJNMF9+4R3qcbBL+4IxLErpaYSYvzs10aXuECDbZdJOuJHdagJMAqvLdeaUQTI/o2uSCDRpet6ywDiKOAYw== } 1240 | dev: true 1241 | 1242 | /cliui/7.0.4: 1243 | resolution: 1244 | { integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== } 1245 | dependencies: 1246 | string-width: 4.2.2 1247 | strip-ansi: 6.0.0 1248 | wrap-ansi: 7.0.0 1249 | dev: true 1250 | 1251 | /clone-response/1.0.2: 1252 | resolution: { integrity: sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= } 1253 | dependencies: 1254 | mimic-response: 1.0.1 1255 | dev: true 1256 | 1257 | /clone/1.0.4: 1258 | resolution: { integrity: sha1-2jCcwmPfFZlMaIypAheco8fNfH4= } 1259 | engines: { node: '>=0.8' } 1260 | dev: true 1261 | 1262 | /clone/2.1.2: 1263 | resolution: { integrity: sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= } 1264 | engines: { node: '>=0.8' } 1265 | 1266 | /code-excerpt/3.0.0: 1267 | resolution: 1268 | { integrity: sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw== } 1269 | engines: { node: '>=10' } 1270 | dependencies: 1271 | convert-to-spaces: 1.0.2 1272 | dev: true 1273 | 1274 | /color-convert/1.9.3: 1275 | resolution: 1276 | { integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== } 1277 | dependencies: 1278 | color-name: 1.1.3 1279 | dev: true 1280 | 1281 | /color-convert/2.0.1: 1282 | resolution: 1283 | { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== } 1284 | engines: { node: '>=7.0.0' } 1285 | dependencies: 1286 | color-name: 1.1.4 1287 | 1288 | /color-name/1.1.3: 1289 | resolution: { integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= } 1290 | dev: true 1291 | 1292 | /color-name/1.1.4: 1293 | resolution: 1294 | { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== } 1295 | 1296 | /color-support/1.1.3: 1297 | resolution: 1298 | { integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== } 1299 | hasBin: true 1300 | 1301 | /colorette/1.2.2: 1302 | resolution: 1303 | { integrity: sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== } 1304 | dev: true 1305 | 1306 | /colors/1.4.0: 1307 | resolution: 1308 | { integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== } 1309 | engines: { node: '>=0.1.90' } 1310 | optional: true 1311 | 1312 | /combined-stream/1.0.8: 1313 | resolution: 1314 | { integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== } 1315 | engines: { node: '>= 0.8' } 1316 | dependencies: 1317 | delayed-stream: 1.0.0 1318 | 1319 | /commander/6.2.1: 1320 | resolution: 1321 | { integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== } 1322 | engines: { node: '>= 6' } 1323 | dev: true 1324 | 1325 | /commander/7.2.0: 1326 | resolution: 1327 | { integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== } 1328 | engines: { node: '>= 10' } 1329 | dev: true 1330 | 1331 | /common-path-prefix/3.0.0: 1332 | resolution: 1333 | { integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== } 1334 | dev: true 1335 | 1336 | /concat-map/0.0.1: 1337 | resolution: { integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= } 1338 | dev: true 1339 | 1340 | /concordance/5.0.4: 1341 | resolution: 1342 | { integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw== } 1343 | engines: { node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14' } 1344 | dependencies: 1345 | date-time: 3.1.0 1346 | esutils: 2.0.3 1347 | fast-diff: 1.2.0 1348 | js-string-escape: 1.0.1 1349 | lodash: 4.17.21 1350 | md5-hex: 3.0.1 1351 | semver: 7.3.5 1352 | well-known-symbols: 2.0.0 1353 | dev: true 1354 | 1355 | /configstore/5.0.1: 1356 | resolution: 1357 | { integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== } 1358 | engines: { node: '>=8' } 1359 | dependencies: 1360 | dot-prop: 5.3.0 1361 | graceful-fs: 4.2.6 1362 | make-dir: 3.1.0 1363 | unique-string: 2.0.0 1364 | write-file-atomic: 3.0.3 1365 | xdg-basedir: 4.0.0 1366 | dev: true 1367 | 1368 | /convert-source-map/1.7.0: 1369 | resolution: 1370 | { integrity: sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== } 1371 | dependencies: 1372 | safe-buffer: 5.1.2 1373 | dev: true 1374 | 1375 | /convert-to-spaces/1.0.2: 1376 | resolution: { integrity: sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU= } 1377 | engines: { node: '>= 4' } 1378 | dev: true 1379 | 1380 | /cosmiconfig/7.0.0: 1381 | resolution: 1382 | { integrity: sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== } 1383 | engines: { node: '>=10' } 1384 | dependencies: 1385 | '@types/parse-json': 4.0.0 1386 | import-fresh: 3.3.0 1387 | parse-json: 5.2.0 1388 | path-type: 4.0.0 1389 | yaml: 1.10.2 1390 | dev: true 1391 | 1392 | /cross-argv/1.0.0: 1393 | resolution: 1394 | { integrity: sha512-uAVe/bgNHlPdP1VE4Sk08u9pAJ7o1x/tVQtX77T5zlhYhuwOWtVkPBEtHdvF5cq48VzeCG5i1zN4dQc8pwLYrw== } 1395 | 1396 | /cross-spawn/6.0.5: 1397 | resolution: 1398 | { integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== } 1399 | engines: { node: '>=4.8' } 1400 | dependencies: 1401 | nice-try: 1.0.5 1402 | path-key: 2.0.1 1403 | semver: 5.7.1 1404 | shebang-command: 1.2.0 1405 | which: 1.3.1 1406 | dev: true 1407 | 1408 | /cross-spawn/7.0.3: 1409 | resolution: 1410 | { integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== } 1411 | engines: { node: '>= 8' } 1412 | dependencies: 1413 | path-key: 3.1.1 1414 | shebang-command: 2.0.0 1415 | which: 2.0.2 1416 | dev: true 1417 | 1418 | /crypto-random-string/2.0.0: 1419 | resolution: 1420 | { integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== } 1421 | engines: { node: '>=8' } 1422 | dev: true 1423 | 1424 | /currently-unhandled/0.4.1: 1425 | resolution: { integrity: sha1-mI3zP+qxke95mmE2nddsF635V+o= } 1426 | engines: { node: '>=0.10.0' } 1427 | dependencies: 1428 | array-find-index: 1.0.2 1429 | dev: true 1430 | 1431 | /date-time/3.1.0: 1432 | resolution: 1433 | { integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg== } 1434 | engines: { node: '>=6' } 1435 | dependencies: 1436 | time-zone: 1.0.0 1437 | dev: true 1438 | 1439 | /debug/2.6.9: 1440 | resolution: 1441 | { integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== } 1442 | dependencies: 1443 | ms: 2.0.0 1444 | dev: true 1445 | 1446 | /debug/3.2.7: 1447 | resolution: 1448 | { integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== } 1449 | dependencies: 1450 | ms: 2.1.3 1451 | dev: true 1452 | 1453 | /debug/4.3.1: 1454 | resolution: 1455 | { integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== } 1456 | engines: { node: '>=6.0' } 1457 | peerDependencies: 1458 | supports-color: '*' 1459 | peerDependenciesMeta: 1460 | supports-color: 1461 | optional: true 1462 | dependencies: 1463 | ms: 2.1.2 1464 | dev: true 1465 | 1466 | /decamelize/1.2.0: 1467 | resolution: { integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= } 1468 | engines: { node: '>=0.10.0' } 1469 | dev: true 1470 | 1471 | /decompress-response/3.3.0: 1472 | resolution: { integrity: sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= } 1473 | engines: { node: '>=4' } 1474 | dependencies: 1475 | mimic-response: 1.0.1 1476 | dev: true 1477 | 1478 | /dedent/0.7.0: 1479 | resolution: { integrity: sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= } 1480 | dev: true 1481 | 1482 | /deep-extend/0.6.0: 1483 | resolution: 1484 | { integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== } 1485 | engines: { node: '>=4.0.0' } 1486 | dev: true 1487 | 1488 | /deep-is/0.1.3: 1489 | resolution: { integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= } 1490 | dev: true 1491 | 1492 | /defaults/1.0.3: 1493 | resolution: { integrity: sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= } 1494 | dependencies: 1495 | clone: 1.0.4 1496 | dev: true 1497 | 1498 | /defer-to-connect/1.1.3: 1499 | resolution: 1500 | { integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== } 1501 | dev: true 1502 | 1503 | /define-properties/1.1.3: 1504 | resolution: 1505 | { integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== } 1506 | engines: { node: '>= 0.4' } 1507 | dependencies: 1508 | object-keys: 1.1.1 1509 | dev: true 1510 | 1511 | /del/6.0.0: 1512 | resolution: 1513 | { integrity: sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ== } 1514 | engines: { node: '>=10' } 1515 | dependencies: 1516 | globby: 11.0.3 1517 | graceful-fs: 4.2.6 1518 | is-glob: 4.0.1 1519 | is-path-cwd: 2.2.0 1520 | is-path-inside: 3.0.3 1521 | p-map: 4.0.0 1522 | rimraf: 3.0.2 1523 | slash: 3.0.0 1524 | dev: true 1525 | 1526 | /delayed-stream/1.0.0: 1527 | resolution: { integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk= } 1528 | engines: { node: '>=0.4.0' } 1529 | 1530 | /deprecation/2.3.1: 1531 | resolution: 1532 | { integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== } 1533 | dev: true 1534 | 1535 | /dir-glob/3.0.1: 1536 | resolution: 1537 | { integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== } 1538 | engines: { node: '>=8' } 1539 | dependencies: 1540 | path-type: 4.0.0 1541 | dev: true 1542 | 1543 | /doctrine/2.1.0: 1544 | resolution: 1545 | { integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== } 1546 | engines: { node: '>=0.10.0' } 1547 | dependencies: 1548 | esutils: 2.0.3 1549 | dev: true 1550 | 1551 | /doctrine/3.0.0: 1552 | resolution: 1553 | { integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== } 1554 | engines: { node: '>=6.0.0' } 1555 | dependencies: 1556 | esutils: 2.0.3 1557 | dev: true 1558 | 1559 | /dot-prop/5.3.0: 1560 | resolution: 1561 | { integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== } 1562 | engines: { node: '>=8' } 1563 | dependencies: 1564 | is-obj: 2.0.0 1565 | dev: true 1566 | 1567 | /duplexer3/0.1.4: 1568 | resolution: { integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= } 1569 | dev: true 1570 | 1571 | /emittery/0.8.1: 1572 | resolution: 1573 | { integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== } 1574 | engines: { node: '>=10' } 1575 | dev: true 1576 | 1577 | /emoji-regex/7.0.3: 1578 | resolution: 1579 | { integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== } 1580 | dev: true 1581 | 1582 | /emoji-regex/8.0.0: 1583 | resolution: 1584 | { integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== } 1585 | 1586 | /end-of-stream/1.4.4: 1587 | resolution: 1588 | { integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== } 1589 | dependencies: 1590 | once: 1.4.0 1591 | dev: true 1592 | 1593 | /enquirer/2.3.6: 1594 | resolution: 1595 | { integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== } 1596 | engines: { node: '>=8.6' } 1597 | dependencies: 1598 | ansi-colors: 4.1.1 1599 | dev: true 1600 | 1601 | /equal-length/1.0.1: 1602 | resolution: { integrity: sha1-IcoRLUirJLTh5//A5TOdMf38J0w= } 1603 | engines: { node: '>=4' } 1604 | dev: true 1605 | 1606 | /error-ex/1.3.2: 1607 | resolution: 1608 | { integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== } 1609 | dependencies: 1610 | is-arrayish: 0.2.1 1611 | dev: true 1612 | 1613 | /es-abstract/1.18.3: 1614 | resolution: 1615 | { integrity: sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== } 1616 | engines: { node: '>= 0.4' } 1617 | dependencies: 1618 | call-bind: 1.0.2 1619 | es-to-primitive: 1.2.1 1620 | function-bind: 1.1.1 1621 | get-intrinsic: 1.1.1 1622 | has: 1.0.3 1623 | has-symbols: 1.0.2 1624 | is-callable: 1.2.3 1625 | is-negative-zero: 2.0.1 1626 | is-regex: 1.1.3 1627 | is-string: 1.0.6 1628 | object-inspect: 1.10.3 1629 | object-keys: 1.1.1 1630 | object.assign: 4.1.2 1631 | string.prototype.trimend: 1.0.4 1632 | string.prototype.trimstart: 1.0.4 1633 | unbox-primitive: 1.0.1 1634 | dev: true 1635 | 1636 | /es-to-primitive/1.2.1: 1637 | resolution: 1638 | { integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== } 1639 | engines: { node: '>= 0.4' } 1640 | dependencies: 1641 | is-callable: 1.2.3 1642 | is-date-object: 1.0.4 1643 | is-symbol: 1.0.4 1644 | dev: true 1645 | 1646 | /escalade/3.1.1: 1647 | resolution: 1648 | { integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== } 1649 | engines: { node: '>=6' } 1650 | dev: true 1651 | 1652 | /escape-goat/2.1.1: 1653 | resolution: 1654 | { integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== } 1655 | engines: { node: '>=8' } 1656 | dev: true 1657 | 1658 | /escape-string-regexp/1.0.5: 1659 | resolution: { integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= } 1660 | engines: { node: '>=0.8.0' } 1661 | dev: true 1662 | 1663 | /escape-string-regexp/2.0.0: 1664 | resolution: 1665 | { integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== } 1666 | engines: { node: '>=8' } 1667 | dev: true 1668 | 1669 | /escape-string-regexp/4.0.0: 1670 | resolution: 1671 | { integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== } 1672 | engines: { node: '>=10' } 1673 | dev: true 1674 | 1675 | /eslint-config-prettier/8.3.0_eslint@7.28.0: 1676 | resolution: 1677 | { integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== } 1678 | hasBin: true 1679 | peerDependencies: 1680 | eslint: '>=7.0.0' 1681 | dependencies: 1682 | eslint: 7.28.0 1683 | dev: true 1684 | 1685 | /eslint-import-resolver-node/0.3.4: 1686 | resolution: 1687 | { integrity: sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== } 1688 | dependencies: 1689 | debug: 2.6.9 1690 | resolve: 1.20.0 1691 | dev: true 1692 | 1693 | /eslint-module-utils/2.6.1: 1694 | resolution: 1695 | { integrity: sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A== } 1696 | engines: { node: '>=4' } 1697 | dependencies: 1698 | debug: 3.2.7 1699 | pkg-dir: 2.0.0 1700 | dev: true 1701 | 1702 | /eslint-plugin-import/2.23.4_eslint@7.28.0: 1703 | resolution: 1704 | { integrity: sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ== } 1705 | engines: { node: '>=4' } 1706 | peerDependencies: 1707 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 1708 | dependencies: 1709 | array-includes: 3.1.3 1710 | array.prototype.flat: 1.2.4 1711 | debug: 2.6.9 1712 | doctrine: 2.1.0 1713 | eslint: 7.28.0 1714 | eslint-import-resolver-node: 0.3.4 1715 | eslint-module-utils: 2.6.1 1716 | find-up: 2.1.0 1717 | has: 1.0.3 1718 | is-core-module: 2.4.0 1719 | minimatch: 3.0.4 1720 | object.values: 1.1.4 1721 | pkg-up: 2.0.0 1722 | read-pkg-up: 3.0.0 1723 | resolve: 1.20.0 1724 | tsconfig-paths: 3.9.0 1725 | dev: true 1726 | 1727 | /eslint-plugin-prettier/3.4.0_441ef98f5280b4c825fe505e43fc5698: 1728 | resolution: 1729 | { integrity: sha512-UDK6rJT6INSfcOo545jiaOwB701uAIt2/dR7WnFQoGCVl1/EMqdANBmwUaqqQ45aXprsTGzSa39LI1PyuRBxxw== } 1730 | engines: { node: '>=6.0.0' } 1731 | peerDependencies: 1732 | eslint: '>=5.0.0' 1733 | eslint-config-prettier: '*' 1734 | prettier: '>=1.13.0' 1735 | peerDependenciesMeta: 1736 | eslint-config-prettier: 1737 | optional: true 1738 | dependencies: 1739 | eslint: 7.28.0 1740 | eslint-config-prettier: 8.3.0_eslint@7.28.0 1741 | prettier: 2.3.1 1742 | prettier-linter-helpers: 1.0.0 1743 | dev: true 1744 | 1745 | /eslint-plugin-sonarjs/0.7.0_eslint@7.28.0: 1746 | resolution: 1747 | { integrity: sha512-vi6zGkd5Eznc32AQlleWUOMrMeDiUih9wR7nPPfrDCyVRmwYNHIBRPZGv1EgXwELwaPghCSvoAoHoR7uSbBF/Q== } 1748 | engines: { node: '>=10' } 1749 | peerDependencies: 1750 | eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 1751 | dependencies: 1752 | eslint: 7.28.0 1753 | dev: true 1754 | 1755 | /eslint-scope/5.1.1: 1756 | resolution: 1757 | { integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== } 1758 | engines: { node: '>=8.0.0' } 1759 | dependencies: 1760 | esrecurse: 4.3.0 1761 | estraverse: 4.3.0 1762 | dev: true 1763 | 1764 | /eslint-utils/2.1.0: 1765 | resolution: 1766 | { integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== } 1767 | engines: { node: '>=6' } 1768 | dependencies: 1769 | eslint-visitor-keys: 1.3.0 1770 | dev: true 1771 | 1772 | /eslint-utils/3.0.0_eslint@7.28.0: 1773 | resolution: 1774 | { integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== } 1775 | engines: { node: ^10.0.0 || ^12.0.0 || >= 14.0.0 } 1776 | peerDependencies: 1777 | eslint: '>=5' 1778 | dependencies: 1779 | eslint: 7.28.0 1780 | eslint-visitor-keys: 2.1.0 1781 | dev: true 1782 | 1783 | /eslint-visitor-keys/1.3.0: 1784 | resolution: 1785 | { integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== } 1786 | engines: { node: '>=4' } 1787 | dev: true 1788 | 1789 | /eslint-visitor-keys/2.1.0: 1790 | resolution: 1791 | { integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== } 1792 | engines: { node: '>=10' } 1793 | dev: true 1794 | 1795 | /eslint/7.28.0: 1796 | resolution: 1797 | { integrity: sha512-UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g== } 1798 | engines: { node: ^10.12.0 || >=12.0.0 } 1799 | hasBin: true 1800 | dependencies: 1801 | '@babel/code-frame': 7.12.11 1802 | '@eslint/eslintrc': 0.4.2 1803 | ajv: 6.12.6 1804 | chalk: 4.1.1 1805 | cross-spawn: 7.0.3 1806 | debug: 4.3.1 1807 | doctrine: 3.0.0 1808 | enquirer: 2.3.6 1809 | escape-string-regexp: 4.0.0 1810 | eslint-scope: 5.1.1 1811 | eslint-utils: 2.1.0 1812 | eslint-visitor-keys: 2.1.0 1813 | espree: 7.3.1 1814 | esquery: 1.4.0 1815 | esutils: 2.0.3 1816 | fast-deep-equal: 3.1.3 1817 | file-entry-cache: 6.0.1 1818 | functional-red-black-tree: 1.0.1 1819 | glob-parent: 5.1.2 1820 | globals: 13.9.0 1821 | ignore: 4.0.6 1822 | import-fresh: 3.3.0 1823 | imurmurhash: 0.1.4 1824 | is-glob: 4.0.1 1825 | js-yaml: 3.14.1 1826 | json-stable-stringify-without-jsonify: 1.0.1 1827 | levn: 0.4.1 1828 | lodash.merge: 4.6.2 1829 | minimatch: 3.0.4 1830 | natural-compare: 1.4.0 1831 | optionator: 0.9.1 1832 | progress: 2.0.3 1833 | regexpp: 3.1.0 1834 | semver: 7.3.5 1835 | strip-ansi: 6.0.0 1836 | strip-json-comments: 3.1.1 1837 | table: 6.7.1 1838 | text-table: 0.2.0 1839 | v8-compile-cache: 2.3.0 1840 | transitivePeerDependencies: 1841 | - supports-color 1842 | dev: true 1843 | 1844 | /espree/7.3.1: 1845 | resolution: 1846 | { integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== } 1847 | engines: { node: ^10.12.0 || >=12.0.0 } 1848 | dependencies: 1849 | acorn: 7.4.1 1850 | acorn-jsx: 5.3.1_acorn@7.4.1 1851 | eslint-visitor-keys: 1.3.0 1852 | dev: true 1853 | 1854 | /esprima/4.0.1: 1855 | resolution: 1856 | { integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== } 1857 | engines: { node: '>=4' } 1858 | hasBin: true 1859 | dev: true 1860 | 1861 | /esquery/1.4.0: 1862 | resolution: 1863 | { integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== } 1864 | engines: { node: '>=0.10' } 1865 | dependencies: 1866 | estraverse: 5.2.0 1867 | dev: true 1868 | 1869 | /esrecurse/4.3.0: 1870 | resolution: 1871 | { integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== } 1872 | engines: { node: '>=4.0' } 1873 | dependencies: 1874 | estraverse: 5.2.0 1875 | dev: true 1876 | 1877 | /estraverse/4.3.0: 1878 | resolution: 1879 | { integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== } 1880 | engines: { node: '>=4.0' } 1881 | dev: true 1882 | 1883 | /estraverse/5.2.0: 1884 | resolution: 1885 | { integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== } 1886 | engines: { node: '>=4.0' } 1887 | dev: true 1888 | 1889 | /esutils/2.0.3: 1890 | resolution: 1891 | { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== } 1892 | engines: { node: '>=0.10.0' } 1893 | dev: true 1894 | 1895 | /execa/1.0.0: 1896 | resolution: 1897 | { integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== } 1898 | engines: { node: '>=6' } 1899 | dependencies: 1900 | cross-spawn: 6.0.5 1901 | get-stream: 4.1.0 1902 | is-stream: 1.1.0 1903 | npm-run-path: 2.0.2 1904 | p-finally: 1.0.0 1905 | signal-exit: 3.0.3 1906 | strip-eof: 1.0.0 1907 | dev: true 1908 | 1909 | /execa/5.1.1: 1910 | resolution: 1911 | { integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== } 1912 | engines: { node: '>=10' } 1913 | dependencies: 1914 | cross-spawn: 7.0.3 1915 | get-stream: 6.0.1 1916 | human-signals: 2.1.0 1917 | is-stream: 2.0.0 1918 | merge-stream: 2.0.0 1919 | npm-run-path: 4.0.1 1920 | onetime: 5.1.2 1921 | signal-exit: 3.0.3 1922 | strip-final-newline: 2.0.0 1923 | dev: true 1924 | 1925 | /external-editor/3.1.0: 1926 | resolution: 1927 | { integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== } 1928 | engines: { node: '>=4' } 1929 | dependencies: 1930 | chardet: 0.7.0 1931 | iconv-lite: 0.4.24 1932 | tmp: 0.0.33 1933 | dev: true 1934 | 1935 | /fast-deep-equal/3.1.3: 1936 | resolution: 1937 | { integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== } 1938 | dev: true 1939 | 1940 | /fast-diff/1.2.0: 1941 | resolution: 1942 | { integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== } 1943 | dev: true 1944 | 1945 | /fast-glob/3.2.5: 1946 | resolution: 1947 | { integrity: sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== } 1948 | engines: { node: '>=8' } 1949 | dependencies: 1950 | '@nodelib/fs.stat': 2.0.5 1951 | '@nodelib/fs.walk': 1.2.7 1952 | glob-parent: 5.1.2 1953 | merge2: 1.4.1 1954 | micromatch: 4.0.4 1955 | picomatch: 2.3.0 1956 | dev: true 1957 | 1958 | /fast-json-stable-stringify/2.1.0: 1959 | resolution: 1960 | { integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== } 1961 | dev: true 1962 | 1963 | /fast-levenshtein/2.0.6: 1964 | resolution: { integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= } 1965 | dev: true 1966 | 1967 | /fastq/1.11.0: 1968 | resolution: 1969 | { integrity: sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== } 1970 | dependencies: 1971 | reusify: 1.0.4 1972 | dev: true 1973 | 1974 | /fdir/5.1.0: 1975 | resolution: 1976 | { integrity: sha512-IgTtZwL52tx2wqWeuGDzXYTnNsEjNLahZpJw30hCQDyVnoHXwY5acNDnjGImTTL1R0z1PCyLw20VAbE5qLic3Q== } 1977 | dev: true 1978 | 1979 | /figures/3.2.0: 1980 | resolution: 1981 | { integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== } 1982 | engines: { node: '>=8' } 1983 | dependencies: 1984 | escape-string-regexp: 1.0.5 1985 | dev: true 1986 | 1987 | /file-entry-cache/6.0.1: 1988 | resolution: 1989 | { integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== } 1990 | engines: { node: ^10.12.0 || >=12.0.0 } 1991 | dependencies: 1992 | flat-cache: 3.0.4 1993 | dev: true 1994 | 1995 | /fill-range/7.0.1: 1996 | resolution: 1997 | { integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== } 1998 | engines: { node: '>=8' } 1999 | dependencies: 2000 | to-regex-range: 5.0.1 2001 | dev: true 2002 | 2003 | /find-up/2.1.0: 2004 | resolution: { integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c= } 2005 | engines: { node: '>=4' } 2006 | dependencies: 2007 | locate-path: 2.0.0 2008 | dev: true 2009 | 2010 | /find-up/3.0.0: 2011 | resolution: 2012 | { integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== } 2013 | engines: { node: '>=6' } 2014 | dependencies: 2015 | locate-path: 3.0.0 2016 | dev: true 2017 | 2018 | /find-up/4.1.0: 2019 | resolution: 2020 | { integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== } 2021 | engines: { node: '>=8' } 2022 | dependencies: 2023 | locate-path: 5.0.0 2024 | path-exists: 4.0.0 2025 | dev: true 2026 | 2027 | /flat-cache/3.0.4: 2028 | resolution: 2029 | { integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== } 2030 | engines: { node: ^10.12.0 || >=12.0.0 } 2031 | dependencies: 2032 | flatted: 3.1.1 2033 | rimraf: 3.0.2 2034 | dev: true 2035 | 2036 | /flatted/3.1.1: 2037 | resolution: 2038 | { integrity: sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== } 2039 | dev: true 2040 | 2041 | /form-data/4.0.0: 2042 | resolution: 2043 | { integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== } 2044 | engines: { node: '>= 6' } 2045 | dependencies: 2046 | asynckit: 0.4.0 2047 | combined-stream: 1.0.8 2048 | mime-types: 2.1.31 2049 | 2050 | /fs-extra/9.1.0: 2051 | resolution: 2052 | { integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== } 2053 | engines: { node: '>=10' } 2054 | dependencies: 2055 | at-least-node: 1.0.0 2056 | graceful-fs: 4.2.6 2057 | jsonfile: 6.1.0 2058 | universalify: 2.0.0 2059 | dev: true 2060 | 2061 | /fs.realpath/1.0.0: 2062 | resolution: { integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8= } 2063 | dev: true 2064 | 2065 | /fsevents/2.3.2: 2066 | resolution: 2067 | { integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== } 2068 | engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } 2069 | os: [darwin] 2070 | dev: true 2071 | optional: true 2072 | 2073 | /function-bind/1.1.1: 2074 | resolution: 2075 | { integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== } 2076 | dev: true 2077 | 2078 | /functional-red-black-tree/1.0.1: 2079 | resolution: { integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= } 2080 | dev: true 2081 | 2082 | /get-caller-file/2.0.5: 2083 | resolution: 2084 | { integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== } 2085 | engines: { node: 6.* || 8.* || >= 10.* } 2086 | dev: true 2087 | 2088 | /get-intrinsic/1.1.1: 2089 | resolution: 2090 | { integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== } 2091 | dependencies: 2092 | function-bind: 1.1.1 2093 | has: 1.0.3 2094 | has-symbols: 1.0.2 2095 | dev: true 2096 | 2097 | /get-own-enumerable-property-symbols/3.0.2: 2098 | resolution: 2099 | { integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== } 2100 | dev: true 2101 | 2102 | /get-stream/4.1.0: 2103 | resolution: 2104 | { integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== } 2105 | engines: { node: '>=6' } 2106 | dependencies: 2107 | pump: 3.0.0 2108 | dev: true 2109 | 2110 | /get-stream/5.2.0: 2111 | resolution: 2112 | { integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== } 2113 | engines: { node: '>=8' } 2114 | dependencies: 2115 | pump: 3.0.0 2116 | dev: true 2117 | 2118 | /get-stream/6.0.1: 2119 | resolution: 2120 | { integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== } 2121 | engines: { node: '>=10' } 2122 | dev: true 2123 | 2124 | /glob-parent/5.1.2: 2125 | resolution: 2126 | { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== } 2127 | engines: { node: '>= 6' } 2128 | dependencies: 2129 | is-glob: 4.0.1 2130 | dev: true 2131 | 2132 | /glob/7.1.7: 2133 | resolution: 2134 | { integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== } 2135 | dependencies: 2136 | fs.realpath: 1.0.0 2137 | inflight: 1.0.6 2138 | inherits: 2.0.4 2139 | minimatch: 3.0.4 2140 | once: 1.4.0 2141 | path-is-absolute: 1.0.1 2142 | dev: true 2143 | 2144 | /global-dirs/3.0.0: 2145 | resolution: 2146 | { integrity: sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA== } 2147 | engines: { node: '>=10' } 2148 | dependencies: 2149 | ini: 2.0.0 2150 | dev: true 2151 | 2152 | /globals/13.9.0: 2153 | resolution: 2154 | { integrity: sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA== } 2155 | engines: { node: '>=8' } 2156 | dependencies: 2157 | type-fest: 0.20.2 2158 | dev: true 2159 | 2160 | /globby/11.0.3: 2161 | resolution: 2162 | { integrity: sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== } 2163 | engines: { node: '>=10' } 2164 | dependencies: 2165 | array-union: 2.1.0 2166 | dir-glob: 3.0.1 2167 | fast-glob: 3.2.5 2168 | ignore: 5.1.8 2169 | merge2: 1.4.1 2170 | slash: 3.0.0 2171 | dev: true 2172 | 2173 | /got/9.6.0: 2174 | resolution: 2175 | { integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== } 2176 | engines: { node: '>=8.6' } 2177 | dependencies: 2178 | '@sindresorhus/is': 0.14.0 2179 | '@szmarczak/http-timer': 1.1.2 2180 | cacheable-request: 6.1.0 2181 | decompress-response: 3.3.0 2182 | duplexer3: 0.1.4 2183 | get-stream: 4.1.0 2184 | lowercase-keys: 1.0.1 2185 | mimic-response: 1.0.1 2186 | p-cancelable: 1.1.0 2187 | to-readable-stream: 1.0.0 2188 | url-parse-lax: 3.0.0 2189 | dev: true 2190 | 2191 | /graceful-fs/4.2.6: 2192 | resolution: 2193 | { integrity: sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== } 2194 | dev: true 2195 | 2196 | /has-async-hooks/1.0.0: 2197 | resolution: 2198 | { integrity: sha512-YF0VPGjkxr7AyyQQNykX8zK4PvtEDsUJAPqwu06UFz1lb6EvI53sPh5H1kWxg8NXI5LsfRCZ8uX9NkYDZBb/mw== } 2199 | 2200 | /has-bigints/1.0.1: 2201 | resolution: 2202 | { integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== } 2203 | dev: true 2204 | 2205 | /has-flag/3.0.0: 2206 | resolution: { integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0= } 2207 | engines: { node: '>=4' } 2208 | dev: true 2209 | 2210 | /has-flag/4.0.0: 2211 | resolution: 2212 | { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== } 2213 | engines: { node: '>=8' } 2214 | 2215 | /has-symbols/1.0.2: 2216 | resolution: 2217 | { integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== } 2218 | engines: { node: '>= 0.4' } 2219 | dev: true 2220 | 2221 | /has-yarn/2.1.0: 2222 | resolution: 2223 | { integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== } 2224 | engines: { node: '>=8' } 2225 | dev: true 2226 | 2227 | /has/1.0.3: 2228 | resolution: 2229 | { integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== } 2230 | engines: { node: '>= 0.4.0' } 2231 | dependencies: 2232 | function-bind: 1.1.1 2233 | dev: true 2234 | 2235 | /hdr-histogram-js/2.0.1: 2236 | resolution: 2237 | { integrity: sha512-uPZxl1dAFnjUFHWLZmt93vUUvtHeaBay9nVNHu38SdOjMSF/4KqJUqa1Seuj08ptU1rEb6AHvB41X8n/zFZ74Q== } 2238 | dependencies: 2239 | '@assemblyscript/loader': 0.10.1 2240 | base64-js: 1.5.1 2241 | pako: 1.0.11 2242 | 2243 | /hdr-histogram-percentiles-obj/3.0.0: 2244 | resolution: 2245 | { integrity: sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw== } 2246 | 2247 | /hosted-git-info/2.8.9: 2248 | resolution: 2249 | { integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== } 2250 | dev: true 2251 | 2252 | /http-cache-semantics/4.1.0: 2253 | resolution: 2254 | { integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== } 2255 | dev: true 2256 | 2257 | /http-parser-js/0.5.3: 2258 | resolution: 2259 | { integrity: sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg== } 2260 | 2261 | /human-signals/2.1.0: 2262 | resolution: 2263 | { integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== } 2264 | engines: { node: '>=10.17.0' } 2265 | dev: true 2266 | 2267 | /husky/6.0.0: 2268 | resolution: 2269 | { integrity: sha512-SQS2gDTB7tBN486QSoKPKQItZw97BMOd+Kdb6ghfpBc0yXyzrddI0oDV5MkDAbuB4X2mO3/nj60TRMcYxwzZeQ== } 2270 | hasBin: true 2271 | dev: true 2272 | 2273 | /hyperid/2.1.0: 2274 | resolution: 2275 | { integrity: sha512-cSakhxbUsaIuqjfvvcUuvl/Fl342J65xgLLYrYxSSr9qmJ/EJK+S8crS6mIlQd/a7i+Pe4D0MgSrtZPLze+aCw== } 2276 | dependencies: 2277 | uuid: 3.4.0 2278 | uuid-parse: 1.1.0 2279 | 2280 | /iconv-lite/0.4.24: 2281 | resolution: 2282 | { integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== } 2283 | engines: { node: '>=0.10.0' } 2284 | dependencies: 2285 | safer-buffer: 2.1.2 2286 | dev: true 2287 | 2288 | /ieee754/1.2.1: 2289 | resolution: 2290 | { integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== } 2291 | dev: true 2292 | 2293 | /ignore-by-default/2.0.0: 2294 | resolution: 2295 | { integrity: sha512-+mQSgMRiFD3L3AOxLYOCxjIq4OnAmo5CIuC+lj5ehCJcPtV++QacEV7FdpzvYxH6DaOySWzQU6RR0lPLy37ckA== } 2296 | engines: { node: '>=10 <11 || >=12 <13 || >=14' } 2297 | dev: true 2298 | 2299 | /ignore/4.0.6: 2300 | resolution: 2301 | { integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== } 2302 | engines: { node: '>= 4' } 2303 | dev: true 2304 | 2305 | /ignore/5.1.8: 2306 | resolution: 2307 | { integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== } 2308 | engines: { node: '>= 4' } 2309 | dev: true 2310 | 2311 | /import-fresh/3.3.0: 2312 | resolution: 2313 | { integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== } 2314 | engines: { node: '>=6' } 2315 | dependencies: 2316 | parent-module: 1.0.1 2317 | resolve-from: 4.0.0 2318 | dev: true 2319 | 2320 | /import-lazy/2.1.0: 2321 | resolution: { integrity: sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= } 2322 | engines: { node: '>=4' } 2323 | dev: true 2324 | 2325 | /import-local/3.0.2: 2326 | resolution: 2327 | { integrity: sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== } 2328 | engines: { node: '>=8' } 2329 | hasBin: true 2330 | dependencies: 2331 | pkg-dir: 4.2.0 2332 | resolve-cwd: 3.0.0 2333 | dev: true 2334 | 2335 | /imurmurhash/0.1.4: 2336 | resolution: { integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o= } 2337 | engines: { node: '>=0.8.19' } 2338 | dev: true 2339 | 2340 | /indent-string/4.0.0: 2341 | resolution: 2342 | { integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== } 2343 | engines: { node: '>=8' } 2344 | dev: true 2345 | 2346 | /inflight/1.0.6: 2347 | resolution: { integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= } 2348 | dependencies: 2349 | once: 1.4.0 2350 | wrappy: 1.0.2 2351 | dev: true 2352 | 2353 | /inherits/2.0.4: 2354 | resolution: 2355 | { integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== } 2356 | dev: true 2357 | 2358 | /ini/1.3.8: 2359 | resolution: 2360 | { integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== } 2361 | dev: true 2362 | 2363 | /ini/2.0.0: 2364 | resolution: 2365 | { integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== } 2366 | engines: { node: '>=10' } 2367 | dev: true 2368 | 2369 | /inquirer/8.1.0: 2370 | resolution: 2371 | { integrity: sha512-1nKYPoalt1vMBfCMtpomsUc32wmOoWXAoq3kM/5iTfxyQ2f/BxjixQpC+mbZ7BI0JUXHED4/XPXekDVtJNpXYw== } 2372 | engines: { node: '>=8.0.0' } 2373 | dependencies: 2374 | ansi-escapes: 4.3.2 2375 | chalk: 4.1.1 2376 | cli-cursor: 3.1.0 2377 | cli-width: 3.0.0 2378 | external-editor: 3.1.0 2379 | figures: 3.2.0 2380 | lodash: 4.17.21 2381 | mute-stream: 0.0.8 2382 | ora: 5.4.1 2383 | run-async: 2.4.1 2384 | rxjs: 6.6.7 2385 | string-width: 4.2.2 2386 | strip-ansi: 6.0.0 2387 | through: 2.3.8 2388 | dev: true 2389 | 2390 | /irregular-plurals/3.3.0: 2391 | resolution: 2392 | { integrity: sha512-MVBLKUTangM3EfRPFROhmWQQKRDsrgI83J8GS3jXy+OwYqiR2/aoWndYQ5416jLE3uaGgLH7ncme3X9y09gZ3g== } 2393 | engines: { node: '>=8' } 2394 | dev: true 2395 | 2396 | /is-arrayish/0.2.1: 2397 | resolution: { integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= } 2398 | dev: true 2399 | 2400 | /is-bigint/1.0.2: 2401 | resolution: 2402 | { integrity: sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== } 2403 | dev: true 2404 | 2405 | /is-binary-path/2.1.0: 2406 | resolution: 2407 | { integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== } 2408 | engines: { node: '>=8' } 2409 | dependencies: 2410 | binary-extensions: 2.2.0 2411 | dev: true 2412 | 2413 | /is-boolean-object/1.1.1: 2414 | resolution: 2415 | { integrity: sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng== } 2416 | engines: { node: '>= 0.4' } 2417 | dependencies: 2418 | call-bind: 1.0.2 2419 | dev: true 2420 | 2421 | /is-callable/1.2.3: 2422 | resolution: 2423 | { integrity: sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== } 2424 | engines: { node: '>= 0.4' } 2425 | dev: true 2426 | 2427 | /is-ci/2.0.0: 2428 | resolution: 2429 | { integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== } 2430 | hasBin: true 2431 | dependencies: 2432 | ci-info: 2.0.0 2433 | dev: true 2434 | 2435 | /is-core-module/2.4.0: 2436 | resolution: 2437 | { integrity: sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== } 2438 | dependencies: 2439 | has: 1.0.3 2440 | dev: true 2441 | 2442 | /is-date-object/1.0.4: 2443 | resolution: 2444 | { integrity: sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A== } 2445 | engines: { node: '>= 0.4' } 2446 | dev: true 2447 | 2448 | /is-error/2.2.2: 2449 | resolution: 2450 | { integrity: sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg== } 2451 | dev: true 2452 | 2453 | /is-extglob/2.1.1: 2454 | resolution: { integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= } 2455 | engines: { node: '>=0.10.0' } 2456 | dev: true 2457 | 2458 | /is-fullwidth-code-point/2.0.0: 2459 | resolution: { integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= } 2460 | engines: { node: '>=4' } 2461 | dev: true 2462 | 2463 | /is-fullwidth-code-point/3.0.0: 2464 | resolution: 2465 | { integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== } 2466 | engines: { node: '>=8' } 2467 | 2468 | /is-glob/4.0.1: 2469 | resolution: 2470 | { integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== } 2471 | engines: { node: '>=0.10.0' } 2472 | dependencies: 2473 | is-extglob: 2.1.1 2474 | dev: true 2475 | 2476 | /is-installed-globally/0.4.0: 2477 | resolution: 2478 | { integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== } 2479 | engines: { node: '>=10' } 2480 | dependencies: 2481 | global-dirs: 3.0.0 2482 | is-path-inside: 3.0.3 2483 | dev: true 2484 | 2485 | /is-interactive/1.0.0: 2486 | resolution: 2487 | { integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== } 2488 | engines: { node: '>=8' } 2489 | dev: true 2490 | 2491 | /is-negative-zero/2.0.1: 2492 | resolution: 2493 | { integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== } 2494 | engines: { node: '>= 0.4' } 2495 | dev: true 2496 | 2497 | /is-npm/5.0.0: 2498 | resolution: 2499 | { integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== } 2500 | engines: { node: '>=10' } 2501 | dev: true 2502 | 2503 | /is-number-object/1.0.5: 2504 | resolution: 2505 | { integrity: sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== } 2506 | engines: { node: '>= 0.4' } 2507 | dev: true 2508 | 2509 | /is-number/7.0.0: 2510 | resolution: 2511 | { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== } 2512 | engines: { node: '>=0.12.0' } 2513 | dev: true 2514 | 2515 | /is-obj/1.0.1: 2516 | resolution: { integrity: sha1-PkcprB9f3gJc19g6iW2rn09n2w8= } 2517 | engines: { node: '>=0.10.0' } 2518 | dev: true 2519 | 2520 | /is-obj/2.0.0: 2521 | resolution: 2522 | { integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== } 2523 | engines: { node: '>=8' } 2524 | dev: true 2525 | 2526 | /is-path-cwd/2.2.0: 2527 | resolution: 2528 | { integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== } 2529 | engines: { node: '>=6' } 2530 | dev: true 2531 | 2532 | /is-path-inside/3.0.3: 2533 | resolution: 2534 | { integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== } 2535 | engines: { node: '>=8' } 2536 | dev: true 2537 | 2538 | /is-plain-object/5.0.0: 2539 | resolution: 2540 | { integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== } 2541 | engines: { node: '>=0.10.0' } 2542 | dev: true 2543 | 2544 | /is-promise/4.0.0: 2545 | resolution: 2546 | { integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ== } 2547 | dev: true 2548 | 2549 | /is-regex/1.1.3: 2550 | resolution: 2551 | { integrity: sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== } 2552 | engines: { node: '>= 0.4' } 2553 | dependencies: 2554 | call-bind: 1.0.2 2555 | has-symbols: 1.0.2 2556 | dev: true 2557 | 2558 | /is-regexp/1.0.0: 2559 | resolution: { integrity: sha1-/S2INUXEa6xaYz57mgnof6LLUGk= } 2560 | engines: { node: '>=0.10.0' } 2561 | dev: true 2562 | 2563 | /is-stream/1.1.0: 2564 | resolution: { integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ= } 2565 | engines: { node: '>=0.10.0' } 2566 | dev: true 2567 | 2568 | /is-stream/2.0.0: 2569 | resolution: 2570 | { integrity: sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== } 2571 | engines: { node: '>=8' } 2572 | dev: true 2573 | 2574 | /is-string/1.0.6: 2575 | resolution: 2576 | { integrity: sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== } 2577 | engines: { node: '>= 0.4' } 2578 | dev: true 2579 | 2580 | /is-symbol/1.0.4: 2581 | resolution: 2582 | { integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== } 2583 | engines: { node: '>= 0.4' } 2584 | dependencies: 2585 | has-symbols: 1.0.2 2586 | dev: true 2587 | 2588 | /is-typedarray/1.0.0: 2589 | resolution: { integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= } 2590 | dev: true 2591 | 2592 | /is-unicode-supported/0.1.0: 2593 | resolution: 2594 | { integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== } 2595 | engines: { node: '>=10' } 2596 | dev: true 2597 | 2598 | /is-yarn-global/0.3.0: 2599 | resolution: 2600 | { integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== } 2601 | dev: true 2602 | 2603 | /isexe/2.0.0: 2604 | resolution: { integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= } 2605 | dev: true 2606 | 2607 | /jju/1.4.0: 2608 | resolution: { integrity: sha1-o6vicYryQaKykE+EpiWXDzia4yo= } 2609 | dev: true 2610 | 2611 | /js-string-escape/1.0.1: 2612 | resolution: { integrity: sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8= } 2613 | engines: { node: '>= 0.8' } 2614 | dev: true 2615 | 2616 | /js-tokens/4.0.0: 2617 | resolution: 2618 | { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== } 2619 | dev: true 2620 | 2621 | /js-yaml/3.14.1: 2622 | resolution: 2623 | { integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== } 2624 | hasBin: true 2625 | dependencies: 2626 | argparse: 1.0.10 2627 | esprima: 4.0.1 2628 | dev: true 2629 | 2630 | /json-buffer/3.0.0: 2631 | resolution: { integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= } 2632 | dev: true 2633 | 2634 | /json-parse-better-errors/1.0.2: 2635 | resolution: 2636 | { integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== } 2637 | dev: true 2638 | 2639 | /json-parse-even-better-errors/2.3.1: 2640 | resolution: 2641 | { integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== } 2642 | dev: true 2643 | 2644 | /json-schema-traverse/0.4.1: 2645 | resolution: 2646 | { integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== } 2647 | dev: true 2648 | 2649 | /json-schema-traverse/1.0.0: 2650 | resolution: 2651 | { integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== } 2652 | dev: true 2653 | 2654 | /json-stable-stringify-without-jsonify/1.0.1: 2655 | resolution: { integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= } 2656 | dev: true 2657 | 2658 | /json2csv/5.0.6: 2659 | resolution: 2660 | { integrity: sha512-0/4Lv6IenJV0qj2oBdgPIAmFiKKnh8qh7bmLFJ+/ZZHLjSeiL3fKKGX3UryvKPbxFbhV+JcYo9KUC19GJ/Z/4A== } 2661 | engines: { node: '>= 10', npm: '>= 6.13.0' } 2662 | hasBin: true 2663 | dependencies: 2664 | commander: 6.2.1 2665 | jsonparse: 1.3.1 2666 | lodash.get: 4.4.2 2667 | dev: true 2668 | 2669 | /json5/1.0.1: 2670 | resolution: 2671 | { integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== } 2672 | hasBin: true 2673 | dependencies: 2674 | minimist: 1.2.5 2675 | dev: true 2676 | 2677 | /jsonfile/6.1.0: 2678 | resolution: 2679 | { integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== } 2680 | dependencies: 2681 | universalify: 2.0.0 2682 | optionalDependencies: 2683 | graceful-fs: 4.2.6 2684 | dev: true 2685 | 2686 | /jsonparse/1.3.1: 2687 | resolution: { integrity: sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= } 2688 | engines: { '0': node >= 0.2.0 } 2689 | dev: true 2690 | 2691 | /keyv/3.1.0: 2692 | resolution: 2693 | { integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== } 2694 | dependencies: 2695 | json-buffer: 3.0.0 2696 | dev: true 2697 | 2698 | /kleur/4.1.4: 2699 | resolution: 2700 | { integrity: sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA== } 2701 | engines: { node: '>=6' } 2702 | dev: true 2703 | 2704 | /latest-version/5.1.0: 2705 | resolution: 2706 | { integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== } 2707 | engines: { node: '>=8' } 2708 | dependencies: 2709 | package-json: 6.5.0 2710 | dev: true 2711 | 2712 | /levn/0.4.1: 2713 | resolution: 2714 | { integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== } 2715 | engines: { node: '>= 0.8.0' } 2716 | dependencies: 2717 | prelude-ls: 1.2.1 2718 | type-check: 0.4.0 2719 | dev: true 2720 | 2721 | /lines-and-columns/1.1.6: 2722 | resolution: { integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= } 2723 | dev: true 2724 | 2725 | /lint-staged/11.0.0: 2726 | resolution: 2727 | { integrity: sha512-3rsRIoyaE8IphSUtO1RVTFl1e0SLBtxxUOPBtHxQgBHS5/i6nqvjcUfNioMa4BU9yGnPzbO+xkfLtXtxBpCzjw== } 2728 | hasBin: true 2729 | dependencies: 2730 | chalk: 4.1.1 2731 | cli-truncate: 2.1.0 2732 | commander: 7.2.0 2733 | cosmiconfig: 7.0.0 2734 | debug: 4.3.1 2735 | dedent: 0.7.0 2736 | enquirer: 2.3.6 2737 | execa: 5.1.1 2738 | listr2: 3.10.0_enquirer@2.3.6 2739 | log-symbols: 4.1.0 2740 | micromatch: 4.0.4 2741 | normalize-path: 3.0.0 2742 | please-upgrade-node: 3.2.0 2743 | string-argv: 0.3.1 2744 | stringify-object: 3.3.0 2745 | transitivePeerDependencies: 2746 | - supports-color 2747 | dev: true 2748 | 2749 | /listr2/3.10.0_enquirer@2.3.6: 2750 | resolution: 2751 | { integrity: sha512-eP40ZHihu70sSmqFNbNy2NL1YwImmlMmPh9WO5sLmPDleurMHt3n+SwEWNu2kzKScexZnkyFtc1VI0z/TGlmpw== } 2752 | engines: { node: '>=10.0.0' } 2753 | peerDependencies: 2754 | enquirer: '>= 2.3.0 < 3' 2755 | dependencies: 2756 | cli-truncate: 2.1.0 2757 | colorette: 1.2.2 2758 | enquirer: 2.3.6 2759 | log-update: 4.0.0 2760 | p-map: 4.0.0 2761 | rxjs: 6.6.7 2762 | through: 2.3.8 2763 | wrap-ansi: 7.0.0 2764 | dev: true 2765 | 2766 | /load-json-file/4.0.0: 2767 | resolution: { integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs= } 2768 | engines: { node: '>=4' } 2769 | dependencies: 2770 | graceful-fs: 4.2.6 2771 | parse-json: 4.0.0 2772 | pify: 3.0.0 2773 | strip-bom: 3.0.0 2774 | dev: true 2775 | 2776 | /load-json-file/5.3.0: 2777 | resolution: 2778 | { integrity: sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw== } 2779 | engines: { node: '>=6' } 2780 | dependencies: 2781 | graceful-fs: 4.2.6 2782 | parse-json: 4.0.0 2783 | pify: 4.0.1 2784 | strip-bom: 3.0.0 2785 | type-fest: 0.3.1 2786 | dev: true 2787 | 2788 | /locate-path/2.0.0: 2789 | resolution: { integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= } 2790 | engines: { node: '>=4' } 2791 | dependencies: 2792 | p-locate: 2.0.0 2793 | path-exists: 3.0.0 2794 | dev: true 2795 | 2796 | /locate-path/3.0.0: 2797 | resolution: 2798 | { integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== } 2799 | engines: { node: '>=6' } 2800 | dependencies: 2801 | p-locate: 3.0.0 2802 | path-exists: 3.0.0 2803 | dev: true 2804 | 2805 | /locate-path/5.0.0: 2806 | resolution: 2807 | { integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== } 2808 | engines: { node: '>=8' } 2809 | dependencies: 2810 | p-locate: 4.1.0 2811 | dev: true 2812 | 2813 | /lodash.clonedeep/4.5.0: 2814 | resolution: { integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= } 2815 | dev: true 2816 | 2817 | /lodash.get/4.4.2: 2818 | resolution: { integrity: sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= } 2819 | dev: true 2820 | 2821 | /lodash.merge/4.6.2: 2822 | resolution: 2823 | { integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== } 2824 | dev: true 2825 | 2826 | /lodash.truncate/4.4.2: 2827 | resolution: { integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= } 2828 | dev: true 2829 | 2830 | /lodash/4.17.21: 2831 | resolution: 2832 | { integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== } 2833 | dev: true 2834 | 2835 | /log-symbols/4.1.0: 2836 | resolution: 2837 | { integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== } 2838 | engines: { node: '>=10' } 2839 | dependencies: 2840 | chalk: 4.1.1 2841 | is-unicode-supported: 0.1.0 2842 | dev: true 2843 | 2844 | /log-update/4.0.0: 2845 | resolution: 2846 | { integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== } 2847 | engines: { node: '>=10' } 2848 | dependencies: 2849 | ansi-escapes: 4.3.2 2850 | cli-cursor: 3.1.0 2851 | slice-ansi: 4.0.0 2852 | wrap-ansi: 6.2.0 2853 | dev: true 2854 | 2855 | /lowercase-keys/1.0.1: 2856 | resolution: 2857 | { integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== } 2858 | engines: { node: '>=0.10.0' } 2859 | dev: true 2860 | 2861 | /lowercase-keys/2.0.0: 2862 | resolution: 2863 | { integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== } 2864 | engines: { node: '>=8' } 2865 | dev: true 2866 | 2867 | /lru-cache/6.0.0: 2868 | resolution: 2869 | { integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== } 2870 | engines: { node: '>=10' } 2871 | dependencies: 2872 | yallist: 4.0.0 2873 | 2874 | /macos-release/2.5.0: 2875 | resolution: 2876 | { integrity: sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g== } 2877 | engines: { node: '>=6' } 2878 | dev: true 2879 | 2880 | /make-dir/3.1.0: 2881 | resolution: 2882 | { integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== } 2883 | engines: { node: '>=8' } 2884 | dependencies: 2885 | semver: 6.3.0 2886 | dev: true 2887 | 2888 | /manage-path/2.0.0: 2889 | resolution: { integrity: sha1-9M+EV7km7u4qg7FzUBQUvHbrlZc= } 2890 | 2891 | /map-age-cleaner/0.1.3: 2892 | resolution: 2893 | { integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== } 2894 | engines: { node: '>=6' } 2895 | dependencies: 2896 | p-defer: 1.0.0 2897 | dev: true 2898 | 2899 | /matcher/3.0.0: 2900 | resolution: 2901 | { integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng== } 2902 | engines: { node: '>=10' } 2903 | dependencies: 2904 | escape-string-regexp: 4.0.0 2905 | dev: true 2906 | 2907 | /md5-hex/3.0.1: 2908 | resolution: 2909 | { integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw== } 2910 | engines: { node: '>=8' } 2911 | dependencies: 2912 | blueimp-md5: 2.18.0 2913 | dev: true 2914 | 2915 | /mem/8.1.1: 2916 | resolution: 2917 | { integrity: sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA== } 2918 | engines: { node: '>=10' } 2919 | dependencies: 2920 | map-age-cleaner: 0.1.3 2921 | mimic-fn: 3.1.0 2922 | dev: true 2923 | 2924 | /memorystream/0.3.1: 2925 | resolution: { integrity: sha1-htcJCzDORV1j+64S3aUaR93K+bI= } 2926 | engines: { node: '>= 0.10.0' } 2927 | dev: true 2928 | 2929 | /merge-stream/2.0.0: 2930 | resolution: 2931 | { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== } 2932 | dev: true 2933 | 2934 | /merge2/1.4.1: 2935 | resolution: 2936 | { integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== } 2937 | engines: { node: '>= 8' } 2938 | dev: true 2939 | 2940 | /micromatch/4.0.4: 2941 | resolution: 2942 | { integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== } 2943 | engines: { node: '>=8.6' } 2944 | dependencies: 2945 | braces: 3.0.2 2946 | picomatch: 2.3.0 2947 | dev: true 2948 | 2949 | /mime-db/1.48.0: 2950 | resolution: 2951 | { integrity: sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ== } 2952 | engines: { node: '>= 0.6' } 2953 | 2954 | /mime-types/2.1.31: 2955 | resolution: 2956 | { integrity: sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg== } 2957 | engines: { node: '>= 0.6' } 2958 | dependencies: 2959 | mime-db: 1.48.0 2960 | 2961 | /mimic-fn/2.1.0: 2962 | resolution: 2963 | { integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== } 2964 | engines: { node: '>=6' } 2965 | dev: true 2966 | 2967 | /mimic-fn/3.1.0: 2968 | resolution: 2969 | { integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ== } 2970 | engines: { node: '>=8' } 2971 | dev: true 2972 | 2973 | /mimic-response/1.0.1: 2974 | resolution: 2975 | { integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== } 2976 | engines: { node: '>=4' } 2977 | dev: true 2978 | 2979 | /minimatch/3.0.4: 2980 | resolution: 2981 | { integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== } 2982 | dependencies: 2983 | brace-expansion: 1.1.11 2984 | dev: true 2985 | 2986 | /minimist/1.2.5: 2987 | resolution: 2988 | { integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== } 2989 | 2990 | /ms/2.0.0: 2991 | resolution: { integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= } 2992 | dev: true 2993 | 2994 | /ms/2.1.2: 2995 | resolution: 2996 | { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== } 2997 | dev: true 2998 | 2999 | /ms/2.1.3: 3000 | resolution: 3001 | { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== } 3002 | dev: true 3003 | 3004 | /mute-stream/0.0.8: 3005 | resolution: 3006 | { integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== } 3007 | dev: true 3008 | 3009 | /natural-compare/1.4.0: 3010 | resolution: { integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= } 3011 | dev: true 3012 | 3013 | /nice-try/1.0.5: 3014 | resolution: 3015 | { integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== } 3016 | dev: true 3017 | 3018 | /node-fetch/2.6.1: 3019 | resolution: 3020 | { integrity: sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== } 3021 | engines: { node: 4.x || >=6.0.0 } 3022 | dev: true 3023 | 3024 | /node-modules-regexp/1.0.0: 3025 | resolution: { integrity: sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= } 3026 | engines: { node: '>=0.10.0' } 3027 | dev: true 3028 | 3029 | /normalize-package-data/2.5.0: 3030 | resolution: 3031 | { integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== } 3032 | dependencies: 3033 | hosted-git-info: 2.8.9 3034 | resolve: 1.20.0 3035 | semver: 5.7.1 3036 | validate-npm-package-license: 3.0.4 3037 | dev: true 3038 | 3039 | /normalize-path/3.0.0: 3040 | resolution: 3041 | { integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== } 3042 | engines: { node: '>=0.10.0' } 3043 | dev: true 3044 | 3045 | /normalize-url/4.5.1: 3046 | resolution: 3047 | { integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== } 3048 | engines: { node: '>=8' } 3049 | dev: true 3050 | 3051 | /npm-run-all/4.1.5: 3052 | resolution: 3053 | { integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== } 3054 | engines: { node: '>= 4' } 3055 | hasBin: true 3056 | dependencies: 3057 | ansi-styles: 3.2.1 3058 | chalk: 2.4.2 3059 | cross-spawn: 6.0.5 3060 | memorystream: 0.3.1 3061 | minimatch: 3.0.4 3062 | pidtree: 0.3.1 3063 | read-pkg: 3.0.0 3064 | shell-quote: 1.7.2 3065 | string.prototype.padend: 3.1.2 3066 | dev: true 3067 | 3068 | /npm-run-path/2.0.2: 3069 | resolution: { integrity: sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= } 3070 | engines: { node: '>=4' } 3071 | dependencies: 3072 | path-key: 2.0.1 3073 | dev: true 3074 | 3075 | /npm-run-path/4.0.1: 3076 | resolution: 3077 | { integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== } 3078 | engines: { node: '>=8' } 3079 | dependencies: 3080 | path-key: 3.1.1 3081 | dev: true 3082 | 3083 | /object-assign/4.1.1: 3084 | resolution: { integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= } 3085 | engines: { node: '>=0.10.0' } 3086 | 3087 | /object-inspect/1.10.3: 3088 | resolution: 3089 | { integrity: sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw== } 3090 | dev: true 3091 | 3092 | /object-keys/1.1.1: 3093 | resolution: 3094 | { integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== } 3095 | engines: { node: '>= 0.4' } 3096 | dev: true 3097 | 3098 | /object.assign/4.1.2: 3099 | resolution: 3100 | { integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== } 3101 | engines: { node: '>= 0.4' } 3102 | dependencies: 3103 | call-bind: 1.0.2 3104 | define-properties: 1.1.3 3105 | has-symbols: 1.0.2 3106 | object-keys: 1.1.1 3107 | dev: true 3108 | 3109 | /object.values/1.1.4: 3110 | resolution: 3111 | { integrity: sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== } 3112 | engines: { node: '>= 0.4' } 3113 | dependencies: 3114 | call-bind: 1.0.2 3115 | define-properties: 1.1.3 3116 | es-abstract: 1.18.3 3117 | dev: true 3118 | 3119 | /on-net-listen/1.1.2: 3120 | resolution: 3121 | { integrity: sha512-y1HRYy8s/RlcBvDUwKXSmkODMdx4KSuIvloCnQYJ2LdBBC1asY4HtfhXwe3UWknLakATZDnbzht2Ijw3M1EqFg== } 3122 | engines: { node: '>=9.4.0 || ^8.9.4' } 3123 | 3124 | /once/1.4.0: 3125 | resolution: { integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E= } 3126 | dependencies: 3127 | wrappy: 1.0.2 3128 | dev: true 3129 | 3130 | /onetime/5.1.2: 3131 | resolution: 3132 | { integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== } 3133 | engines: { node: '>=6' } 3134 | dependencies: 3135 | mimic-fn: 2.1.0 3136 | dev: true 3137 | 3138 | /optionator/0.9.1: 3139 | resolution: 3140 | { integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== } 3141 | engines: { node: '>= 0.8.0' } 3142 | dependencies: 3143 | deep-is: 0.1.3 3144 | fast-levenshtein: 2.0.6 3145 | levn: 0.4.1 3146 | prelude-ls: 1.2.1 3147 | type-check: 0.4.0 3148 | word-wrap: 1.2.3 3149 | dev: true 3150 | 3151 | /ora/5.4.1: 3152 | resolution: 3153 | { integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== } 3154 | engines: { node: '>=10' } 3155 | dependencies: 3156 | bl: 4.1.0 3157 | chalk: 4.1.1 3158 | cli-cursor: 3.1.0 3159 | cli-spinners: 2.6.0 3160 | is-interactive: 1.0.0 3161 | is-unicode-supported: 0.1.0 3162 | log-symbols: 4.1.0 3163 | strip-ansi: 6.0.0 3164 | wcwidth: 1.0.1 3165 | dev: true 3166 | 3167 | /os-name/3.1.0: 3168 | resolution: 3169 | { integrity: sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg== } 3170 | engines: { node: '>=6' } 3171 | dependencies: 3172 | macos-release: 2.5.0 3173 | windows-release: 3.3.3 3174 | dev: true 3175 | 3176 | /os-tmpdir/1.0.2: 3177 | resolution: { integrity: sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= } 3178 | engines: { node: '>=0.10.0' } 3179 | dev: true 3180 | 3181 | /p-cancelable/1.1.0: 3182 | resolution: 3183 | { integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== } 3184 | engines: { node: '>=6' } 3185 | dev: true 3186 | 3187 | /p-defer/1.0.0: 3188 | resolution: { integrity: sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= } 3189 | engines: { node: '>=4' } 3190 | dev: true 3191 | 3192 | /p-event/4.2.0: 3193 | resolution: 3194 | { integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== } 3195 | engines: { node: '>=8' } 3196 | dependencies: 3197 | p-timeout: 3.2.0 3198 | dev: true 3199 | 3200 | /p-finally/1.0.0: 3201 | resolution: { integrity: sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= } 3202 | engines: { node: '>=4' } 3203 | dev: true 3204 | 3205 | /p-limit/1.3.0: 3206 | resolution: 3207 | { integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== } 3208 | engines: { node: '>=4' } 3209 | dependencies: 3210 | p-try: 1.0.0 3211 | dev: true 3212 | 3213 | /p-limit/2.3.0: 3214 | resolution: 3215 | { integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== } 3216 | engines: { node: '>=6' } 3217 | dependencies: 3218 | p-try: 2.2.0 3219 | dev: true 3220 | 3221 | /p-locate/2.0.0: 3222 | resolution: { integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= } 3223 | engines: { node: '>=4' } 3224 | dependencies: 3225 | p-limit: 1.3.0 3226 | dev: true 3227 | 3228 | /p-locate/3.0.0: 3229 | resolution: 3230 | { integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== } 3231 | engines: { node: '>=6' } 3232 | dependencies: 3233 | p-limit: 2.3.0 3234 | dev: true 3235 | 3236 | /p-locate/4.1.0: 3237 | resolution: 3238 | { integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== } 3239 | engines: { node: '>=8' } 3240 | dependencies: 3241 | p-limit: 2.3.0 3242 | dev: true 3243 | 3244 | /p-map/4.0.0: 3245 | resolution: 3246 | { integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== } 3247 | engines: { node: '>=10' } 3248 | dependencies: 3249 | aggregate-error: 3.1.0 3250 | dev: true 3251 | 3252 | /p-timeout/3.2.0: 3253 | resolution: 3254 | { integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== } 3255 | engines: { node: '>=8' } 3256 | dependencies: 3257 | p-finally: 1.0.0 3258 | dev: true 3259 | 3260 | /p-try/1.0.0: 3261 | resolution: { integrity: sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= } 3262 | engines: { node: '>=4' } 3263 | dev: true 3264 | 3265 | /p-try/2.2.0: 3266 | resolution: 3267 | { integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== } 3268 | engines: { node: '>=6' } 3269 | dev: true 3270 | 3271 | /package-json/6.5.0: 3272 | resolution: 3273 | { integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== } 3274 | engines: { node: '>=8' } 3275 | dependencies: 3276 | got: 9.6.0 3277 | registry-auth-token: 4.2.1 3278 | registry-url: 5.1.0 3279 | semver: 6.3.0 3280 | dev: true 3281 | 3282 | /pako/1.0.11: 3283 | resolution: 3284 | { integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== } 3285 | 3286 | /parent-module/1.0.1: 3287 | resolution: 3288 | { integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== } 3289 | engines: { node: '>=6' } 3290 | dependencies: 3291 | callsites: 3.1.0 3292 | dev: true 3293 | 3294 | /parse-json/4.0.0: 3295 | resolution: { integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= } 3296 | engines: { node: '>=4' } 3297 | dependencies: 3298 | error-ex: 1.3.2 3299 | json-parse-better-errors: 1.0.2 3300 | dev: true 3301 | 3302 | /parse-json/5.2.0: 3303 | resolution: 3304 | { integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== } 3305 | engines: { node: '>=8' } 3306 | dependencies: 3307 | '@babel/code-frame': 7.14.5 3308 | error-ex: 1.3.2 3309 | json-parse-even-better-errors: 2.3.1 3310 | lines-and-columns: 1.1.6 3311 | dev: true 3312 | 3313 | /parse-ms/2.1.0: 3314 | resolution: 3315 | { integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== } 3316 | engines: { node: '>=6' } 3317 | dev: true 3318 | 3319 | /path-exists/3.0.0: 3320 | resolution: { integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= } 3321 | engines: { node: '>=4' } 3322 | dev: true 3323 | 3324 | /path-exists/4.0.0: 3325 | resolution: 3326 | { integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== } 3327 | engines: { node: '>=8' } 3328 | dev: true 3329 | 3330 | /path-is-absolute/1.0.1: 3331 | resolution: { integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18= } 3332 | engines: { node: '>=0.10.0' } 3333 | dev: true 3334 | 3335 | /path-key/2.0.1: 3336 | resolution: { integrity: sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= } 3337 | engines: { node: '>=4' } 3338 | dev: true 3339 | 3340 | /path-key/3.1.1: 3341 | resolution: 3342 | { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== } 3343 | engines: { node: '>=8' } 3344 | dev: true 3345 | 3346 | /path-parse/1.0.7: 3347 | resolution: 3348 | { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== } 3349 | dev: true 3350 | 3351 | /path-type/3.0.0: 3352 | resolution: 3353 | { integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== } 3354 | engines: { node: '>=4' } 3355 | dependencies: 3356 | pify: 3.0.0 3357 | dev: true 3358 | 3359 | /path-type/4.0.0: 3360 | resolution: 3361 | { integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== } 3362 | engines: { node: '>=8' } 3363 | dev: true 3364 | 3365 | /picomatch/2.3.0: 3366 | resolution: 3367 | { integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== } 3368 | engines: { node: '>=8.6' } 3369 | dev: true 3370 | 3371 | /pidtree/0.3.1: 3372 | resolution: 3373 | { integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== } 3374 | engines: { node: '>=0.10' } 3375 | hasBin: true 3376 | dev: true 3377 | 3378 | /pify/3.0.0: 3379 | resolution: { integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= } 3380 | engines: { node: '>=4' } 3381 | dev: true 3382 | 3383 | /pify/4.0.1: 3384 | resolution: 3385 | { integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== } 3386 | engines: { node: '>=6' } 3387 | dev: true 3388 | 3389 | /pirates/4.0.1: 3390 | resolution: 3391 | { integrity: sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== } 3392 | engines: { node: '>= 6' } 3393 | dependencies: 3394 | node-modules-regexp: 1.0.0 3395 | dev: true 3396 | 3397 | /pkg-conf/3.1.0: 3398 | resolution: 3399 | { integrity: sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ== } 3400 | engines: { node: '>=6' } 3401 | dependencies: 3402 | find-up: 3.0.0 3403 | load-json-file: 5.3.0 3404 | dev: true 3405 | 3406 | /pkg-dir/2.0.0: 3407 | resolution: { integrity: sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= } 3408 | engines: { node: '>=4' } 3409 | dependencies: 3410 | find-up: 2.1.0 3411 | dev: true 3412 | 3413 | /pkg-dir/4.2.0: 3414 | resolution: 3415 | { integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== } 3416 | engines: { node: '>=8' } 3417 | dependencies: 3418 | find-up: 4.1.0 3419 | dev: true 3420 | 3421 | /pkg-up/2.0.0: 3422 | resolution: { integrity: sha1-yBmscoBZpGHKscOImivjxJoATX8= } 3423 | engines: { node: '>=4' } 3424 | dependencies: 3425 | find-up: 2.1.0 3426 | dev: true 3427 | 3428 | /platform/1.3.6: 3429 | resolution: 3430 | { integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg== } 3431 | dev: true 3432 | 3433 | /please-upgrade-node/3.2.0: 3434 | resolution: 3435 | { integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== } 3436 | dependencies: 3437 | semver-compare: 1.0.0 3438 | dev: true 3439 | 3440 | /plur/4.0.0: 3441 | resolution: 3442 | { integrity: sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg== } 3443 | engines: { node: '>=10' } 3444 | dependencies: 3445 | irregular-plurals: 3.3.0 3446 | dev: true 3447 | 3448 | /prelude-ls/1.2.1: 3449 | resolution: 3450 | { integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== } 3451 | engines: { node: '>= 0.8.0' } 3452 | dev: true 3453 | 3454 | /prepend-http/2.0.0: 3455 | resolution: { integrity: sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= } 3456 | engines: { node: '>=4' } 3457 | dev: true 3458 | 3459 | /prettier-linter-helpers/1.0.0: 3460 | resolution: 3461 | { integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== } 3462 | engines: { node: '>=6.0.0' } 3463 | dependencies: 3464 | fast-diff: 1.2.0 3465 | dev: true 3466 | 3467 | /prettier/2.3.1: 3468 | resolution: 3469 | { integrity: sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA== } 3470 | engines: { node: '>=10.13.0' } 3471 | hasBin: true 3472 | dev: true 3473 | 3474 | /pretty-bytes/5.6.0: 3475 | resolution: 3476 | { integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== } 3477 | engines: { node: '>=6' } 3478 | 3479 | /pretty-ms/7.0.1: 3480 | resolution: 3481 | { integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q== } 3482 | engines: { node: '>=10' } 3483 | dependencies: 3484 | parse-ms: 2.1.0 3485 | dev: true 3486 | 3487 | /progress/2.0.3: 3488 | resolution: 3489 | { integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== } 3490 | engines: { node: '>=0.4.0' } 3491 | 3492 | /pump/3.0.0: 3493 | resolution: 3494 | { integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== } 3495 | dependencies: 3496 | end-of-stream: 1.4.4 3497 | once: 1.4.0 3498 | dev: true 3499 | 3500 | /punycode/2.1.1: 3501 | resolution: 3502 | { integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== } 3503 | engines: { node: '>=6' } 3504 | dev: true 3505 | 3506 | /pupa/2.1.1: 3507 | resolution: 3508 | { integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== } 3509 | engines: { node: '>=8' } 3510 | dependencies: 3511 | escape-goat: 2.1.1 3512 | dev: true 3513 | 3514 | /putasset/5.0.3: 3515 | resolution: 3516 | { integrity: sha512-LGRp0SLOC4PDP/BawMaG3/hw6iKgQPRXcBF7WIzx2XTYwHVk2sS3gpvZqz6bf9GhKMal2phs+DF7J6eIAXEL4w== } 3517 | engines: { node: '>=10' } 3518 | hasBin: true 3519 | dependencies: 3520 | '@octokit/rest': 17.11.2 3521 | checkup: 1.3.0 3522 | mime-types: 2.1.31 3523 | readjson: 2.2.2 3524 | try-catch: 3.0.0 3525 | try-to-catch: 3.0.0 3526 | yargs-parser: 18.1.3 3527 | dev: true 3528 | 3529 | /queue-microtask/1.2.3: 3530 | resolution: 3531 | { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== } 3532 | dev: true 3533 | 3534 | /rc/1.2.8: 3535 | resolution: 3536 | { integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== } 3537 | hasBin: true 3538 | dependencies: 3539 | deep-extend: 0.6.0 3540 | ini: 1.3.8 3541 | minimist: 1.2.5 3542 | strip-json-comments: 2.0.1 3543 | dev: true 3544 | 3545 | /read-pkg-up/3.0.0: 3546 | resolution: { integrity: sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= } 3547 | engines: { node: '>=4' } 3548 | dependencies: 3549 | find-up: 2.1.0 3550 | read-pkg: 3.0.0 3551 | dev: true 3552 | 3553 | /read-pkg/3.0.0: 3554 | resolution: { integrity: sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= } 3555 | engines: { node: '>=4' } 3556 | dependencies: 3557 | load-json-file: 4.0.0 3558 | normalize-package-data: 2.5.0 3559 | path-type: 3.0.0 3560 | dev: true 3561 | 3562 | /read-pkg/5.2.0: 3563 | resolution: 3564 | { integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== } 3565 | engines: { node: '>=8' } 3566 | dependencies: 3567 | '@types/normalize-package-data': 2.4.0 3568 | normalize-package-data: 2.5.0 3569 | parse-json: 5.2.0 3570 | type-fest: 0.6.0 3571 | dev: true 3572 | 3573 | /readable-stream/3.6.0: 3574 | resolution: 3575 | { integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== } 3576 | engines: { node: '>= 6' } 3577 | dependencies: 3578 | inherits: 2.0.4 3579 | string_decoder: 1.3.0 3580 | util-deprecate: 1.0.2 3581 | dev: true 3582 | 3583 | /readdirp/3.5.0: 3584 | resolution: 3585 | { integrity: sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== } 3586 | engines: { node: '>=8.10.0' } 3587 | dependencies: 3588 | picomatch: 2.3.0 3589 | dev: true 3590 | 3591 | /readjson/2.2.2: 3592 | resolution: 3593 | { integrity: sha512-PdeC9tsmLWBiL8vMhJvocq+OezQ3HhsH2HrN7YkhfYcTjQSa/iraB15A7Qvt7Xpr0Yd2rDNt6GbFwVQDg3HcAw== } 3594 | engines: { node: '>=10' } 3595 | dependencies: 3596 | jju: 1.4.0 3597 | try-catch: 3.0.0 3598 | dev: true 3599 | 3600 | /regexpp/3.1.0: 3601 | resolution: 3602 | { integrity: sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== } 3603 | engines: { node: '>=8' } 3604 | dev: true 3605 | 3606 | /registry-auth-token/4.2.1: 3607 | resolution: 3608 | { integrity: sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== } 3609 | engines: { node: '>=6.0.0' } 3610 | dependencies: 3611 | rc: 1.2.8 3612 | dev: true 3613 | 3614 | /registry-url/5.1.0: 3615 | resolution: 3616 | { integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== } 3617 | engines: { node: '>=8' } 3618 | dependencies: 3619 | rc: 1.2.8 3620 | dev: true 3621 | 3622 | /reinterval/1.1.0: 3623 | resolution: { integrity: sha1-M2Hs+jymwYKDOA3Qu5VG85D17Oc= } 3624 | 3625 | /require-directory/2.1.1: 3626 | resolution: { integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I= } 3627 | engines: { node: '>=0.10.0' } 3628 | dev: true 3629 | 3630 | /require-from-string/2.0.2: 3631 | resolution: 3632 | { integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== } 3633 | engines: { node: '>=0.10.0' } 3634 | dev: true 3635 | 3636 | /resolve-cwd/3.0.0: 3637 | resolution: 3638 | { integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== } 3639 | engines: { node: '>=8' } 3640 | dependencies: 3641 | resolve-from: 5.0.0 3642 | dev: true 3643 | 3644 | /resolve-from/4.0.0: 3645 | resolution: 3646 | { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== } 3647 | engines: { node: '>=4' } 3648 | dev: true 3649 | 3650 | /resolve-from/5.0.0: 3651 | resolution: 3652 | { integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== } 3653 | engines: { node: '>=8' } 3654 | dev: true 3655 | 3656 | /resolve/1.20.0: 3657 | resolution: 3658 | { integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== } 3659 | dependencies: 3660 | is-core-module: 2.4.0 3661 | path-parse: 1.0.7 3662 | dev: true 3663 | 3664 | /responselike/1.0.2: 3665 | resolution: { integrity: sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= } 3666 | dependencies: 3667 | lowercase-keys: 1.0.1 3668 | dev: true 3669 | 3670 | /restore-cursor/3.1.0: 3671 | resolution: 3672 | { integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== } 3673 | engines: { node: '>=8' } 3674 | dependencies: 3675 | onetime: 5.1.2 3676 | signal-exit: 3.0.3 3677 | dev: true 3678 | 3679 | /retimer/3.0.0: 3680 | resolution: 3681 | { integrity: sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA== } 3682 | 3683 | /reusify/1.0.4: 3684 | resolution: 3685 | { integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== } 3686 | engines: { iojs: '>=1.0.0', node: '>=0.10.0' } 3687 | dev: true 3688 | 3689 | /rimraf/3.0.2: 3690 | resolution: 3691 | { integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== } 3692 | hasBin: true 3693 | dependencies: 3694 | glob: 7.1.7 3695 | dev: true 3696 | 3697 | /run-async/2.4.1: 3698 | resolution: 3699 | { integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== } 3700 | engines: { node: '>=0.12.0' } 3701 | dev: true 3702 | 3703 | /run-parallel/1.2.0: 3704 | resolution: 3705 | { integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== } 3706 | dependencies: 3707 | queue-microtask: 1.2.3 3708 | dev: true 3709 | 3710 | /rxjs/6.6.7: 3711 | resolution: 3712 | { integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== } 3713 | engines: { npm: '>=2.0.0' } 3714 | dependencies: 3715 | tslib: 1.14.1 3716 | dev: true 3717 | 3718 | /safe-buffer/5.1.2: 3719 | resolution: 3720 | { integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== } 3721 | dev: true 3722 | 3723 | /safe-buffer/5.2.1: 3724 | resolution: 3725 | { integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== } 3726 | dev: true 3727 | 3728 | /safer-buffer/2.1.2: 3729 | resolution: 3730 | { integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== } 3731 | dev: true 3732 | 3733 | /semver-compare/1.0.0: 3734 | resolution: { integrity: sha1-De4hahyUGrN+nvsXiPavxf9VN/w= } 3735 | dev: true 3736 | 3737 | /semver-diff/3.1.1: 3738 | resolution: 3739 | { integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== } 3740 | engines: { node: '>=8' } 3741 | dependencies: 3742 | semver: 6.3.0 3743 | dev: true 3744 | 3745 | /semver/5.7.1: 3746 | resolution: 3747 | { integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== } 3748 | hasBin: true 3749 | dev: true 3750 | 3751 | /semver/6.3.0: 3752 | resolution: 3753 | { integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== } 3754 | hasBin: true 3755 | dev: true 3756 | 3757 | /semver/7.3.5: 3758 | resolution: 3759 | { integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== } 3760 | engines: { node: '>=10' } 3761 | hasBin: true 3762 | dependencies: 3763 | lru-cache: 6.0.0 3764 | 3765 | /serialize-error/7.0.1: 3766 | resolution: 3767 | { integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw== } 3768 | engines: { node: '>=10' } 3769 | dependencies: 3770 | type-fest: 0.13.1 3771 | dev: true 3772 | 3773 | /shebang-command/1.2.0: 3774 | resolution: { integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= } 3775 | engines: { node: '>=0.10.0' } 3776 | dependencies: 3777 | shebang-regex: 1.0.0 3778 | dev: true 3779 | 3780 | /shebang-command/2.0.0: 3781 | resolution: 3782 | { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== } 3783 | engines: { node: '>=8' } 3784 | dependencies: 3785 | shebang-regex: 3.0.0 3786 | dev: true 3787 | 3788 | /shebang-regex/1.0.0: 3789 | resolution: { integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= } 3790 | engines: { node: '>=0.10.0' } 3791 | dev: true 3792 | 3793 | /shebang-regex/3.0.0: 3794 | resolution: 3795 | { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== } 3796 | engines: { node: '>=8' } 3797 | dev: true 3798 | 3799 | /shell-quote/1.7.2: 3800 | resolution: 3801 | { integrity: sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== } 3802 | dev: true 3803 | 3804 | /signal-exit/3.0.3: 3805 | resolution: 3806 | { integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== } 3807 | dev: true 3808 | 3809 | /slash/3.0.0: 3810 | resolution: 3811 | { integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== } 3812 | engines: { node: '>=8' } 3813 | dev: true 3814 | 3815 | /slice-ansi/3.0.0: 3816 | resolution: 3817 | { integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== } 3818 | engines: { node: '>=8' } 3819 | dependencies: 3820 | ansi-styles: 4.3.0 3821 | astral-regex: 2.0.0 3822 | is-fullwidth-code-point: 3.0.0 3823 | dev: true 3824 | 3825 | /slice-ansi/4.0.0: 3826 | resolution: 3827 | { integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== } 3828 | engines: { node: '>=10' } 3829 | dependencies: 3830 | ansi-styles: 4.3.0 3831 | astral-regex: 2.0.0 3832 | is-fullwidth-code-point: 3.0.0 3833 | dev: true 3834 | 3835 | /source-map-support/0.5.19: 3836 | resolution: 3837 | { integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== } 3838 | dependencies: 3839 | buffer-from: 1.1.1 3840 | source-map: 0.6.1 3841 | dev: true 3842 | 3843 | /source-map/0.6.1: 3844 | resolution: 3845 | { integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== } 3846 | engines: { node: '>=0.10.0' } 3847 | dev: true 3848 | 3849 | /spdx-correct/3.1.1: 3850 | resolution: 3851 | { integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== } 3852 | dependencies: 3853 | spdx-expression-parse: 3.0.1 3854 | spdx-license-ids: 3.0.9 3855 | dev: true 3856 | 3857 | /spdx-exceptions/2.3.0: 3858 | resolution: 3859 | { integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== } 3860 | dev: true 3861 | 3862 | /spdx-expression-parse/3.0.1: 3863 | resolution: 3864 | { integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== } 3865 | dependencies: 3866 | spdx-exceptions: 2.3.0 3867 | spdx-license-ids: 3.0.9 3868 | dev: true 3869 | 3870 | /spdx-license-ids/3.0.9: 3871 | resolution: 3872 | { integrity: sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ== } 3873 | dev: true 3874 | 3875 | /sprintf-js/1.0.3: 3876 | resolution: { integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= } 3877 | dev: true 3878 | 3879 | /stack-utils/2.0.3: 3880 | resolution: 3881 | { integrity: sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== } 3882 | engines: { node: '>=10' } 3883 | dependencies: 3884 | escape-string-regexp: 2.0.0 3885 | dev: true 3886 | 3887 | /stats-median/1.0.1: 3888 | resolution: 3889 | { integrity: sha512-IYsheLg6dasD3zT/w9+8Iq9tcIQqqu91ZIpJOnIEM25C3X/g4Tl8mhXwW2ZQpbrsJISr9+wizEYgsibN5/b32Q== } 3890 | dev: true 3891 | 3892 | /string-argv/0.3.1: 3893 | resolution: 3894 | { integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== } 3895 | engines: { node: '>=0.6.19' } 3896 | dev: true 3897 | 3898 | /string-width/3.1.0: 3899 | resolution: 3900 | { integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== } 3901 | engines: { node: '>=6' } 3902 | dependencies: 3903 | emoji-regex: 7.0.3 3904 | is-fullwidth-code-point: 2.0.0 3905 | strip-ansi: 5.2.0 3906 | dev: true 3907 | 3908 | /string-width/4.2.2: 3909 | resolution: 3910 | { integrity: sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== } 3911 | engines: { node: '>=8' } 3912 | dependencies: 3913 | emoji-regex: 8.0.0 3914 | is-fullwidth-code-point: 3.0.0 3915 | strip-ansi: 6.0.0 3916 | 3917 | /string.prototype.padend/3.1.2: 3918 | resolution: 3919 | { integrity: sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ== } 3920 | engines: { node: '>= 0.4' } 3921 | dependencies: 3922 | call-bind: 1.0.2 3923 | define-properties: 1.1.3 3924 | es-abstract: 1.18.3 3925 | dev: true 3926 | 3927 | /string.prototype.trimend/1.0.4: 3928 | resolution: 3929 | { integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== } 3930 | dependencies: 3931 | call-bind: 1.0.2 3932 | define-properties: 1.1.3 3933 | dev: true 3934 | 3935 | /string.prototype.trimstart/1.0.4: 3936 | resolution: 3937 | { integrity: sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== } 3938 | dependencies: 3939 | call-bind: 1.0.2 3940 | define-properties: 1.1.3 3941 | dev: true 3942 | 3943 | /string_decoder/1.3.0: 3944 | resolution: 3945 | { integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== } 3946 | dependencies: 3947 | safe-buffer: 5.2.1 3948 | dev: true 3949 | 3950 | /stringify-object/3.3.0: 3951 | resolution: 3952 | { integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== } 3953 | engines: { node: '>=4' } 3954 | dependencies: 3955 | get-own-enumerable-property-symbols: 3.0.2 3956 | is-obj: 1.0.1 3957 | is-regexp: 1.0.0 3958 | dev: true 3959 | 3960 | /strip-ansi/5.2.0: 3961 | resolution: 3962 | { integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== } 3963 | engines: { node: '>=6' } 3964 | dependencies: 3965 | ansi-regex: 4.1.0 3966 | dev: true 3967 | 3968 | /strip-ansi/6.0.0: 3969 | resolution: 3970 | { integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== } 3971 | engines: { node: '>=8' } 3972 | dependencies: 3973 | ansi-regex: 5.0.0 3974 | 3975 | /strip-bom/3.0.0: 3976 | resolution: { integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= } 3977 | engines: { node: '>=4' } 3978 | dev: true 3979 | 3980 | /strip-eof/1.0.0: 3981 | resolution: { integrity: sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= } 3982 | engines: { node: '>=0.10.0' } 3983 | dev: true 3984 | 3985 | /strip-final-newline/2.0.0: 3986 | resolution: 3987 | { integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== } 3988 | engines: { node: '>=6' } 3989 | dev: true 3990 | 3991 | /strip-json-comments/2.0.1: 3992 | resolution: { integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo= } 3993 | engines: { node: '>=0.10.0' } 3994 | dev: true 3995 | 3996 | /strip-json-comments/3.1.1: 3997 | resolution: 3998 | { integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== } 3999 | engines: { node: '>=8' } 4000 | dev: true 4001 | 4002 | /subarg/1.0.0: 4003 | resolution: { integrity: sha1-9izxdYHplrSPyWVpn1TAauJouNI= } 4004 | dependencies: 4005 | minimist: 1.2.5 4006 | 4007 | /supertap/2.0.0: 4008 | resolution: 4009 | { integrity: sha512-jRzcXlCeDYvKoZGA5oRhYyR3jUIYu0enkSxtmAgHRlD7HwrovTpH4bDSi0py9FtuA8si9cW/fKommJHuaoDHJA== } 4010 | engines: { node: '>=10' } 4011 | dependencies: 4012 | arrify: 2.0.1 4013 | indent-string: 4.0.0 4014 | js-yaml: 3.14.1 4015 | serialize-error: 7.0.1 4016 | strip-ansi: 6.0.0 4017 | dev: true 4018 | 4019 | /supports-color/5.5.0: 4020 | resolution: 4021 | { integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== } 4022 | engines: { node: '>=4' } 4023 | dependencies: 4024 | has-flag: 3.0.0 4025 | dev: true 4026 | 4027 | /supports-color/7.2.0: 4028 | resolution: 4029 | { integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== } 4030 | engines: { node: '>=8' } 4031 | dependencies: 4032 | has-flag: 4.0.0 4033 | 4034 | /table/6.7.1: 4035 | resolution: 4036 | { integrity: sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== } 4037 | engines: { node: '>=10.0.0' } 4038 | dependencies: 4039 | ajv: 8.6.0 4040 | lodash.clonedeep: 4.5.0 4041 | lodash.truncate: 4.4.2 4042 | slice-ansi: 4.0.0 4043 | string-width: 4.2.2 4044 | strip-ansi: 6.0.0 4045 | dev: true 4046 | 4047 | /temp-dir/2.0.0: 4048 | resolution: 4049 | { integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== } 4050 | engines: { node: '>=8' } 4051 | dev: true 4052 | 4053 | /text-table/0.2.0: 4054 | resolution: { integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= } 4055 | dev: true 4056 | 4057 | /through/2.3.8: 4058 | resolution: { integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= } 4059 | dev: true 4060 | 4061 | /time-zone/1.0.0: 4062 | resolution: { integrity: sha1-mcW/VZWJZq9tBtg73zgA3IL67F0= } 4063 | engines: { node: '>=4' } 4064 | dev: true 4065 | 4066 | /timestring/6.0.0: 4067 | resolution: 4068 | { integrity: sha512-wMctrWD2HZZLuIlchlkE2dfXJh7J2KDI9Dwl+2abPYg0mswQHfOAyQW3jJg1pY5VfttSINZuKcXoB3FGypVklA== } 4069 | engines: { node: '>=8' } 4070 | 4071 | /tmp/0.0.33: 4072 | resolution: 4073 | { integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== } 4074 | engines: { node: '>=0.6.0' } 4075 | dependencies: 4076 | os-tmpdir: 1.0.2 4077 | dev: true 4078 | 4079 | /to-readable-stream/1.0.0: 4080 | resolution: 4081 | { integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== } 4082 | engines: { node: '>=6' } 4083 | dev: true 4084 | 4085 | /to-regex-range/5.0.1: 4086 | resolution: 4087 | { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== } 4088 | engines: { node: '>=8.0' } 4089 | dependencies: 4090 | is-number: 7.0.0 4091 | dev: true 4092 | 4093 | /toml/3.0.0: 4094 | resolution: 4095 | { integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== } 4096 | dev: true 4097 | 4098 | /trim-off-newlines/1.0.1: 4099 | resolution: { integrity: sha1-n5up2e+odkw4dpi8v+sshI8RrbM= } 4100 | engines: { node: '>=0.10.0' } 4101 | dev: true 4102 | 4103 | /try-catch/3.0.0: 4104 | resolution: 4105 | { integrity: sha512-3uAqUnoemzca1ENvZ72EVimR+E8lqBbzwZ9v4CEbLjkaV3Q+FtdmPUt7jRtoSoTiYjyIMxEkf6YgUpe/voJ1ng== } 4106 | engines: { node: '>=6' } 4107 | dev: true 4108 | 4109 | /try-to-catch/3.0.0: 4110 | resolution: 4111 | { integrity: sha512-eIm6ZXwR35jVF8By/HdbbkcaCDTBI5PpCPkejRKrYp0jyf/DbCCcRhHD7/O9jtFI3ewsqo9WctFEiJTS6i+CQA== } 4112 | engines: { node: '>=6' } 4113 | dev: true 4114 | 4115 | /tsconfig-paths/3.9.0: 4116 | resolution: 4117 | { integrity: sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== } 4118 | dependencies: 4119 | '@types/json5': 0.0.29 4120 | json5: 1.0.1 4121 | minimist: 1.2.5 4122 | strip-bom: 3.0.0 4123 | dev: true 4124 | 4125 | /tslib/1.14.1: 4126 | resolution: 4127 | { integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== } 4128 | dev: true 4129 | 4130 | /tslib/2.3.0: 4131 | resolution: 4132 | { integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== } 4133 | 4134 | /tsutils/3.21.0_typescript@4.3.2: 4135 | resolution: 4136 | { integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== } 4137 | engines: { node: '>= 6' } 4138 | peerDependencies: 4139 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 4140 | dependencies: 4141 | tslib: 1.14.1 4142 | typescript: 4.3.2 4143 | dev: true 4144 | 4145 | /type-check/0.4.0: 4146 | resolution: 4147 | { integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== } 4148 | engines: { node: '>= 0.8.0' } 4149 | dependencies: 4150 | prelude-ls: 1.2.1 4151 | dev: true 4152 | 4153 | /type-fest/0.13.1: 4154 | resolution: 4155 | { integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== } 4156 | engines: { node: '>=10' } 4157 | dev: true 4158 | 4159 | /type-fest/0.20.2: 4160 | resolution: 4161 | { integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== } 4162 | engines: { node: '>=10' } 4163 | dev: true 4164 | 4165 | /type-fest/0.21.3: 4166 | resolution: 4167 | { integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== } 4168 | engines: { node: '>=10' } 4169 | dev: true 4170 | 4171 | /type-fest/0.3.1: 4172 | resolution: 4173 | { integrity: sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== } 4174 | engines: { node: '>=6' } 4175 | dev: true 4176 | 4177 | /type-fest/0.6.0: 4178 | resolution: 4179 | { integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== } 4180 | engines: { node: '>=8' } 4181 | dev: true 4182 | 4183 | /typedarray-to-buffer/3.1.5: 4184 | resolution: 4185 | { integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== } 4186 | dependencies: 4187 | is-typedarray: 1.0.0 4188 | dev: true 4189 | 4190 | /typescript/4.3.2: 4191 | resolution: 4192 | { integrity: sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw== } 4193 | engines: { node: '>=4.2.0' } 4194 | hasBin: true 4195 | dev: true 4196 | 4197 | /unbox-primitive/1.0.1: 4198 | resolution: 4199 | { integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== } 4200 | dependencies: 4201 | function-bind: 1.1.1 4202 | has-bigints: 1.0.1 4203 | has-symbols: 1.0.2 4204 | which-boxed-primitive: 1.0.2 4205 | dev: true 4206 | 4207 | /undici/4.0.0-rc.7: 4208 | resolution: 4209 | { integrity: sha512-8vhF9REAH/O+eGh1K942bTznr47JOZHlHMTh9/5XiJvcBk3GqV2qzeRPxwDfAeHNWjm1BZ4EsSgAotHV2EOxeA== } 4210 | engines: { node: '>=12.18' } 4211 | dev: true 4212 | 4213 | /unique-string/2.0.0: 4214 | resolution: 4215 | { integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== } 4216 | engines: { node: '>=8' } 4217 | dependencies: 4218 | crypto-random-string: 2.0.0 4219 | dev: true 4220 | 4221 | /universal-user-agent/5.0.0: 4222 | resolution: 4223 | { integrity: sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q== } 4224 | dependencies: 4225 | os-name: 3.1.0 4226 | dev: true 4227 | 4228 | /universal-user-agent/6.0.0: 4229 | resolution: 4230 | { integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== } 4231 | dev: true 4232 | 4233 | /universalify/2.0.0: 4234 | resolution: 4235 | { integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== } 4236 | engines: { node: '>= 10.0.0' } 4237 | dev: true 4238 | 4239 | /update-notifier/5.1.0: 4240 | resolution: 4241 | { integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== } 4242 | engines: { node: '>=10' } 4243 | dependencies: 4244 | boxen: 5.0.1 4245 | chalk: 4.1.1 4246 | configstore: 5.0.1 4247 | has-yarn: 2.1.0 4248 | import-lazy: 2.1.0 4249 | is-ci: 2.0.0 4250 | is-installed-globally: 0.4.0 4251 | is-npm: 5.0.0 4252 | is-yarn-global: 0.3.0 4253 | latest-version: 5.1.0 4254 | pupa: 2.1.1 4255 | semver: 7.3.5 4256 | semver-diff: 3.1.1 4257 | xdg-basedir: 4.0.0 4258 | dev: true 4259 | 4260 | /uri-js/4.4.1: 4261 | resolution: 4262 | { integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== } 4263 | dependencies: 4264 | punycode: 2.1.1 4265 | dev: true 4266 | 4267 | /url-parse-lax/3.0.0: 4268 | resolution: { integrity: sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= } 4269 | engines: { node: '>=4' } 4270 | dependencies: 4271 | prepend-http: 2.0.0 4272 | dev: true 4273 | 4274 | /util-deprecate/1.0.2: 4275 | resolution: { integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= } 4276 | dev: true 4277 | 4278 | /uuid-parse/1.1.0: 4279 | resolution: 4280 | { integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A== } 4281 | 4282 | /uuid/3.4.0: 4283 | resolution: 4284 | { integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== } 4285 | deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. 4286 | hasBin: true 4287 | 4288 | /v8-compile-cache/2.3.0: 4289 | resolution: 4290 | { integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== } 4291 | dev: true 4292 | 4293 | /validate-npm-package-license/3.0.4: 4294 | resolution: 4295 | { integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== } 4296 | dependencies: 4297 | spdx-correct: 3.1.1 4298 | spdx-expression-parse: 3.0.1 4299 | dev: true 4300 | 4301 | /wcwidth/1.0.1: 4302 | resolution: { integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= } 4303 | dependencies: 4304 | defaults: 1.0.3 4305 | dev: true 4306 | 4307 | /well-known-symbols/2.0.0: 4308 | resolution: 4309 | { integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q== } 4310 | engines: { node: '>=6' } 4311 | dev: true 4312 | 4313 | /which-boxed-primitive/1.0.2: 4314 | resolution: 4315 | { integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== } 4316 | dependencies: 4317 | is-bigint: 1.0.2 4318 | is-boolean-object: 1.1.1 4319 | is-number-object: 1.0.5 4320 | is-string: 1.0.6 4321 | is-symbol: 1.0.4 4322 | dev: true 4323 | 4324 | /which/1.3.1: 4325 | resolution: 4326 | { integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== } 4327 | hasBin: true 4328 | dependencies: 4329 | isexe: 2.0.0 4330 | dev: true 4331 | 4332 | /which/2.0.2: 4333 | resolution: 4334 | { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== } 4335 | engines: { node: '>= 8' } 4336 | hasBin: true 4337 | dependencies: 4338 | isexe: 2.0.0 4339 | dev: true 4340 | 4341 | /widest-line/3.1.0: 4342 | resolution: 4343 | { integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== } 4344 | engines: { node: '>=8' } 4345 | dependencies: 4346 | string-width: 4.2.2 4347 | dev: true 4348 | 4349 | /windows-release/3.3.3: 4350 | resolution: 4351 | { integrity: sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg== } 4352 | engines: { node: '>=6' } 4353 | dependencies: 4354 | execa: 1.0.0 4355 | dev: true 4356 | 4357 | /word-wrap/1.2.3: 4358 | resolution: 4359 | { integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== } 4360 | engines: { node: '>=0.10.0' } 4361 | dev: true 4362 | 4363 | /wrap-ansi/6.2.0: 4364 | resolution: 4365 | { integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== } 4366 | engines: { node: '>=8' } 4367 | dependencies: 4368 | ansi-styles: 4.3.0 4369 | string-width: 4.2.2 4370 | strip-ansi: 6.0.0 4371 | dev: true 4372 | 4373 | /wrap-ansi/7.0.0: 4374 | resolution: 4375 | { integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== } 4376 | engines: { node: '>=10' } 4377 | dependencies: 4378 | ansi-styles: 4.3.0 4379 | string-width: 4.2.2 4380 | strip-ansi: 6.0.0 4381 | dev: true 4382 | 4383 | /wrappy/1.0.2: 4384 | resolution: { integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= } 4385 | dev: true 4386 | 4387 | /write-file-atomic/3.0.3: 4388 | resolution: 4389 | { integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== } 4390 | dependencies: 4391 | imurmurhash: 0.1.4 4392 | is-typedarray: 1.0.0 4393 | signal-exit: 3.0.3 4394 | typedarray-to-buffer: 3.1.5 4395 | dev: true 4396 | 4397 | /xdg-basedir/4.0.0: 4398 | resolution: 4399 | { integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== } 4400 | engines: { node: '>=8' } 4401 | dev: true 4402 | 4403 | /y18n/5.0.8: 4404 | resolution: 4405 | { integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== } 4406 | engines: { node: '>=10' } 4407 | dev: true 4408 | 4409 | /yallist/4.0.0: 4410 | resolution: 4411 | { integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== } 4412 | 4413 | /yaml/1.10.2: 4414 | resolution: 4415 | { integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== } 4416 | engines: { node: '>= 6' } 4417 | dev: true 4418 | 4419 | /yargs-parser/18.1.3: 4420 | resolution: 4421 | { integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== } 4422 | engines: { node: '>=6' } 4423 | dependencies: 4424 | camelcase: 5.3.1 4425 | decamelize: 1.2.0 4426 | dev: true 4427 | 4428 | /yargs-parser/20.2.7: 4429 | resolution: 4430 | { integrity: sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== } 4431 | engines: { node: '>=10' } 4432 | dev: true 4433 | 4434 | /yargs/16.2.0: 4435 | resolution: 4436 | { integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== } 4437 | engines: { node: '>=10' } 4438 | dependencies: 4439 | cliui: 7.0.4 4440 | escalade: 3.1.1 4441 | get-caller-file: 2.0.5 4442 | require-directory: 2.1.1 4443 | string-width: 4.2.2 4444 | y18n: 5.0.8 4445 | yargs-parser: 20.2.7 4446 | dev: true 4447 | --------------------------------------------------------------------------------