##// END OF EJS Templates
Merge with v1.3
cin -
r104:15c829aa08a2 merge v1.3.0 default
parent child
Show More
@@ -0,0 +1,147
1 /**
2 * The interface for the consumer of an observable sequence
3 */
4 export interface Observer<T> {
5 /**
6 * Called for the next element in the sequence
7 */
8 next: (value: T) => void;
9
10 /**
11 * Called once when the error occurs in the sequence.
12 */
13 error: (e: unknown) => void;
14
15 /**
16 * Called once at the end of the sequence.
17 */
18 complete: () => void;
19 }
20
21 /**
22 * The group of functions to feed an observable. This methods are provided to
23 * the producer to generate a stream of events.
24 */
25 export type Sink<T> = {
26 [k in keyof Observer<T>]: (this: void, ...args: Parameters<Observer<T>[k]>) => void;
27 };
28
29 export type Producer<T> = (sink: Sink<T>) => (void | (() => void));
30
31 export interface Unsubscribable {
32 unsubscribe(): void;
33 }
34
35 export const isUnsubsribable = (v: unknown): v is Unsubscribable =>
36 v !== null && v !== undefined && typeof (v as Unsubscribable).unsubscribe === "function";
37
38 export const isSubsribable = (v: unknown): v is Subscribable<unknown> =>
39 v !== null && v !== undefined && typeof (v as Subscribable<unknown>).subscribe === "function";
40
41 export interface Subscribable<T> {
42 subscribe(consumer: Partial<Observer<T>>): Unsubscribable;
43 }
44
45 /** The observable source of items. */
46 export interface Observable<T> extends Subscribable<T> {
47 /** Transforms elements of the sequence with the specified mapper
48 *
49 * @param mapper The mapper used to transform the values
50 */
51 map<T2>(mapper: (value: T) => T2): Observable<T2>;
52
53 /** Filters elements of the sequence. The resulting sequence will
54 * contain only elements which match the specified predicate.
55 *
56 * @param predicate The filter predicate.
57 */
58 filter(predicate: (value: T) => boolean): Observable<T>;
59
60 /** Applies accumulator to each value in the sequence and
61 * emits the accumulated value for each source element
62 *
63 * @param accumulator
64 * @param initial
65 */
66 scan<A>(accumulator: (acc: A, value: T) => A, initial: A): Observable<A>;
67 }
68
69 const noop = () => { };
70
71 const sink = <T>(consumer: Partial<Observer<T>>) => {
72 const { next, error, complete } = consumer;
73 return {
74 next: next ? next.bind(consumer) : noop,
75 error: error ? error.bind(consumer) : noop,
76 complete: complete ? complete.bind(consumer) : noop
77 }
78 };
79
80 const fuse = <T>({ next, error, complete }: Sink<T>) => {
81 let done = false;
82 return {
83 next: (value: T) => { !done && next(value) },
84 error: (e: unknown) => { !done && (done = true, error(e)) },
85 complete: () => { !done && (done = true, complete()) }
86 }
87 }
88
89 const _observe = <T>(producer: Producer<T>): Observable<T> => ({
90 subscribe: (consumer: Partial<Observer<T>>) => ({
91 unsubscribe: producer(sink(consumer)) ?? noop
92 }),
93 map: (mapper) => _observe(({ next, error, complete }) =>
94 producer({
95 next: next !== noop ? (v: T) => next(mapper(v)) : noop,
96 error,
97 complete
98 })
99 ),
100 filter: (predicate) => _observe(({ next, error, complete }) =>
101 producer({
102 next: next !== noop ?
103 (v: T) => predicate(v) ? next(v) : void(0) : noop,
104 error,
105 complete
106 })
107 ),
108 scan: (accumulator, initial) => _observe(({ next, error, complete }) => {
109 let _acc = initial;
110 return producer({
111 next: next !== noop ?
112 (v: T) => next(_acc = accumulator(_acc, v)) : noop,
113 error,
114 complete
115 });
116 })
117 });
118
119 export const observe = <T>(producer: Producer<T>): Observable<T> => ({
120 subscribe: (consumer: Partial<Observer<T>>) => ({
121 unsubscribe: producer(fuse(sink(consumer))) ?? noop
122 }),
123 map: (mapper) => _observe(({ next, error, complete }) =>
124 producer(fuse({
125 next: next !== noop ?
126 (v: T) => next(mapper(v)) : noop,
127 error,
128 complete
129 }))
130 ),
131 filter: (predicate) => _observe(({ next, error, complete }) =>
132 producer(fuse({
133 next: next !== noop ?
134 (v: T) => predicate(v) ? next(v) : void (0) : noop,
135 error,
136 complete
137 }))
138 ),
139 scan: (accumulator, initial?) => observe(({ next, error, complete }) => {
140 let _acc = initial;
141 return producer(fuse({
142 next: next !== noop ? (v: T) => next(_acc = accumulator(_acc, v)) : noop,
143 error,
144 complete
145 }));
146 })
147 });
@@ -0,0 +1,13
1 import * as t from "tap";
2 import { Baz } from "./mock/Baz";
3
4 t.comment("Declare tests");
5
6 const baz = new Baz();
7
8 const data: string[] = [];
9 baz.writeHello(data);
10 t.pass("Test complete");
11
12 // tslint:disable-next-line: no-console
13 t.comment(data.join("\n"));
@@ -0,0 +1,52
1 import { observe } from "./observable";
2 import * as t from "tap";
3
4 const subj1 = observe<number>(({ next, complete }) => {
5 next(1);
6 complete();
7 next(2);
8 });
9
10 const consumer1 = {
11 sum: 0,
12 next(v: number) {
13 this.sum += v;
14 }
15 }
16
17 subj1.subscribe(consumer1);
18 t.equal(consumer1.sum, 1, "Should get only one value");
19
20 subj1.subscribe(consumer1);
21 t.equal(consumer1.sum, 2, "Should get the value again");
22
23 const consumer2 = {
24 value: 0,
25 completed: false,
26 next(v: number) { this.value = v; },
27 complete() { this.completed = true; }
28 };
29
30 let maps = 0;
31
32 subj1
33 .map(v => {
34 t.comment("map1: " + v * 2);
35 maps++;
36 return v * 2;
37 })
38 .map (v => {
39 t.comment("map2: " + v * 2);
40 maps++;
41 return v * 2;
42 })
43 .map(v => {
44 t.comment("map3: " + v * 2);
45 maps++;
46 return v * 2
47 })
48 .subscribe(consumer2);
49
50 t.equal(consumer2.value, 8, "Should map");
51 t.equal(maps, 3, "The map chain should not be executed after completion");
52 t.ok(consumer2.completed, "The completion signal should pass through"); No newline at end of file
@@ -0,0 +1,1
1 symbols=local No newline at end of file
@@ -0,0 +1,126
1 plugins {
2 id "org.implab.gradle-typescript" version "1.3.4"
3 id "ivy-publish"
4 }
5
6 def container = "djx-playground"
7
8 configurations {
9 npmLocal
10 }
11
12 dependencies {
13 npmLocal project(":djx")
14 }
15
16 def bundleDir = fileTree(layout.buildDirectory.dir("bundle")) {
17 builtBy "bundle"
18 }
19
20 typescript {
21 compilerOptions {
22 lib = ["es5", "dom", "scripthost", "es2015.promise", "es2015.symbol", "es2015.iterable"]
23 // listFiles = true
24 strict = true
25 types = ["requirejs", "@implab/dojo-typings", "@implab/djx"]
26 module = "amd"
27 it.target = "es5"
28 experimentalDecorators = true
29 noUnusedLocals = false
30 jsx = "react"
31 jsxFactory = "createElement"
32 moduleResolution = "node"
33 // dojo-typings are sick
34 skipLibCheck = true
35 // traceResolution = true
36 // baseUrl = "./"
37 // paths = [ "*": [ "$projectDir/src/typings/*" ] ]
38 // baseUrl = "$projectDir/src/typings"
39 // typeRoots = ["$projectDir/src/typings"]
40 }
41 tscCmd = "$projectDir/node_modules/.bin/tsc"
42 tsLintCmd = "$projectDir/node_modules/.bin/tslint"
43 esLintCmd = "$projectDir/node_modules/.bin/eslint"
44 }
45
46 tasks.matching{ it.name =~ /^configureTs/ }.configureEach {
47 compilerOptions {
48 if (symbols != 'none') {
49 sourceMap = true
50 switch(symbols) {
51 case "local":
52 sourceRoot = ( isWindows ? "file:///" : "file://" ) + it.rootDir
53 break;
54 }
55 }
56 }
57 }
58
59 npmInstall {
60 //npmInstall.dependsOn it
61 dependsOn configurations.npmLocal
62
63 doFirst {
64 configurations.npmLocal.each { f ->
65 exec {
66 commandLine "npm", "install", f, "--save-dev"
67 }
68 }
69 }
70 }
71
72 clean {
73 doFirst {
74 delete "$buildDir/bundle"
75 }
76 }
77
78
79 task processResourcesBundle(type: Copy) {
80 from "src/bundle"
81 into layout.buildDirectory.dir("bundle")
82 }
83
84 task copyModules(type: Copy) {
85 dependsOn npmInstall
86 into layout.buildDirectory.dir("bundle/js");
87
88 def pack = { String jsmod ->
89 into(jsmod) {
90 from npm.module(jsmod)
91 }
92 }
93
94
95 pack("@implab/djx")
96 pack("@implab/core-amd")
97 pack("dojo")
98 pack("dijit")
99 into("rxjs") {
100 from(npm.module("rxjs/dist/bundles"))
101 }
102 from npm.module("requirejs/require.js")
103 }
104
105 task copyApp(type: Copy) {
106 dependsOn assemble
107 from typescript.assemblyDir
108 into layout.buildDirectory.dir("bundle/js/app")
109 }
110
111 task bundle {
112 dependsOn copyModules, processResourcesBundle, copyApp
113 }
114
115 task up(type: Exec) {
116 dependsOn bundle
117 commandLine "podman", "run", "--rm", "-d",
118 "--name", container,
119 "-p", "2078:80",
120 "-v", "$buildDir/bundle:/srv/www/htdocs",
121 "registry.implab.org/implab/apache2:latest"
122 }
123
124 task stop(type: Exec) {
125 commandLine "podman", "stop", container
126 } No newline at end of file
@@ -0,0 +1,170
1 {
2 "name": "@implab/djx-playground",
3 "lockfileVersion": 2,
4 "requires": true,
5 "packages": {
6 "": {
7 "name": "@implab/djx-playground",
8 "dependencies": {
9 "dijit": "1.17.3",
10 "dojo": "1.17.3",
11 "requirejs": "2.3.6",
12 "rxjs": "7.5.6"
13 },
14 "devDependencies": {
15 "@implab/core-amd": "1.4.6",
16 "@implab/djx": "file:../djx/build/npm/package",
17 "@implab/dojo-typings": "1.0.2",
18 "@types/requirejs": "2.1.34",
19 "typescript": "4.8.2"
20 }
21 },
22 "../djx/build/npm/package": {
23 "name": "@implab/djx",
24 "dev": true,
25 "license": "BSD-2-Clause",
26 "peerDependencies": {
27 "@implab/core-amd": "^1.4.0",
28 "dojo": "^1.10.0"
29 }
30 },
31 "node_modules/@implab/core-amd": {
32 "version": "1.4.6",
33 "resolved": "https://registry.npmjs.org/@implab/core-amd/-/core-amd-1.4.6.tgz",
34 "integrity": "sha512-I1RwUAxeiodePpiBzveoHaehMSAyk7NFPPPEvDqfphHBC8yXoXWAaUrp7EcOKEzjXAs7lJQVhNpmjCjIqoj6BQ==",
35 "dev": true,
36 "peerDependencies": {
37 "dojo": "^1.10.0"
38 }
39 },
40 "node_modules/@implab/djx": {
41 "resolved": "../djx/build/npm/package",
42 "link": true
43 },
44 "node_modules/@implab/dojo-typings": {
45 "version": "1.0.2",
46 "resolved": "https://registry.npmjs.org/@implab/dojo-typings/-/dojo-typings-1.0.2.tgz",
47 "integrity": "sha512-/lbcMCHdRoHJLKFcT8xdk1KbGazSlb1pGSDJ406io7iMenPm/XbJYcUti+VzXnn71zOJ8aYpGT12T5L0rfOZNA==",
48 "dev": true
49 },
50 "node_modules/@types/requirejs": {
51 "version": "2.1.34",
52 "resolved": "https://registry.npmjs.org/@types/requirejs/-/requirejs-2.1.34.tgz",
53 "integrity": "sha512-iQLGNE1DyIRYih60B47l/hI5X7J0wAnnRBL6Yn85GUYQg8Fm3wl8kvT6NRwncKroUOSx7/lbAagIFNV7y02DiQ==",
54 "dev": true
55 },
56 "node_modules/dijit": {
57 "version": "1.17.3",
58 "resolved": "https://registry.npmjs.org/dijit/-/dijit-1.17.3.tgz",
59 "integrity": "sha512-QS+1bNhPT+BF9E+iomQSi5qI+o3oUNSx1r5TF8WlGH4LybGZP+IIGJBOO5/41YduBPljVXhY7vaPsgrycxC6UQ==",
60 "dependencies": {
61 "dojo": "1.17.3"
62 }
63 },
64 "node_modules/dojo": {
65 "version": "1.17.3",
66 "resolved": "https://registry.npmjs.org/dojo/-/dojo-1.17.3.tgz",
67 "integrity": "sha512-iWDx1oSfCEDnIrs8cMW7Zh9Fbjgxu8iRagFz+Qi2eya3MXIAxFXKhv2A7dpi+bfpMpFozLwcsLV8URLw6BsHsA=="
68 },
69 "node_modules/requirejs": {
70 "version": "2.3.6",
71 "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz",
72 "integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==",
73 "bin": {
74 "r_js": "bin/r.js",
75 "r.js": "bin/r.js"
76 },
77 "engines": {
78 "node": ">=0.4.0"
79 }
80 },
81 "node_modules/rxjs": {
82 "version": "7.5.6",
83 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz",
84 "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==",
85 "dependencies": {
86 "tslib": "^2.1.0"
87 }
88 },
89 "node_modules/tslib": {
90 "version": "2.4.0",
91 "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
92 "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
93 },
94 "node_modules/typescript": {
95 "version": "4.8.2",
96 "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.2.tgz",
97 "integrity": "sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==",
98 "dev": true,
99 "bin": {
100 "tsc": "bin/tsc",
101 "tsserver": "bin/tsserver"
102 },
103 "engines": {
104 "node": ">=4.2.0"
105 }
106 }
107 },
108 "dependencies": {
109 "@implab/core-amd": {
110 "version": "1.4.6",
111 "resolved": "https://registry.npmjs.org/@implab/core-amd/-/core-amd-1.4.6.tgz",
112 "integrity": "sha512-I1RwUAxeiodePpiBzveoHaehMSAyk7NFPPPEvDqfphHBC8yXoXWAaUrp7EcOKEzjXAs7lJQVhNpmjCjIqoj6BQ==",
113 "dev": true,
114 "requires": {}
115 },
116 "@implab/djx": {
117 "version": "file:../djx/build/npm/package",
118 "requires": {}
119 },
120 "@implab/dojo-typings": {
121 "version": "1.0.2",
122 "resolved": "https://registry.npmjs.org/@implab/dojo-typings/-/dojo-typings-1.0.2.tgz",
123 "integrity": "sha512-/lbcMCHdRoHJLKFcT8xdk1KbGazSlb1pGSDJ406io7iMenPm/XbJYcUti+VzXnn71zOJ8aYpGT12T5L0rfOZNA==",
124 "dev": true
125 },
126 "@types/requirejs": {
127 "version": "2.1.34",
128 "resolved": "https://registry.npmjs.org/@types/requirejs/-/requirejs-2.1.34.tgz",
129 "integrity": "sha512-iQLGNE1DyIRYih60B47l/hI5X7J0wAnnRBL6Yn85GUYQg8Fm3wl8kvT6NRwncKroUOSx7/lbAagIFNV7y02DiQ==",
130 "dev": true
131 },
132 "dijit": {
133 "version": "1.17.3",
134 "resolved": "https://registry.npmjs.org/dijit/-/dijit-1.17.3.tgz",
135 "integrity": "sha512-QS+1bNhPT+BF9E+iomQSi5qI+o3oUNSx1r5TF8WlGH4LybGZP+IIGJBOO5/41YduBPljVXhY7vaPsgrycxC6UQ==",
136 "requires": {
137 "dojo": "1.17.3"
138 }
139 },
140 "dojo": {
141 "version": "1.17.3",
142 "resolved": "https://registry.npmjs.org/dojo/-/dojo-1.17.3.tgz",
143 "integrity": "sha512-iWDx1oSfCEDnIrs8cMW7Zh9Fbjgxu8iRagFz+Qi2eya3MXIAxFXKhv2A7dpi+bfpMpFozLwcsLV8URLw6BsHsA=="
144 },
145 "requirejs": {
146 "version": "2.3.6",
147 "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz",
148 "integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg=="
149 },
150 "rxjs": {
151 "version": "7.5.6",
152 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz",
153 "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==",
154 "requires": {
155 "tslib": "^2.1.0"
156 }
157 },
158 "tslib": {
159 "version": "2.4.0",
160 "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
161 "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
162 },
163 "typescript": {
164 "version": "4.8.2",
165 "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.2.tgz",
166 "integrity": "sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==",
167 "dev": true
168 }
169 }
170 }
@@ -0,0 +1,17
1 {
2 "name": "@implab/djx-playground",
3 "private": true,
4 "dependencies": {
5 "dijit": "1.17.3",
6 "dojo": "1.17.3",
7 "requirejs": "2.3.6",
8 "rxjs": "7.5.6"
9 },
10 "devDependencies": {
11 "@implab/core-amd": "1.4.6",
12 "@implab/djx": "file:../djx/build/npm/package",
13 "@implab/dojo-typings": "1.0.2",
14 "@types/requirejs": "2.1.34",
15 "typescript": "4.8.2"
16 }
17 }
@@ -0,0 +1,16
1 requirejs.config({
2 baseUrl: "js",
3 packages: [
4 "app",
5 "@implab/djx",
6 "@implab/core-amd",
7 "dojo",
8 "dijit",
9 {
10 name: "rxjs",
11 location: "rxjs",
12 main: "rxjs.umd.min"
13 }
14 ],
15 deps: ["app"]
16 });
@@ -0,0 +1,13
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset='utf-8'>
5 <meta http-equiv='X-UA-Compatible' content='IE=edge'>
6 <title>Djx playground</title>
7 <meta name='viewport' content='width=device-width, initial-scale=1'>
8 <script data-main="config.js" src='js/require.js'></script>
9 </head>
10 <body>
11
12 </body>
13 </html> No newline at end of file
@@ -0,0 +1,39
1 .progress-bar * {
2 transition: all 0.5s;
3 }
4
5 .progress-bar {
6
7 transition: all 0.5s;
8 height: 1em;
9 line-height: 0;
10 font-size: 10px;
11 white-space: nowrap;
12 }
13
14 .progress-track {
15 background-color: #888;
16 height: 0.2em;
17 box-shadow: 0 0 0.5em 0 #0004;
18 width: 70%;
19 display: inline-block;
20 vertical-align: middle;
21 }
22
23 .progress-indicator {
24 width: 30%;
25 background-color: #0ae;
26 height: 100%;
27 display: inline-block;
28 vertical-align: middle;
29 box-shadow: 0 0.6em 1em -0.4em #000;
30 }
31
32 .progress-bar:hover .progress-indicator {
33 box-shadow: 0 1em 2em -0.4em #000;
34 }
35
36 .progress-bar:hover .progress-track {
37 background-color: #0ae;
38 box-shadow: 0 0 0.5em 0 #0ae;
39 } No newline at end of file
@@ -0,0 +1,82
1 import { djbase, djclass } from "@implab/djx/declare";
2 import { DjxWidgetBase } from "@implab/djx/tsx/DjxWidgetBase";
3 import { createElement, watch, prop, attach, all, bind, toggleClass } from "@implab/djx/tsx";
4 import ProgressBar from "./ProgressBar";
5 import Button = require("dijit/form/Button");
6 import { interval } from "rxjs";
7
8 @djclass
9 export default class MainWidget extends djbase(DjxWidgetBase) {
10
11 titleNode?: HTMLHeadingElement;
12
13 progressBar?: ProgressBar;
14
15 count = 0;
16
17 showCounter = false;
18
19 counterNode?: HTMLInputElement;
20
21 paused = false;
22
23 render() {
24 const Counter = ({ children }: { children: unknown[] }) => <span>Counter: {children}</span>;
25
26 return <div className="tundra">
27 <h2 ref={attach(this, "titleNode")}>Hi!</h2>
28 <ProgressBar ref={attach(this, "progressBar")} />
29 <section style={{ padding: "10px" }}>
30 {watch(prop(this, "showCounter"), flag => flag &&
31 [
32 <Counter><input ref={all(
33 bind("value", prop(this, "count")
34 .map(x => x*10)
35 .map(String)
36 ),
37 attach(this, "counterNode")
38 )} /> <span>ms</span></Counter>,
39 " | ",
40 <span ref={bind("innerHTML", interval(1000))}></span>,
41 " | ",
42 <Button
43 ref={all(
44 bind("label", prop(this, "paused")
45 .map(x => x ? "Unpause" : "Pause")
46 ),
47 toggleClass("paused", prop(this,"paused"))
48 )}
49 onClick={this._onPauseClick}
50 />
51 ]
52
53 )}
54 </section>
55 <Button onClick={this._onToggleCounterClick}>Toggle counter</Button>
56 </div>;
57 }
58
59 postCreate(): void {
60 super.postCreate();
61
62 const h = setInterval(
63 () => {
64 this.set("count", this.count + 1);
65 },
66 10
67 );
68 this.own({
69 destroy: () => {
70 clearInterval(h);
71 }
72 });
73 }
74
75 private _onPauseClick = () => {
76 this.set("paused", !this.paused);
77 }
78
79 private _onToggleCounterClick = () => {
80 this.set("showCounter", !this.showCounter);
81 }
82 }
@@ -0,0 +1,19
1 import { djbase, djclass } from "@implab/djx/declare";
2 import { createElement } from "@implab/djx/tsx";
3 import { DjxWidgetBase } from "@implab/djx/tsx/DjxWidgetBase";
4 import "@implab/djx/css!./css/ProgressBar.css";
5
6 @djclass
7 export default class ProgressBar extends djbase(DjxWidgetBase) {
8
9 constructor(opts?: Partial<ProgressBar> & ThisType<ProgressBar>, refNode?: Node | string) {
10 super(opts, refNode);
11 }
12 render() {
13 return <div class="progress-bar">
14 <div class="progress-indicator"/>
15 <div class="progress-track"/>
16 </div>;
17 }
18
19 } No newline at end of file
@@ -0,0 +1,7
1 import MainWidget from "./MainWidget";
2 import "@implab/djx/css!dojo/resources/dojo.css"
3 import "@implab/djx/css!dijit/themes/dijit.css"
4 import "@implab/djx/css!dijit/themes/tundra/tundra.css"
5
6 const w = new MainWidget();
7 w.placeAt(document.body); No newline at end of file
1 NO CONTENT: new file 100644
NO CONTENT: new file 100644
@@ -0,0 +1,16
1 {
2 "compilerOptions": {
3 "moduleResolution": "node",
4 "experimentalDecorators": true,
5 "module": "AMD",
6 "jsx": "react",
7 "jsxFactory": "createElement",
8 "strict": true,
9 "types": [
10 "requirejs",
11 "@implab/djx",
12 "@implab/dojo-typings"
13 ],
14 "skipLibCheck": true
15 }
16 } No newline at end of file
@@ -1,8 +1,15
1 plugins {
1 plugins {
2 id "org.implab.gradle-typescript" version "1.3.3"
2 id "org.implab.gradle-typescript" version "1.3.4"
3 id "ivy-publish"
3 id "ivy-publish"
4 }
4 }
5
5
6 configurations {
7 "default" {
8 canBeConsumed = true
9 canBeResolved = false
10 }
11 }
12
6 typescript {
13 typescript {
7 compilerOptions {
14 compilerOptions {
8 lib = ["es5", "dom", "scripthost", "es2015.promise", "es2015.symbol", "es2015.iterable"]
15 lib = ["es5", "dom", "scripthost", "es2015.promise", "es2015.symbol", "es2015.iterable"]
@@ -52,6 +59,19 configureTsTest {
52 }
59 }
53 }
60 }
54
61
62 tasks.matching{ it.name =~ /^configureTs/ }.configureEach {
63 compilerOptions {
64 if (symbols != 'none') {
65 sourceMap = true
66 switch(symbols) {
67 case "local":
68 sourceRoot = ( isWindows ? "file:///" : "file://" ) + it.rootDir
69 break;
70 }
71 }
72 }
73 }
74
55 npmPackMeta {
75 npmPackMeta {
56 meta {
76 meta {
57 name = "@$npmScope/$project.name"
77 name = "@$npmScope/$project.name"
@@ -75,4 +95,10 task printVersion {
75 println "module: $typescript.compilerOptions.module";
95 println "module: $typescript.compilerOptions.module";
76 println "symbols: $symbols";
96 println "symbols: $symbols";
77 }
97 }
98 }
99
100 artifacts {
101 "default" (npm.packageDir) {
102 builtBy npmAssemblePackage
103 }
78 } No newline at end of file
104 }
@@ -5,4 +5,3 description=Create HyperText with Typesc
5 license=BSD-2-Clause
5 license=BSD-2-Clause
6 repository=http://hg.code.sf.net/p/implabjs/djx
6 repository=http://hg.code.sf.net/p/implabjs/djx
7 npmScope=implab
7 npmScope=implab
8 symbols=pack No newline at end of file
This diff has been collapsed as it changes many lines, (6917 lines changed) Show them Hide them
@@ -13,12 +13,14
13 "@implab/dojo-typings": "1.0.0",
13 "@implab/dojo-typings": "1.0.0",
14 "@types/chai": "4.1.3",
14 "@types/chai": "4.1.3",
15 "@types/requirejs": "2.1.31",
15 "@types/requirejs": "2.1.31",
16 "@types/tap": "15.0.7",
16 "@types/yaml": "1.2.0",
17 "@types/yaml": "1.2.0",
17 "dojo": "1.16.0",
18 "dojo": "1.16.0",
18 "eslint": "6.8.0",
19 "eslint": "6.8.0",
19 "requirejs": "2.3.6",
20 "requirejs": "2.3.6",
21 "tap": "16.3.0",
20 "tslint": "^6.1.3",
22 "tslint": "^6.1.3",
21 "typescript": "4.2.4",
23 "typescript": "4.8.2",
22 "yaml": "~1.7.2"
24 "yaml": "~1.7.2"
23 },
25 },
24 "peerDependencies": {
26 "peerDependencies": {
@@ -26,24 +28,270
26 "dojo": "^1.10.0"
28 "dojo": "^1.10.0"
27 }
29 }
28 },
30 },
31 "node_modules/@ampproject/remapping": {
32 "version": "2.2.0",
33 "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
34 "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
35 "dev": true,
36 "dependencies": {
37 "@jridgewell/gen-mapping": "^0.1.0",
38 "@jridgewell/trace-mapping": "^0.3.9"
39 },
40 "engines": {
41 "node": ">=6.0.0"
42 }
43 },
29 "node_modules/@babel/code-frame": {
44 "node_modules/@babel/code-frame": {
30 "version": "7.8.3",
45 "version": "7.18.6",
31 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
46 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
32 "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
47 "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
33 "dev": true,
48 "dev": true,
34 "dependencies": {
49 "dependencies": {
35 "@babel/highlight": "^7.8.3"
50 "@babel/highlight": "^7.18.6"
51 },
52 "engines": {
53 "node": ">=6.9.0"
54 }
55 },
56 "node_modules/@babel/compat-data": {
57 "version": "7.19.0",
58 "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.0.tgz",
59 "integrity": "sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw==",
60 "dev": true,
61 "engines": {
62 "node": ">=6.9.0"
63 }
64 },
65 "node_modules/@babel/core": {
66 "version": "7.19.0",
67 "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.0.tgz",
68 "integrity": "sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ==",
69 "dev": true,
70 "dependencies": {
71 "@ampproject/remapping": "^2.1.0",
72 "@babel/code-frame": "^7.18.6",
73 "@babel/generator": "^7.19.0",
74 "@babel/helper-compilation-targets": "^7.19.0",
75 "@babel/helper-module-transforms": "^7.19.0",
76 "@babel/helpers": "^7.19.0",
77 "@babel/parser": "^7.19.0",
78 "@babel/template": "^7.18.10",
79 "@babel/traverse": "^7.19.0",
80 "@babel/types": "^7.19.0",
81 "convert-source-map": "^1.7.0",
82 "debug": "^4.1.0",
83 "gensync": "^1.0.0-beta.2",
84 "json5": "^2.2.1",
85 "semver": "^6.3.0"
86 },
87 "engines": {
88 "node": ">=6.9.0"
89 },
90 "funding": {
91 "type": "opencollective",
92 "url": "https://opencollective.com/babel"
93 }
94 },
95 "node_modules/@babel/generator": {
96 "version": "7.19.0",
97 "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.0.tgz",
98 "integrity": "sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg==",
99 "dev": true,
100 "dependencies": {
101 "@babel/types": "^7.19.0",
102 "@jridgewell/gen-mapping": "^0.3.2",
103 "jsesc": "^2.5.1"
104 },
105 "engines": {
106 "node": ">=6.9.0"
107 }
108 },
109 "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
110 "version": "0.3.2",
111 "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
112 "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
113 "dev": true,
114 "dependencies": {
115 "@jridgewell/set-array": "^1.0.1",
116 "@jridgewell/sourcemap-codec": "^1.4.10",
117 "@jridgewell/trace-mapping": "^0.3.9"
118 },
119 "engines": {
120 "node": ">=6.0.0"
121 }
122 },
123 "node_modules/@babel/helper-compilation-targets": {
124 "version": "7.19.0",
125 "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz",
126 "integrity": "sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA==",
127 "dev": true,
128 "dependencies": {
129 "@babel/compat-data": "^7.19.0",
130 "@babel/helper-validator-option": "^7.18.6",
131 "browserslist": "^4.20.2",
132 "semver": "^6.3.0"
133 },
134 "engines": {
135 "node": ">=6.9.0"
136 },
137 "peerDependencies": {
138 "@babel/core": "^7.0.0"
139 }
140 },
141 "node_modules/@babel/helper-environment-visitor": {
142 "version": "7.18.9",
143 "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
144 "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
145 "dev": true,
146 "engines": {
147 "node": ">=6.9.0"
148 }
149 },
150 "node_modules/@babel/helper-function-name": {
151 "version": "7.19.0",
152 "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
153 "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
154 "dev": true,
155 "dependencies": {
156 "@babel/template": "^7.18.10",
157 "@babel/types": "^7.19.0"
158 },
159 "engines": {
160 "node": ">=6.9.0"
161 }
162 },
163 "node_modules/@babel/helper-hoist-variables": {
164 "version": "7.18.6",
165 "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
166 "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
167 "dev": true,
168 "dependencies": {
169 "@babel/types": "^7.18.6"
170 },
171 "engines": {
172 "node": ">=6.9.0"
173 }
174 },
175 "node_modules/@babel/helper-module-imports": {
176 "version": "7.18.6",
177 "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
178 "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
179 "dev": true,
180 "dependencies": {
181 "@babel/types": "^7.18.6"
182 },
183 "engines": {
184 "node": ">=6.9.0"
185 }
186 },
187 "node_modules/@babel/helper-module-transforms": {
188 "version": "7.19.0",
189 "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz",
190 "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==",
191 "dev": true,
192 "dependencies": {
193 "@babel/helper-environment-visitor": "^7.18.9",
194 "@babel/helper-module-imports": "^7.18.6",
195 "@babel/helper-simple-access": "^7.18.6",
196 "@babel/helper-split-export-declaration": "^7.18.6",
197 "@babel/helper-validator-identifier": "^7.18.6",
198 "@babel/template": "^7.18.10",
199 "@babel/traverse": "^7.19.0",
200 "@babel/types": "^7.19.0"
201 },
202 "engines": {
203 "node": ">=6.9.0"
204 }
205 },
206 "node_modules/@babel/helper-simple-access": {
207 "version": "7.18.6",
208 "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz",
209 "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==",
210 "dev": true,
211 "dependencies": {
212 "@babel/types": "^7.18.6"
213 },
214 "engines": {
215 "node": ">=6.9.0"
216 }
217 },
218 "node_modules/@babel/helper-split-export-declaration": {
219 "version": "7.18.6",
220 "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
221 "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
222 "dev": true,
223 "dependencies": {
224 "@babel/types": "^7.18.6"
225 },
226 "engines": {
227 "node": ">=6.9.0"
228 }
229 },
230 "node_modules/@babel/helper-string-parser": {
231 "version": "7.18.10",
232 "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz",
233 "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==",
234 "dev": true,
235 "engines": {
236 "node": ">=6.9.0"
237 }
238 },
239 "node_modules/@babel/helper-validator-identifier": {
240 "version": "7.18.6",
241 "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
242 "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==",
243 "dev": true,
244 "engines": {
245 "node": ">=6.9.0"
246 }
247 },
248 "node_modules/@babel/helper-validator-option": {
249 "version": "7.18.6",
250 "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
251 "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
252 "dev": true,
253 "engines": {
254 "node": ">=6.9.0"
255 }
256 },
257 "node_modules/@babel/helpers": {
258 "version": "7.19.0",
259 "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz",
260 "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==",
261 "dev": true,
262 "dependencies": {
263 "@babel/template": "^7.18.10",
264 "@babel/traverse": "^7.19.0",
265 "@babel/types": "^7.19.0"
266 },
267 "engines": {
268 "node": ">=6.9.0"
36 }
269 }
37 },
270 },
38 "node_modules/@babel/highlight": {
271 "node_modules/@babel/highlight": {
39 "version": "7.8.3",
272 "version": "7.18.6",
40 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
273 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
41 "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
274 "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
42 "dev": true,
275 "dev": true,
43 "dependencies": {
276 "dependencies": {
277 "@babel/helper-validator-identifier": "^7.18.6",
44 "chalk": "^2.0.0",
278 "chalk": "^2.0.0",
45 "esutils": "^2.0.2",
46 "js-tokens": "^4.0.0"
279 "js-tokens": "^4.0.0"
280 },
281 "engines": {
282 "node": ">=6.9.0"
283 }
284 },
285 "node_modules/@babel/parser": {
286 "version": "7.19.0",
287 "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz",
288 "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==",
289 "dev": true,
290 "bin": {
291 "parser": "bin/babel-parser.js"
292 },
293 "engines": {
294 "node": ">=6.0.0"
47 }
295 }
48 },
296 },
49 "node_modules/@babel/runtime": {
297 "node_modules/@babel/runtime": {
@@ -55,6 +303,64
55 "regenerator-runtime": "^0.13.2"
303 "regenerator-runtime": "^0.13.2"
56 }
304 }
57 },
305 },
306 "node_modules/@babel/template": {
307 "version": "7.18.10",
308 "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
309 "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
310 "dev": true,
311 "dependencies": {
312 "@babel/code-frame": "^7.18.6",
313 "@babel/parser": "^7.18.10",
314 "@babel/types": "^7.18.10"
315 },
316 "engines": {
317 "node": ">=6.9.0"
318 }
319 },
320 "node_modules/@babel/traverse": {
321 "version": "7.19.0",
322 "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.0.tgz",
323 "integrity": "sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA==",
324 "dev": true,
325 "dependencies": {
326 "@babel/code-frame": "^7.18.6",
327 "@babel/generator": "^7.19.0",
328 "@babel/helper-environment-visitor": "^7.18.9",
329 "@babel/helper-function-name": "^7.19.0",
330 "@babel/helper-hoist-variables": "^7.18.6",
331 "@babel/helper-split-export-declaration": "^7.18.6",
332 "@babel/parser": "^7.19.0",
333 "@babel/types": "^7.19.0",
334 "debug": "^4.1.0",
335 "globals": "^11.1.0"
336 },
337 "engines": {
338 "node": ">=6.9.0"
339 }
340 },
341 "node_modules/@babel/traverse/node_modules/globals": {
342 "version": "11.12.0",
343 "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
344 "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
345 "dev": true,
346 "engines": {
347 "node": ">=4"
348 }
349 },
350 "node_modules/@babel/types": {
351 "version": "7.19.0",
352 "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz",
353 "integrity": "sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==",
354 "dev": true,
355 "dependencies": {
356 "@babel/helper-string-parser": "^7.18.10",
357 "@babel/helper-validator-identifier": "^7.18.6",
358 "to-fast-properties": "^2.0.0"
359 },
360 "engines": {
361 "node": ">=6.9.0"
362 }
363 },
58 "node_modules/@implab/core-amd": {
364 "node_modules/@implab/core-amd": {
59 "version": "1.4.0",
365 "version": "1.4.0",
60 "resolved": "https://registry.npmjs.org/@implab/core-amd/-/core-amd-1.4.0.tgz",
366 "resolved": "https://registry.npmjs.org/@implab/core-amd/-/core-amd-1.4.0.tgz",
@@ -67,18 +373,114
67 "integrity": "sha512-B2kvlKJgvyIQAl/k1pVyNmtp4ADvBDCs4Lw/qfBC+Sz/ft4c7EuRXmN/+2dhWrd6A5SMjEgex5oeq6Ja2ntrig==",
373 "integrity": "sha512-B2kvlKJgvyIQAl/k1pVyNmtp4ADvBDCs4Lw/qfBC+Sz/ft4c7EuRXmN/+2dhWrd6A5SMjEgex5oeq6Ja2ntrig==",
68 "dev": true
374 "dev": true
69 },
375 },
376 "node_modules/@istanbuljs/load-nyc-config": {
377 "version": "1.1.0",
378 "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
379 "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
380 "dev": true,
381 "dependencies": {
382 "camelcase": "^5.3.1",
383 "find-up": "^4.1.0",
384 "get-package-type": "^0.1.0",
385 "js-yaml": "^3.13.1",
386 "resolve-from": "^5.0.0"
387 },
388 "engines": {
389 "node": ">=8"
390 }
391 },
392 "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
393 "version": "5.0.0",
394 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
395 "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
396 "dev": true,
397 "engines": {
398 "node": ">=8"
399 }
400 },
401 "node_modules/@istanbuljs/schema": {
402 "version": "0.1.3",
403 "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
404 "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
405 "dev": true,
406 "engines": {
407 "node": ">=8"
408 }
409 },
410 "node_modules/@jridgewell/gen-mapping": {
411 "version": "0.1.1",
412 "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
413 "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
414 "dev": true,
415 "dependencies": {
416 "@jridgewell/set-array": "^1.0.0",
417 "@jridgewell/sourcemap-codec": "^1.4.10"
418 },
419 "engines": {
420 "node": ">=6.0.0"
421 }
422 },
423 "node_modules/@jridgewell/resolve-uri": {
424 "version": "3.1.0",
425 "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
426 "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
427 "dev": true,
428 "engines": {
429 "node": ">=6.0.0"
430 }
431 },
432 "node_modules/@jridgewell/set-array": {
433 "version": "1.1.2",
434 "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
435 "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
436 "dev": true,
437 "engines": {
438 "node": ">=6.0.0"
439 }
440 },
441 "node_modules/@jridgewell/sourcemap-codec": {
442 "version": "1.4.14",
443 "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
444 "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
445 "dev": true
446 },
447 "node_modules/@jridgewell/trace-mapping": {
448 "version": "0.3.15",
449 "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz",
450 "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==",
451 "dev": true,
452 "dependencies": {
453 "@jridgewell/resolve-uri": "^3.0.3",
454 "@jridgewell/sourcemap-codec": "^1.4.10"
455 }
456 },
70 "node_modules/@types/chai": {
457 "node_modules/@types/chai": {
71 "version": "4.1.3",
458 "version": "4.1.3",
72 "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.3.tgz",
459 "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.3.tgz",
73 "integrity": "sha512-f5dXGzOJycyzSMdaXVhiBhauL4dYydXwVpavfQ1mVCaGjR56a9QfklXObUxlIY9bGTmCPHEEZ04I16BZ/8w5ww==",
460 "integrity": "sha512-f5dXGzOJycyzSMdaXVhiBhauL4dYydXwVpavfQ1mVCaGjR56a9QfklXObUxlIY9bGTmCPHEEZ04I16BZ/8w5ww==",
74 "dev": true
461 "dev": true
75 },
462 },
463 "node_modules/@types/node": {
464 "version": "18.7.15",
465 "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.15.tgz",
466 "integrity": "sha512-XnjpaI8Bgc3eBag2Aw4t2Uj/49lLBSStHWfqKvIuXD7FIrZyMLWp8KuAFHAqxMZYTF9l08N1ctUn9YNybZJVmQ==",
467 "dev": true
468 },
76 "node_modules/@types/requirejs": {
469 "node_modules/@types/requirejs": {
77 "version": "2.1.31",
470 "version": "2.1.31",
78 "resolved": "https://registry.npmjs.org/@types/requirejs/-/requirejs-2.1.31.tgz",
471 "resolved": "https://registry.npmjs.org/@types/requirejs/-/requirejs-2.1.31.tgz",
79 "integrity": "sha512-b2soeyuU76rMbcRJ4e0hEl0tbMhFwZeTC0VZnfuWlfGlk6BwWNsev6kFu/twKABPX29wkX84wU2o+cEJoXsiTw==",
472 "integrity": "sha512-b2soeyuU76rMbcRJ4e0hEl0tbMhFwZeTC0VZnfuWlfGlk6BwWNsev6kFu/twKABPX29wkX84wU2o+cEJoXsiTw==",
80 "dev": true
473 "dev": true
81 },
474 },
475 "node_modules/@types/tap": {
476 "version": "15.0.7",
477 "resolved": "https://registry.npmjs.org/@types/tap/-/tap-15.0.7.tgz",
478 "integrity": "sha512-TTMajw4gxQfFgYbhXhy/Tb2OiNcwS+4oP/9yp1/GdU0pFJo3wtnkYhRgmQy39ksh+rnoa0VrPHJ4Tuv2cLNQ5A==",
479 "dev": true,
480 "dependencies": {
481 "@types/node": "*"
482 }
483 },
82 "node_modules/@types/yaml": {
484 "node_modules/@types/yaml": {
83 "version": "1.2.0",
485 "version": "1.2.0",
84 "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.2.0.tgz",
486 "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.2.0.tgz",
@@ -103,6 +505,19
103 "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
505 "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
104 "dev": true
506 "dev": true
105 },
507 },
508 "node_modules/aggregate-error": {
509 "version": "3.1.0",
510 "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
511 "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
512 "dev": true,
513 "dependencies": {
514 "clean-stack": "^2.0.0",
515 "indent-string": "^4.0.0"
516 },
517 "engines": {
518 "node": ">=8"
519 }
520 },
106 "node_modules/ajv": {
521 "node_modules/ajv": {
107 "version": "6.11.0",
522 "version": "6.11.0",
108 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz",
523 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz",
@@ -128,9 +543,9
128 }
543 }
129 },
544 },
130 "node_modules/ansi-regex": {
545 "node_modules/ansi-regex": {
131 "version": "5.0.0",
546 "version": "5.0.1",
132 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
547 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
133 "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
548 "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
134 "dev": true,
549 "dev": true,
135 "engines": {
550 "engines": {
136 "node": ">=8"
551 "node": ">=8"
@@ -148,6 +563,37
148 "node": ">=4"
563 "node": ">=4"
149 }
564 }
150 },
565 },
566 "node_modules/anymatch": {
567 "version": "3.1.2",
568 "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
569 "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
570 "dev": true,
571 "dependencies": {
572 "normalize-path": "^3.0.0",
573 "picomatch": "^2.0.4"
574 },
575 "engines": {
576 "node": ">= 8"
577 }
578 },
579 "node_modules/append-transform": {
580 "version": "2.0.0",
581 "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz",
582 "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==",
583 "dev": true,
584 "dependencies": {
585 "default-require-extensions": "^3.0.0"
586 },
587 "engines": {
588 "node": ">=8"
589 }
590 },
591 "node_modules/archy": {
592 "version": "1.0.0",
593 "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
594 "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==",
595 "dev": true
596 },
151 "node_modules/argparse": {
597 "node_modules/argparse": {
152 "version": "1.0.10",
598 "version": "1.0.10",
153 "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
599 "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
@@ -166,12 +612,39
166 "node": ">=4"
612 "node": ">=4"
167 }
613 }
168 },
614 },
615 "node_modules/async-hook-domain": {
616 "version": "2.0.4",
617 "resolved": "https://registry.npmjs.org/async-hook-domain/-/async-hook-domain-2.0.4.tgz",
618 "integrity": "sha512-14LjCmlK1PK8eDtTezR6WX8TMaYNIzBIsd2D1sGoGjgx0BuNMMoSdk7i/drlbtamy0AWv9yv2tkB+ASdmeqFIw==",
619 "dev": true,
620 "engines": {
621 "node": ">=10"
622 }
623 },
169 "node_modules/balanced-match": {
624 "node_modules/balanced-match": {
170 "version": "1.0.0",
625 "version": "1.0.0",
171 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
626 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
172 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
627 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
173 "dev": true
628 "dev": true
174 },
629 },
630 "node_modules/binary-extensions": {
631 "version": "2.2.0",
632 "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
633 "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
634 "dev": true,
635 "engines": {
636 "node": ">=8"
637 }
638 },
639 "node_modules/bind-obj-methods": {
640 "version": "3.0.0",
641 "resolved": "https://registry.npmjs.org/bind-obj-methods/-/bind-obj-methods-3.0.0.tgz",
642 "integrity": "sha512-nLEaaz3/sEzNSyPWRsN9HNsqwk1AUyECtGj+XwGdIi3xABnEqecvXtIJ0wehQXuuER5uZ/5fTs2usONgYjG+iw==",
643 "dev": true,
644 "engines": {
645 "node": ">=10"
646 }
647 },
175 "node_modules/brace-expansion": {
648 "node_modules/brace-expansion": {
176 "version": "1.1.11",
649 "version": "1.1.11",
177 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
650 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -182,6 +655,52
182 "concat-map": "0.0.1"
655 "concat-map": "0.0.1"
183 }
656 }
184 },
657 },
658 "node_modules/braces": {
659 "version": "3.0.2",
660 "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
661 "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
662 "dev": true,
663 "dependencies": {
664 "fill-range": "^7.0.1"
665 },
666 "engines": {
667 "node": ">=8"
668 }
669 },
670 "node_modules/browserslist": {
671 "version": "4.21.3",
672 "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz",
673 "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==",
674 "dev": true,
675 "funding": [
676 {
677 "type": "opencollective",
678 "url": "https://opencollective.com/browserslist"
679 },
680 {
681 "type": "tidelift",
682 "url": "https://tidelift.com/funding/github/npm/browserslist"
683 }
684 ],
685 "dependencies": {
686 "caniuse-lite": "^1.0.30001370",
687 "electron-to-chromium": "^1.4.202",
688 "node-releases": "^2.0.6",
689 "update-browserslist-db": "^1.0.5"
690 },
691 "bin": {
692 "browserslist": "cli.js"
693 },
694 "engines": {
695 "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
696 }
697 },
698 "node_modules/buffer-from": {
699 "version": "1.1.2",
700 "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
701 "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
702 "dev": true
703 },
185 "node_modules/builtin-modules": {
704 "node_modules/builtin-modules": {
186 "version": "1.1.1",
705 "version": "1.1.1",
187 "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
706 "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
@@ -191,6 +710,21
191 "node": ">=0.10.0"
710 "node": ">=0.10.0"
192 }
711 }
193 },
712 },
713 "node_modules/caching-transform": {
714 "version": "4.0.0",
715 "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz",
716 "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==",
717 "dev": true,
718 "dependencies": {
719 "hasha": "^5.0.0",
720 "make-dir": "^3.0.0",
721 "package-hash": "^4.0.0",
722 "write-file-atomic": "^3.0.0"
723 },
724 "engines": {
725 "node": ">=8"
726 }
727 },
194 "node_modules/callsites": {
728 "node_modules/callsites": {
195 "version": "3.1.0",
729 "version": "3.1.0",
196 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
730 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -200,6 +734,31
200 "node": ">=6"
734 "node": ">=6"
201 }
735 }
202 },
736 },
737 "node_modules/camelcase": {
738 "version": "5.3.1",
739 "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
740 "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
741 "dev": true,
742 "engines": {
743 "node": ">=6"
744 }
745 },
746 "node_modules/caniuse-lite": {
747 "version": "1.0.30001390",
748 "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001390.tgz",
749 "integrity": "sha512-sS4CaUM+/+vqQUlCvCJ2WtDlV81aWtHhqeEVkLokVJJa3ViN4zDxAGfq9R8i1m90uGHxo99cy10Od+lvn3hf0g==",
750 "dev": true,
751 "funding": [
752 {
753 "type": "opencollective",
754 "url": "https://opencollective.com/browserslist"
755 },
756 {
757 "type": "tidelift",
758 "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
759 }
760 ]
761 },
203 "node_modules/chalk": {
762 "node_modules/chalk": {
204 "version": "2.4.2",
763 "version": "2.4.2",
205 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
764 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -220,6 +779,42
220 "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
779 "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
221 "dev": true
780 "dev": true
222 },
781 },
782 "node_modules/chokidar": {
783 "version": "3.5.3",
784 "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
785 "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
786 "dev": true,
787 "funding": [
788 {
789 "type": "individual",
790 "url": "https://paulmillr.com/funding/"
791 }
792 ],
793 "dependencies": {
794 "anymatch": "~3.1.2",
795 "braces": "~3.0.2",
796 "glob-parent": "~5.1.2",
797 "is-binary-path": "~2.1.0",
798 "is-glob": "~4.0.1",
799 "normalize-path": "~3.0.0",
800 "readdirp": "~3.6.0"
801 },
802 "engines": {
803 "node": ">= 8.10.0"
804 },
805 "optionalDependencies": {
806 "fsevents": "~2.3.2"
807 }
808 },
809 "node_modules/clean-stack": {
810 "version": "2.2.0",
811 "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
812 "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
813 "dev": true,
814 "engines": {
815 "node": ">=6"
816 }
817 },
223 "node_modules/cli-cursor": {
818 "node_modules/cli-cursor": {
224 "version": "3.1.0",
819 "version": "3.1.0",
225 "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
820 "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
@@ -238,6 +833,29
238 "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
833 "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
239 "dev": true
834 "dev": true
240 },
835 },
836 "node_modules/cliui": {
837 "version": "7.0.4",
838 "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
839 "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
840 "dev": true,
841 "dependencies": {
842 "string-width": "^4.2.0",
843 "strip-ansi": "^6.0.0",
844 "wrap-ansi": "^7.0.0"
845 }
846 },
847 "node_modules/cliui/node_modules/strip-ansi": {
848 "version": "6.0.1",
849 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
850 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
851 "dev": true,
852 "dependencies": {
853 "ansi-regex": "^5.0.1"
854 },
855 "engines": {
856 "node": ">=8"
857 }
858 },
241 "node_modules/color-convert": {
859 "node_modules/color-convert": {
242 "version": "1.9.3",
860 "version": "1.9.3",
243 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
861 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -253,18 +871,42
253 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
871 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
254 "dev": true
872 "dev": true
255 },
873 },
874 "node_modules/color-support": {
875 "version": "1.1.3",
876 "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
877 "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
878 "dev": true,
879 "bin": {
880 "color-support": "bin.js"
881 }
882 },
256 "node_modules/commander": {
883 "node_modules/commander": {
257 "version": "2.20.3",
884 "version": "2.20.3",
258 "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
885 "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
259 "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
886 "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
260 "dev": true
887 "dev": true
261 },
888 },
889 "node_modules/commondir": {
890 "version": "1.0.1",
891 "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
892 "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
893 "dev": true
894 },
262 "node_modules/concat-map": {
895 "node_modules/concat-map": {
263 "version": "0.0.1",
896 "version": "0.0.1",
264 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
897 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
265 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
898 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
266 "dev": true
899 "dev": true
267 },
900 },
901 "node_modules/convert-source-map": {
902 "version": "1.8.0",
903 "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
904 "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
905 "dev": true,
906 "dependencies": {
907 "safe-buffer": "~5.1.1"
908 }
909 },
268 "node_modules/cross-spawn": {
910 "node_modules/cross-spawn": {
269 "version": "6.0.5",
911 "version": "6.0.5",
270 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
912 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
@@ -299,12 +941,33
299 "ms": "^2.1.1"
941 "ms": "^2.1.1"
300 }
942 }
301 },
943 },
944 "node_modules/decamelize": {
945 "version": "1.2.0",
946 "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
947 "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
948 "dev": true,
949 "engines": {
950 "node": ">=0.10.0"
951 }
952 },
302 "node_modules/deep-is": {
953 "node_modules/deep-is": {
303 "version": "0.1.3",
954 "version": "0.1.3",
304 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
955 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
305 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
956 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
306 "dev": true
957 "dev": true
307 },
958 },
959 "node_modules/default-require-extensions": {
960 "version": "3.0.0",
961 "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz",
962 "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==",
963 "dev": true,
964 "dependencies": {
965 "strip-bom": "^4.0.0"
966 },
967 "engines": {
968 "node": ">=8"
969 }
970 },
308 "node_modules/diff": {
971 "node_modules/diff": {
309 "version": "4.0.2",
972 "version": "4.0.2",
310 "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
973 "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
@@ -332,12 +995,33
332 "integrity": "sha512-DUiXyoLK6vMF5BPr/qiMLTxDMfiM9qlzN1jxfDsVfuvB/CwhYpNxA/M4mbqKN8PCVGLmccXBJbfmFJPP5+zmzw==",
995 "integrity": "sha512-DUiXyoLK6vMF5BPr/qiMLTxDMfiM9qlzN1jxfDsVfuvB/CwhYpNxA/M4mbqKN8PCVGLmccXBJbfmFJPP5+zmzw==",
333 "dev": true
996 "dev": true
334 },
997 },
998 "node_modules/electron-to-chromium": {
999 "version": "1.4.243",
1000 "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.243.tgz",
1001 "integrity": "sha512-BgLD2gBX43OSXwlT01oYRRD5NIB4n3okTRxkzEAC6G0SZG4TTlyrWMjbOo0fajCwqwpRtMHXQNMjtRN6qpNtfw==",
1002 "dev": true
1003 },
335 "node_modules/emoji-regex": {
1004 "node_modules/emoji-regex": {
336 "version": "8.0.0",
1005 "version": "8.0.0",
337 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
1006 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
338 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
1007 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
339 "dev": true
1008 "dev": true
340 },
1009 },
1010 "node_modules/es6-error": {
1011 "version": "4.1.1",
1012 "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
1013 "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
1014 "dev": true
1015 },
1016 "node_modules/escalade": {
1017 "version": "3.1.1",
1018 "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
1019 "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
1020 "dev": true,
1021 "engines": {
1022 "node": ">=6"
1023 }
1024 },
341 "node_modules/escape-string-regexp": {
1025 "node_modules/escape-string-regexp": {
342 "version": "1.0.5",
1026 "version": "1.0.5",
343 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1027 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -501,6 +1185,12
501 "node": ">=0.10.0"
1185 "node": ">=0.10.0"
502 }
1186 }
503 },
1187 },
1188 "node_modules/events-to-array": {
1189 "version": "1.1.2",
1190 "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz",
1191 "integrity": "sha512-inRWzRY7nG+aXZxBzEqYKB3HPgwflZRopAjDCHv0whhRx+MTUr1ei0ICZUypdyE0HRm4L2d5VEcIqLD6yl+BFA==",
1192 "dev": true
1193 },
504 "node_modules/external-editor": {
1194 "node_modules/external-editor": {
505 "version": "3.1.0",
1195 "version": "3.1.0",
506 "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
1196 "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
@@ -557,6 +1247,54
557 "node": ">=4"
1247 "node": ">=4"
558 }
1248 }
559 },
1249 },
1250 "node_modules/fill-range": {
1251 "version": "7.0.1",
1252 "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
1253 "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
1254 "dev": true,
1255 "dependencies": {
1256 "to-regex-range": "^5.0.1"
1257 },
1258 "engines": {
1259 "node": ">=8"
1260 }
1261 },
1262 "node_modules/find-cache-dir": {
1263 "version": "3.3.2",
1264 "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
1265 "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
1266 "dev": true,
1267 "dependencies": {
1268 "commondir": "^1.0.1",
1269 "make-dir": "^3.0.2",
1270 "pkg-dir": "^4.1.0"
1271 },
1272 "engines": {
1273 "node": ">=8"
1274 },
1275 "funding": {
1276 "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
1277 }
1278 },
1279 "node_modules/find-up": {
1280 "version": "4.1.0",
1281 "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
1282 "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
1283 "dev": true,
1284 "dependencies": {
1285 "locate-path": "^5.0.0",
1286 "path-exists": "^4.0.0"
1287 },
1288 "engines": {
1289 "node": ">=8"
1290 }
1291 },
1292 "node_modules/findit": {
1293 "version": "2.0.0",
1294 "resolved": "https://registry.npmjs.org/findit/-/findit-2.0.0.tgz",
1295 "integrity": "sha512-ENZS237/Hr8bjczn5eKuBohLgaD0JyUd0arxretR1f9RO46vZHA1b2y0VorgGV3WaOT3c+78P8h7v4JGJ1i/rg==",
1296 "dev": true
1297 },
560 "node_modules/flat-cache": {
1298 "node_modules/flat-cache": {
561 "version": "2.0.1",
1299 "version": "2.0.1",
562 "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
1300 "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
@@ -577,39 +1315,187
577 "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
1315 "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
578 "dev": true
1316 "dev": true
579 },
1317 },
1318 "node_modules/foreground-child": {
1319 "version": "2.0.0",
1320 "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz",
1321 "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==",
1322 "dev": true,
1323 "dependencies": {
1324 "cross-spawn": "^7.0.0",
1325 "signal-exit": "^3.0.2"
1326 },
1327 "engines": {
1328 "node": ">=8.0.0"
1329 }
1330 },
1331 "node_modules/foreground-child/node_modules/cross-spawn": {
1332 "version": "7.0.3",
1333 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
1334 "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
1335 "dev": true,
1336 "dependencies": {
1337 "path-key": "^3.1.0",
1338 "shebang-command": "^2.0.0",
1339 "which": "^2.0.1"
1340 },
1341 "engines": {
1342 "node": ">= 8"
1343 }
1344 },
1345 "node_modules/foreground-child/node_modules/path-key": {
1346 "version": "3.1.1",
1347 "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
1348 "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
1349 "dev": true,
1350 "engines": {
1351 "node": ">=8"
1352 }
1353 },
1354 "node_modules/foreground-child/node_modules/shebang-command": {
1355 "version": "2.0.0",
1356 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
1357 "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
1358 "dev": true,
1359 "dependencies": {
1360 "shebang-regex": "^3.0.0"
1361 },
1362 "engines": {
1363 "node": ">=8"
1364 }
1365 },
1366 "node_modules/foreground-child/node_modules/shebang-regex": {
1367 "version": "3.0.0",
1368 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
1369 "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
1370 "dev": true,
1371 "engines": {
1372 "node": ">=8"
1373 }
1374 },
1375 "node_modules/foreground-child/node_modules/which": {
1376 "version": "2.0.2",
1377 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
1378 "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
1379 "dev": true,
1380 "dependencies": {
1381 "isexe": "^2.0.0"
1382 },
1383 "bin": {
1384 "node-which": "bin/node-which"
1385 },
1386 "engines": {
1387 "node": ">= 8"
1388 }
1389 },
1390 "node_modules/fromentries": {
1391 "version": "1.3.2",
1392 "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz",
1393 "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==",
1394 "dev": true,
1395 "funding": [
1396 {
1397 "type": "github",
1398 "url": "https://github.com/sponsors/feross"
1399 },
1400 {
1401 "type": "patreon",
1402 "url": "https://www.patreon.com/feross"
1403 },
1404 {
1405 "type": "consulting",
1406 "url": "https://feross.org/support"
1407 }
1408 ]
1409 },
1410 "node_modules/fs-exists-cached": {
1411 "version": "1.0.0",
1412 "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz",
1413 "integrity": "sha512-kSxoARUDn4F2RPXX48UXnaFKwVU7Ivd/6qpzZL29MCDmr9sTvybv4gFCp+qaI4fM9m0z9fgz/yJvi56GAz+BZg==",
1414 "dev": true
1415 },
580 "node_modules/fs.realpath": {
1416 "node_modules/fs.realpath": {
581 "version": "1.0.0",
1417 "version": "1.0.0",
582 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1418 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
583 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
1419 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
584 "dev": true
1420 "dev": true
585 },
1421 },
1422 "node_modules/fsevents": {
1423 "version": "2.3.2",
1424 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1425 "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1426 "dev": true,
1427 "hasInstallScript": true,
1428 "optional": true,
1429 "os": [
1430 "darwin"
1431 ],
1432 "engines": {
1433 "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1434 }
1435 },
1436 "node_modules/function-loop": {
1437 "version": "2.0.1",
1438 "resolved": "https://registry.npmjs.org/function-loop/-/function-loop-2.0.1.tgz",
1439 "integrity": "sha512-ktIR+O6i/4h+j/ZhZJNdzeI4i9lEPeEK6UPR2EVyTVBqOwcU3Za9xYKLH64ZR9HmcROyRrOkizNyjjtWJzDDkQ==",
1440 "dev": true
1441 },
586 "node_modules/functional-red-black-tree": {
1442 "node_modules/functional-red-black-tree": {
587 "version": "1.0.1",
1443 "version": "1.0.1",
588 "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
1444 "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
589 "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
1445 "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
590 "dev": true
1446 "dev": true
591 },
1447 },
1448 "node_modules/gensync": {
1449 "version": "1.0.0-beta.2",
1450 "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
1451 "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
1452 "dev": true,
1453 "engines": {
1454 "node": ">=6.9.0"
1455 }
1456 },
1457 "node_modules/get-caller-file": {
1458 "version": "2.0.5",
1459 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
1460 "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
1461 "dev": true,
1462 "engines": {
1463 "node": "6.* || 8.* || >= 10.*"
1464 }
1465 },
1466 "node_modules/get-package-type": {
1467 "version": "0.1.0",
1468 "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
1469 "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
1470 "dev": true,
1471 "engines": {
1472 "node": ">=8.0.0"
1473 }
1474 },
592 "node_modules/glob": {
1475 "node_modules/glob": {
593 "version": "7.1.6",
1476 "version": "7.2.3",
594 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
1477 "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
595 "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
1478 "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
596 "dev": true,
1479 "dev": true,
597 "dependencies": {
1480 "dependencies": {
598 "fs.realpath": "^1.0.0",
1481 "fs.realpath": "^1.0.0",
599 "inflight": "^1.0.4",
1482 "inflight": "^1.0.4",
600 "inherits": "2",
1483 "inherits": "2",
601 "minimatch": "^3.0.4",
1484 "minimatch": "^3.1.1",
602 "once": "^1.3.0",
1485 "once": "^1.3.0",
603 "path-is-absolute": "^1.0.0"
1486 "path-is-absolute": "^1.0.0"
604 },
1487 },
605 "engines": {
1488 "engines": {
606 "node": "*"
1489 "node": "*"
1490 },
1491 "funding": {
1492 "url": "https://github.com/sponsors/isaacs"
607 }
1493 }
608 },
1494 },
609 "node_modules/glob-parent": {
1495 "node_modules/glob-parent": {
610 "version": "5.1.0",
1496 "version": "5.1.2",
611 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
1497 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
612 "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
1498 "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
613 "dev": true,
1499 "dev": true,
614 "dependencies": {
1500 "dependencies": {
615 "is-glob": "^4.0.1"
1501 "is-glob": "^4.0.1"
@@ -630,6 +1516,12
630 "node": ">=8"
1516 "node": ">=8"
631 }
1517 }
632 },
1518 },
1519 "node_modules/graceful-fs": {
1520 "version": "4.2.10",
1521 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
1522 "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
1523 "dev": true
1524 },
633 "node_modules/has-flag": {
1525 "node_modules/has-flag": {
634 "version": "3.0.0",
1526 "version": "3.0.0",
635 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
1527 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
@@ -639,6 +1531,28
639 "node": ">=4"
1531 "node": ">=4"
640 }
1532 }
641 },
1533 },
1534 "node_modules/hasha": {
1535 "version": "5.2.2",
1536 "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz",
1537 "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==",
1538 "dev": true,
1539 "dependencies": {
1540 "is-stream": "^2.0.0",
1541 "type-fest": "^0.8.0"
1542 },
1543 "engines": {
1544 "node": ">=8"
1545 },
1546 "funding": {
1547 "url": "https://github.com/sponsors/sindresorhus"
1548 }
1549 },
1550 "node_modules/html-escaper": {
1551 "version": "2.0.2",
1552 "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
1553 "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
1554 "dev": true
1555 },
642 "node_modules/iconv-lite": {
1556 "node_modules/iconv-lite": {
643 "version": "0.4.24",
1557 "version": "0.4.24",
644 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1558 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -682,6 +1596,15
682 "node": ">=0.8.19"
1596 "node": ">=0.8.19"
683 }
1597 }
684 },
1598 },
1599 "node_modules/indent-string": {
1600 "version": "4.0.0",
1601 "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
1602 "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
1603 "dev": true,
1604 "engines": {
1605 "node": ">=8"
1606 }
1607 },
685 "node_modules/inflight": {
1608 "node_modules/inflight": {
686 "version": "1.0.6",
1609 "version": "1.0.6",
687 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1610 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -722,6 +1645,18
722 "node": ">=6.0.0"
1645 "node": ">=6.0.0"
723 }
1646 }
724 },
1647 },
1648 "node_modules/is-binary-path": {
1649 "version": "2.1.0",
1650 "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
1651 "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
1652 "dev": true,
1653 "dependencies": {
1654 "binary-extensions": "^2.0.0"
1655 },
1656 "engines": {
1657 "node": ">=8"
1658 }
1659 },
725 "node_modules/is-extglob": {
1660 "node_modules/is-extglob": {
726 "version": "2.1.1",
1661 "version": "2.1.1",
727 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1662 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -752,18 +1687,255
752 "node": ">=0.10.0"
1687 "node": ">=0.10.0"
753 }
1688 }
754 },
1689 },
1690 "node_modules/is-number": {
1691 "version": "7.0.0",
1692 "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1693 "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1694 "dev": true,
1695 "engines": {
1696 "node": ">=0.12.0"
1697 }
1698 },
755 "node_modules/is-promise": {
1699 "node_modules/is-promise": {
756 "version": "2.1.0",
1700 "version": "2.1.0",
757 "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
1701 "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
758 "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
1702 "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
759 "dev": true
1703 "dev": true
760 },
1704 },
1705 "node_modules/is-stream": {
1706 "version": "2.0.1",
1707 "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
1708 "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
1709 "dev": true,
1710 "engines": {
1711 "node": ">=8"
1712 },
1713 "funding": {
1714 "url": "https://github.com/sponsors/sindresorhus"
1715 }
1716 },
1717 "node_modules/is-typedarray": {
1718 "version": "1.0.0",
1719 "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
1720 "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
1721 "dev": true
1722 },
1723 "node_modules/is-windows": {
1724 "version": "1.0.2",
1725 "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
1726 "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
1727 "dev": true,
1728 "engines": {
1729 "node": ">=0.10.0"
1730 }
1731 },
761 "node_modules/isexe": {
1732 "node_modules/isexe": {
762 "version": "2.0.0",
1733 "version": "2.0.0",
763 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1734 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
764 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
1735 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
765 "dev": true
1736 "dev": true
766 },
1737 },
1738 "node_modules/istanbul-lib-coverage": {
1739 "version": "3.2.0",
1740 "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
1741 "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
1742 "dev": true,
1743 "engines": {
1744 "node": ">=8"
1745 }
1746 },
1747 "node_modules/istanbul-lib-hook": {
1748 "version": "3.0.0",
1749 "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz",
1750 "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==",
1751 "dev": true,
1752 "dependencies": {
1753 "append-transform": "^2.0.0"
1754 },
1755 "engines": {
1756 "node": ">=8"
1757 }
1758 },
1759 "node_modules/istanbul-lib-instrument": {
1760 "version": "4.0.3",
1761 "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
1762 "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
1763 "dev": true,
1764 "dependencies": {
1765 "@babel/core": "^7.7.5",
1766 "@istanbuljs/schema": "^0.1.2",
1767 "istanbul-lib-coverage": "^3.0.0",
1768 "semver": "^6.3.0"
1769 },
1770 "engines": {
1771 "node": ">=8"
1772 }
1773 },
1774 "node_modules/istanbul-lib-processinfo": {
1775 "version": "2.0.3",
1776 "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz",
1777 "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==",
1778 "dev": true,
1779 "dependencies": {
1780 "archy": "^1.0.0",
1781 "cross-spawn": "^7.0.3",
1782 "istanbul-lib-coverage": "^3.2.0",
1783 "p-map": "^3.0.0",
1784 "rimraf": "^3.0.0",
1785 "uuid": "^8.3.2"
1786 },
1787 "engines": {
1788 "node": ">=8"
1789 }
1790 },
1791 "node_modules/istanbul-lib-processinfo/node_modules/cross-spawn": {
1792 "version": "7.0.3",
1793 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
1794 "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
1795 "dev": true,
1796 "dependencies": {
1797 "path-key": "^3.1.0",
1798 "shebang-command": "^2.0.0",
1799 "which": "^2.0.1"
1800 },
1801 "engines": {
1802 "node": ">= 8"
1803 }
1804 },
1805 "node_modules/istanbul-lib-processinfo/node_modules/path-key": {
1806 "version": "3.1.1",
1807 "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
1808 "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
1809 "dev": true,
1810 "engines": {
1811 "node": ">=8"
1812 }
1813 },
1814 "node_modules/istanbul-lib-processinfo/node_modules/rimraf": {
1815 "version": "3.0.2",
1816 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
1817 "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
1818 "dev": true,
1819 "dependencies": {
1820 "glob": "^7.1.3"
1821 },
1822 "bin": {
1823 "rimraf": "bin.js"
1824 },
1825 "funding": {
1826 "url": "https://github.com/sponsors/isaacs"
1827 }
1828 },
1829 "node_modules/istanbul-lib-processinfo/node_modules/shebang-command": {
1830 "version": "2.0.0",
1831 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
1832 "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
1833 "dev": true,
1834 "dependencies": {
1835 "shebang-regex": "^3.0.0"
1836 },
1837 "engines": {
1838 "node": ">=8"
1839 }
1840 },
1841 "node_modules/istanbul-lib-processinfo/node_modules/shebang-regex": {
1842 "version": "3.0.0",
1843 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
1844 "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
1845 "dev": true,
1846 "engines": {
1847 "node": ">=8"
1848 }
1849 },
1850 "node_modules/istanbul-lib-processinfo/node_modules/which": {
1851 "version": "2.0.2",
1852 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
1853 "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
1854 "dev": true,
1855 "dependencies": {
1856 "isexe": "^2.0.0"
1857 },
1858 "bin": {
1859 "node-which": "bin/node-which"
1860 },
1861 "engines": {
1862 "node": ">= 8"
1863 }
1864 },
1865 "node_modules/istanbul-lib-report": {
1866 "version": "3.0.0",
1867 "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
1868 "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
1869 "dev": true,
1870 "dependencies": {
1871 "istanbul-lib-coverage": "^3.0.0",
1872 "make-dir": "^3.0.0",
1873 "supports-color": "^7.1.0"
1874 },
1875 "engines": {
1876 "node": ">=8"
1877 }
1878 },
1879 "node_modules/istanbul-lib-report/node_modules/has-flag": {
1880 "version": "4.0.0",
1881 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1882 "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1883 "dev": true,
1884 "engines": {
1885 "node": ">=8"
1886 }
1887 },
1888 "node_modules/istanbul-lib-report/node_modules/supports-color": {
1889 "version": "7.2.0",
1890 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1891 "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1892 "dev": true,
1893 "dependencies": {
1894 "has-flag": "^4.0.0"
1895 },
1896 "engines": {
1897 "node": ">=8"
1898 }
1899 },
1900 "node_modules/istanbul-lib-source-maps": {
1901 "version": "4.0.1",
1902 "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
1903 "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
1904 "dev": true,
1905 "dependencies": {
1906 "debug": "^4.1.1",
1907 "istanbul-lib-coverage": "^3.0.0",
1908 "source-map": "^0.6.1"
1909 },
1910 "engines": {
1911 "node": ">=10"
1912 }
1913 },
1914 "node_modules/istanbul-reports": {
1915 "version": "3.1.5",
1916 "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz",
1917 "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==",
1918 "dev": true,
1919 "dependencies": {
1920 "html-escaper": "^2.0.0",
1921 "istanbul-lib-report": "^3.0.0"
1922 },
1923 "engines": {
1924 "node": ">=8"
1925 }
1926 },
1927 "node_modules/jackspeak": {
1928 "version": "1.4.1",
1929 "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-1.4.1.tgz",
1930 "integrity": "sha512-npN8f+M4+IQ8xD3CcWi3U62VQwKlT3Tj4GxbdT/fYTmeogD9eBF9OFdpoFG/VPNoshRjPUijdkp/p2XrzUHaVg==",
1931 "dev": true,
1932 "dependencies": {
1933 "cliui": "^7.0.4"
1934 },
1935 "engines": {
1936 "node": ">=8"
1937 }
1938 },
767 "node_modules/js-tokens": {
1939 "node_modules/js-tokens": {
768 "version": "4.0.0",
1940 "version": "4.0.0",
769 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
1941 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -783,6 +1955,18
783 "js-yaml": "bin/js-yaml.js"
1955 "js-yaml": "bin/js-yaml.js"
784 }
1956 }
785 },
1957 },
1958 "node_modules/jsesc": {
1959 "version": "2.5.2",
1960 "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
1961 "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
1962 "dev": true,
1963 "bin": {
1964 "jsesc": "bin/jsesc"
1965 },
1966 "engines": {
1967 "node": ">=4"
1968 }
1969 },
786 "node_modules/json-schema-traverse": {
1970 "node_modules/json-schema-traverse": {
787 "version": "0.4.1",
1971 "version": "0.4.1",
788 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
1972 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -795,6 +1979,18
795 "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
1979 "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
796 "dev": true
1980 "dev": true
797 },
1981 },
1982 "node_modules/json5": {
1983 "version": "2.2.1",
1984 "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
1985 "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
1986 "dev": true,
1987 "bin": {
1988 "json5": "lib/cli.js"
1989 },
1990 "engines": {
1991 "node": ">=6"
1992 }
1993 },
798 "node_modules/levn": {
1994 "node_modules/levn": {
799 "version": "0.3.0",
1995 "version": "0.3.0",
800 "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
1996 "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
@@ -808,12 +2004,72
808 "node": ">= 0.8.0"
2004 "node": ">= 0.8.0"
809 }
2005 }
810 },
2006 },
2007 "node_modules/libtap": {
2008 "version": "1.4.0",
2009 "resolved": "https://registry.npmjs.org/libtap/-/libtap-1.4.0.tgz",
2010 "integrity": "sha512-STLFynswQ2A6W14JkabgGetBNk6INL1REgJ9UeNKw5llXroC2cGLgKTqavv0sl8OLVztLLipVKMcQ7yeUcqpmg==",
2011 "dev": true,
2012 "dependencies": {
2013 "async-hook-domain": "^2.0.4",
2014 "bind-obj-methods": "^3.0.0",
2015 "diff": "^4.0.2",
2016 "function-loop": "^2.0.1",
2017 "minipass": "^3.1.5",
2018 "own-or": "^1.0.0",
2019 "own-or-env": "^1.0.2",
2020 "signal-exit": "^3.0.4",
2021 "stack-utils": "^2.0.4",
2022 "tap-parser": "^11.0.0",
2023 "tap-yaml": "^1.0.0",
2024 "tcompare": "^5.0.6",
2025 "trivial-deferred": "^1.0.1"
2026 },
2027 "engines": {
2028 "node": ">=10"
2029 },
2030 "funding": {
2031 "url": "https://github.com/sponsors/isaacs"
2032 }
2033 },
2034 "node_modules/locate-path": {
2035 "version": "5.0.0",
2036 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
2037 "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
2038 "dev": true,
2039 "dependencies": {
2040 "p-locate": "^4.1.0"
2041 },
2042 "engines": {
2043 "node": ">=8"
2044 }
2045 },
811 "node_modules/lodash": {
2046 "node_modules/lodash": {
812 "version": "4.17.20",
2047 "version": "4.17.20",
813 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
2048 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
814 "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
2049 "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
815 "dev": true
2050 "dev": true
816 },
2051 },
2052 "node_modules/lodash.flattendeep": {
2053 "version": "4.4.0",
2054 "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
2055 "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==",
2056 "dev": true
2057 },
2058 "node_modules/make-dir": {
2059 "version": "3.1.0",
2060 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
2061 "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
2062 "dev": true,
2063 "dependencies": {
2064 "semver": "^6.0.0"
2065 },
2066 "engines": {
2067 "node": ">=8"
2068 },
2069 "funding": {
2070 "url": "https://github.com/sponsors/sindresorhus"
2071 }
2072 },
817 "node_modules/mimic-fn": {
2073 "node_modules/mimic-fn": {
818 "version": "2.1.0",
2074 "version": "2.1.0",
819 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
2075 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
@@ -824,9 +2080,9
824 }
2080 }
825 },
2081 },
826 "node_modules/minimatch": {
2082 "node_modules/minimatch": {
827 "version": "3.0.4",
2083 "version": "3.1.2",
828 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
2084 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
829 "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
2085 "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
830 "dev": true,
2086 "dev": true,
831 "dependencies": {
2087 "dependencies": {
832 "brace-expansion": "^1.1.7"
2088 "brace-expansion": "^1.1.7"
@@ -835,6 +2091,24
835 "node": "*"
2091 "node": "*"
836 }
2092 }
837 },
2093 },
2094 "node_modules/minimist": {
2095 "version": "1.2.6",
2096 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
2097 "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
2098 "dev": true
2099 },
2100 "node_modules/minipass": {
2101 "version": "3.3.4",
2102 "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz",
2103 "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==",
2104 "dev": true,
2105 "dependencies": {
2106 "yallist": "^4.0.0"
2107 },
2108 "engines": {
2109 "node": ">=8"
2110 }
2111 },
838 "node_modules/mkdirp": {
2112 "node_modules/mkdirp": {
839 "version": "0.5.5",
2113 "version": "0.5.5",
840 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
2114 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
@@ -847,12 +2121,6
847 "mkdirp": "bin/cmd.js"
2121 "mkdirp": "bin/cmd.js"
848 }
2122 }
849 },
2123 },
850 "node_modules/mkdirp/node_modules/minimist": {
851 "version": "1.2.5",
852 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
853 "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
854 "dev": true
855 },
856 "node_modules/ms": {
2124 "node_modules/ms": {
857 "version": "2.1.2",
2125 "version": "2.1.2",
858 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
2126 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -877,6 +2145,98
877 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
2145 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
878 "dev": true
2146 "dev": true
879 },
2147 },
2148 "node_modules/node-preload": {
2149 "version": "0.2.1",
2150 "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
2151 "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==",
2152 "dev": true,
2153 "dependencies": {
2154 "process-on-spawn": "^1.0.0"
2155 },
2156 "engines": {
2157 "node": ">=8"
2158 }
2159 },
2160 "node_modules/node-releases": {
2161 "version": "2.0.6",
2162 "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
2163 "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
2164 "dev": true
2165 },
2166 "node_modules/normalize-path": {
2167 "version": "3.0.0",
2168 "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
2169 "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
2170 "dev": true,
2171 "engines": {
2172 "node": ">=0.10.0"
2173 }
2174 },
2175 "node_modules/nyc": {
2176 "version": "15.1.0",
2177 "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz",
2178 "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==",
2179 "dev": true,
2180 "dependencies": {
2181 "@istanbuljs/load-nyc-config": "^1.0.0",
2182 "@istanbuljs/schema": "^0.1.2",
2183 "caching-transform": "^4.0.0",
2184 "convert-source-map": "^1.7.0",
2185 "decamelize": "^1.2.0",
2186 "find-cache-dir": "^3.2.0",
2187 "find-up": "^4.1.0",
2188 "foreground-child": "^2.0.0",
2189 "get-package-type": "^0.1.0",
2190 "glob": "^7.1.6",
2191 "istanbul-lib-coverage": "^3.0.0",
2192 "istanbul-lib-hook": "^3.0.0",
2193 "istanbul-lib-instrument": "^4.0.0",
2194 "istanbul-lib-processinfo": "^2.0.2",
2195 "istanbul-lib-report": "^3.0.0",
2196 "istanbul-lib-source-maps": "^4.0.0",
2197 "istanbul-reports": "^3.0.2",
2198 "make-dir": "^3.0.0",
2199 "node-preload": "^0.2.1",
2200 "p-map": "^3.0.0",
2201 "process-on-spawn": "^1.0.0",
2202 "resolve-from": "^5.0.0",
2203 "rimraf": "^3.0.0",
2204 "signal-exit": "^3.0.2",
2205 "spawn-wrap": "^2.0.0",
2206 "test-exclude": "^6.0.0",
2207 "yargs": "^15.0.2"
2208 },
2209 "bin": {
2210 "nyc": "bin/nyc.js"
2211 },
2212 "engines": {
2213 "node": ">=8.9"
2214 }
2215 },
2216 "node_modules/nyc/node_modules/resolve-from": {
2217 "version": "5.0.0",
2218 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
2219 "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
2220 "dev": true,
2221 "engines": {
2222 "node": ">=8"
2223 }
2224 },
2225 "node_modules/nyc/node_modules/rimraf": {
2226 "version": "3.0.2",
2227 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
2228 "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
2229 "dev": true,
2230 "dependencies": {
2231 "glob": "^7.1.3"
2232 },
2233 "bin": {
2234 "rimraf": "bin.js"
2235 },
2236 "funding": {
2237 "url": "https://github.com/sponsors/isaacs"
2238 }
2239 },
880 "node_modules/once": {
2240 "node_modules/once": {
881 "version": "1.4.0",
2241 "version": "1.4.0",
882 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2242 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -898,6 +2258,15
898 "node": ">=6"
2258 "node": ">=6"
899 }
2259 }
900 },
2260 },
2261 "node_modules/opener": {
2262 "version": "1.5.2",
2263 "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
2264 "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==",
2265 "dev": true,
2266 "bin": {
2267 "opener": "bin/opener-bin.js"
2268 }
2269 },
901 "node_modules/optionator": {
2270 "node_modules/optionator": {
902 "version": "0.8.3",
2271 "version": "0.8.3",
903 "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
2272 "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
@@ -924,6 +2293,84
924 "node": ">=0.10.0"
2293 "node": ">=0.10.0"
925 }
2294 }
926 },
2295 },
2296 "node_modules/own-or": {
2297 "version": "1.0.0",
2298 "resolved": "https://registry.npmjs.org/own-or/-/own-or-1.0.0.tgz",
2299 "integrity": "sha512-NfZr5+Tdf6MB8UI9GLvKRs4cXY8/yB0w3xtt84xFdWy8hkGjn+JFc60VhzS/hFRfbyxFcGYMTjnF4Me+RbbqrA==",
2300 "dev": true
2301 },
2302 "node_modules/own-or-env": {
2303 "version": "1.0.2",
2304 "resolved": "https://registry.npmjs.org/own-or-env/-/own-or-env-1.0.2.tgz",
2305 "integrity": "sha512-NQ7v0fliWtK7Lkb+WdFqe6ky9XAzYmlkXthQrBbzlYbmFKoAYbDDcwmOm6q8kOuwSRXW8bdL5ORksploUJmWgw==",
2306 "dev": true,
2307 "dependencies": {
2308 "own-or": "^1.0.0"
2309 }
2310 },
2311 "node_modules/p-limit": {
2312 "version": "2.3.0",
2313 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
2314 "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
2315 "dev": true,
2316 "dependencies": {
2317 "p-try": "^2.0.0"
2318 },
2319 "engines": {
2320 "node": ">=6"
2321 },
2322 "funding": {
2323 "url": "https://github.com/sponsors/sindresorhus"
2324 }
2325 },
2326 "node_modules/p-locate": {
2327 "version": "4.1.0",
2328 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
2329 "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
2330 "dev": true,
2331 "dependencies": {
2332 "p-limit": "^2.2.0"
2333 },
2334 "engines": {
2335 "node": ">=8"
2336 }
2337 },
2338 "node_modules/p-map": {
2339 "version": "3.0.0",
2340 "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
2341 "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
2342 "dev": true,
2343 "dependencies": {
2344 "aggregate-error": "^3.0.0"
2345 },
2346 "engines": {
2347 "node": ">=8"
2348 }
2349 },
2350 "node_modules/p-try": {
2351 "version": "2.2.0",
2352 "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
2353 "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
2354 "dev": true,
2355 "engines": {
2356 "node": ">=6"
2357 }
2358 },
2359 "node_modules/package-hash": {
2360 "version": "4.0.0",
2361 "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz",
2362 "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==",
2363 "dev": true,
2364 "dependencies": {
2365 "graceful-fs": "^4.1.15",
2366 "hasha": "^5.0.0",
2367 "lodash.flattendeep": "^4.4.0",
2368 "release-zalgo": "^1.0.0"
2369 },
2370 "engines": {
2371 "node": ">=8"
2372 }
2373 },
927 "node_modules/parent-module": {
2374 "node_modules/parent-module": {
928 "version": "1.0.1",
2375 "version": "1.0.1",
929 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
2376 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -936,6 +2383,15
936 "node": ">=6"
2383 "node": ">=6"
937 }
2384 }
938 },
2385 },
2386 "node_modules/path-exists": {
2387 "version": "4.0.0",
2388 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
2389 "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
2390 "dev": true,
2391 "engines": {
2392 "node": ">=8"
2393 }
2394 },
939 "node_modules/path-is-absolute": {
2395 "node_modules/path-is-absolute": {
940 "version": "1.0.1",
2396 "version": "1.0.1",
941 "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2397 "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
@@ -955,10 +2411,40
955 }
2411 }
956 },
2412 },
957 "node_modules/path-parse": {
2413 "node_modules/path-parse": {
958 "version": "1.0.6",
2414 "version": "1.0.7",
959 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
2415 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
960 "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
2416 "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
961 "dev": true
2417 "dev": true
2418 },
2419 "node_modules/picocolors": {
2420 "version": "1.0.0",
2421 "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
2422 "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
2423 "dev": true
2424 },
2425 "node_modules/picomatch": {
2426 "version": "2.3.1",
2427 "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
2428 "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
2429 "dev": true,
2430 "engines": {
2431 "node": ">=8.6"
2432 },
2433 "funding": {
2434 "url": "https://github.com/sponsors/jonschlinkert"
2435 }
2436 },
2437 "node_modules/pkg-dir": {
2438 "version": "4.2.0",
2439 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
2440 "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
2441 "dev": true,
2442 "dependencies": {
2443 "find-up": "^4.0.0"
2444 },
2445 "engines": {
2446 "node": ">=8"
2447 }
962 },
2448 },
963 "node_modules/prelude-ls": {
2449 "node_modules/prelude-ls": {
964 "version": "1.1.2",
2450 "version": "1.1.2",
@@ -969,6 +2455,18
969 "node": ">= 0.8.0"
2455 "node": ">= 0.8.0"
970 }
2456 }
971 },
2457 },
2458 "node_modules/process-on-spawn": {
2459 "version": "1.0.0",
2460 "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz",
2461 "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==",
2462 "dev": true,
2463 "dependencies": {
2464 "fromentries": "^1.2.0"
2465 },
2466 "engines": {
2467 "node": ">=8"
2468 }
2469 },
972 "node_modules/progress": {
2470 "node_modules/progress": {
973 "version": "2.0.3",
2471 "version": "2.0.3",
974 "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
2472 "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
@@ -987,6 +2485,18
987 "node": ">=6"
2485 "node": ">=6"
988 }
2486 }
989 },
2487 },
2488 "node_modules/readdirp": {
2489 "version": "3.6.0",
2490 "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
2491 "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
2492 "dev": true,
2493 "dependencies": {
2494 "picomatch": "^2.2.1"
2495 },
2496 "engines": {
2497 "node": ">=8.10.0"
2498 }
2499 },
990 "node_modules/regenerator-runtime": {
2500 "node_modules/regenerator-runtime": {
991 "version": "0.13.3",
2501 "version": "0.13.3",
992 "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
2502 "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
@@ -1002,6 +2512,33
1002 "node": ">=6.5.0"
2512 "node": ">=6.5.0"
1003 }
2513 }
1004 },
2514 },
2515 "node_modules/release-zalgo": {
2516 "version": "1.0.0",
2517 "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
2518 "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==",
2519 "dev": true,
2520 "dependencies": {
2521 "es6-error": "^4.0.1"
2522 },
2523 "engines": {
2524 "node": ">=4"
2525 }
2526 },
2527 "node_modules/require-directory": {
2528 "version": "2.1.1",
2529 "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
2530 "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
2531 "dev": true,
2532 "engines": {
2533 "node": ">=0.10.0"
2534 }
2535 },
2536 "node_modules/require-main-filename": {
2537 "version": "2.0.0",
2538 "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
2539 "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
2540 "dev": true
2541 },
1005 "node_modules/requirejs": {
2542 "node_modules/requirejs": {
1006 "version": "2.3.6",
2543 "version": "2.3.6",
1007 "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz",
2544 "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz",
@@ -1082,6 +2619,12
1082 "npm": ">=2.0.0"
2619 "npm": ">=2.0.0"
1083 }
2620 }
1084 },
2621 },
2622 "node_modules/safe-buffer": {
2623 "version": "5.1.2",
2624 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
2625 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
2626 "dev": true
2627 },
1085 "node_modules/safer-buffer": {
2628 "node_modules/safer-buffer": {
1086 "version": "2.1.2",
2629 "version": "2.1.2",
1087 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
2630 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -1097,6 +2640,12
1097 "semver": "bin/semver.js"
2640 "semver": "bin/semver.js"
1098 }
2641 }
1099 },
2642 },
2643 "node_modules/set-blocking": {
2644 "version": "2.0.0",
2645 "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
2646 "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
2647 "dev": true
2648 },
1100 "node_modules/shebang-command": {
2649 "node_modules/shebang-command": {
1101 "version": "1.2.0",
2650 "version": "1.2.0",
1102 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
2651 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
@@ -1119,9 +2668,9
1119 }
2668 }
1120 },
2669 },
1121 "node_modules/signal-exit": {
2670 "node_modules/signal-exit": {
1122 "version": "3.0.2",
2671 "version": "3.0.7",
1123 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
2672 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
1124 "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
2673 "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
1125 "dev": true
2674 "dev": true
1126 },
2675 },
1127 "node_modules/slice-ansi": {
2676 "node_modules/slice-ansi": {
@@ -1147,12 +2696,99
1147 "node": ">=4"
2696 "node": ">=4"
1148 }
2697 }
1149 },
2698 },
2699 "node_modules/source-map": {
2700 "version": "0.6.1",
2701 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2702 "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
2703 "dev": true,
2704 "engines": {
2705 "node": ">=0.10.0"
2706 }
2707 },
2708 "node_modules/source-map-support": {
2709 "version": "0.5.21",
2710 "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
2711 "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
2712 "dev": true,
2713 "dependencies": {
2714 "buffer-from": "^1.0.0",
2715 "source-map": "^0.6.0"
2716 }
2717 },
2718 "node_modules/spawn-wrap": {
2719 "version": "2.0.0",
2720 "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
2721 "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==",
2722 "dev": true,
2723 "dependencies": {
2724 "foreground-child": "^2.0.0",
2725 "is-windows": "^1.0.2",
2726 "make-dir": "^3.0.0",
2727 "rimraf": "^3.0.0",
2728 "signal-exit": "^3.0.2",
2729 "which": "^2.0.1"
2730 },
2731 "engines": {
2732 "node": ">=8"
2733 }
2734 },
2735 "node_modules/spawn-wrap/node_modules/rimraf": {
2736 "version": "3.0.2",
2737 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
2738 "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
2739 "dev": true,
2740 "dependencies": {
2741 "glob": "^7.1.3"
2742 },
2743 "bin": {
2744 "rimraf": "bin.js"
2745 },
2746 "funding": {
2747 "url": "https://github.com/sponsors/isaacs"
2748 }
2749 },
2750 "node_modules/spawn-wrap/node_modules/which": {
2751 "version": "2.0.2",
2752 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2753 "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2754 "dev": true,
2755 "dependencies": {
2756 "isexe": "^2.0.0"
2757 },
2758 "bin": {
2759 "node-which": "bin/node-which"
2760 },
2761 "engines": {
2762 "node": ">= 8"
2763 }
2764 },
1150 "node_modules/sprintf-js": {
2765 "node_modules/sprintf-js": {
1151 "version": "1.0.3",
2766 "version": "1.0.3",
1152 "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
2767 "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
1153 "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
2768 "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
1154 "dev": true
2769 "dev": true
1155 },
2770 },
2771 "node_modules/stack-utils": {
2772 "version": "2.0.5",
2773 "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz",
2774 "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==",
2775 "dev": true,
2776 "dependencies": {
2777 "escape-string-regexp": "^2.0.0"
2778 },
2779 "engines": {
2780 "node": ">=10"
2781 }
2782 },
2783 "node_modules/stack-utils/node_modules/escape-string-regexp": {
2784 "version": "2.0.0",
2785 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
2786 "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
2787 "dev": true,
2788 "engines": {
2789 "node": ">=8"
2790 }
2791 },
1156 "node_modules/string-width": {
2792 "node_modules/string-width": {
1157 "version": "4.2.0",
2793 "version": "4.2.0",
1158 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
2794 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
@@ -1200,6 +2836,15
1200 "node": ">=6"
2836 "node": ">=6"
1201 }
2837 }
1202 },
2838 },
2839 "node_modules/strip-bom": {
2840 "version": "4.0.0",
2841 "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
2842 "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
2843 "dev": true,
2844 "engines": {
2845 "node": ">=8"
2846 }
2847 },
1203 "node_modules/strip-json-comments": {
2848 "node_modules/strip-json-comments": {
1204 "version": "3.0.1",
2849 "version": "3.0.1",
1205 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
2850 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
@@ -1265,6 +2910,2052
1265 "node": ">=6"
2910 "node": ">=6"
1266 }
2911 }
1267 },
2912 },
2913 "node_modules/tap": {
2914 "version": "16.3.0",
2915 "resolved": "https://registry.npmjs.org/tap/-/tap-16.3.0.tgz",
2916 "integrity": "sha512-J9GffPUAbX6FnWbQ/jj7ktzd9nnDFP1fH44OzidqOmxUfZ1hPLMOvpS99LnDiP0H2mO8GY3kGN5XoY0xIKbNFA==",
2917 "bundleDependencies": [
2918 "ink",
2919 "treport",
2920 "@types/react",
2921 "@isaacs/import-jsx",
2922 "react"
2923 ],
2924 "dev": true,
2925 "dependencies": {
2926 "@isaacs/import-jsx": "^4.0.1",
2927 "@types/react": "^17",
2928 "chokidar": "^3.3.0",
2929 "findit": "^2.0.0",
2930 "foreground-child": "^2.0.0",
2931 "fs-exists-cached": "^1.0.0",
2932 "glob": "^7.1.6",
2933 "ink": "^3.2.0",
2934 "isexe": "^2.0.0",
2935 "istanbul-lib-processinfo": "^2.0.2",
2936 "jackspeak": "^1.4.1",
2937 "libtap": "^1.4.0",
2938 "minipass": "^3.1.1",
2939 "mkdirp": "^1.0.4",
2940 "nyc": "^15.1.0",
2941 "opener": "^1.5.1",
2942 "react": "^17.0.2",
2943 "rimraf": "^3.0.0",
2944 "signal-exit": "^3.0.6",
2945 "source-map-support": "^0.5.16",
2946 "tap-mocha-reporter": "^5.0.3",
2947 "tap-parser": "^11.0.1",
2948 "tap-yaml": "^1.0.0",
2949 "tcompare": "^5.0.7",
2950 "treport": "^3.0.3",
2951 "which": "^2.0.2"
2952 },
2953 "bin": {
2954 "tap": "bin/run.js"
2955 },
2956 "engines": {
2957 "node": ">=12"
2958 },
2959 "funding": {
2960 "url": "https://github.com/sponsors/isaacs"
2961 },
2962 "peerDependencies": {
2963 "coveralls": "^3.1.1",
2964 "flow-remove-types": ">=2.112.0",
2965 "ts-node": ">=8.5.2",
2966 "typescript": ">=3.7.2"
2967 },
2968 "peerDependenciesMeta": {
2969 "coveralls": {
2970 "optional": true
2971 },
2972 "flow-remove-types": {
2973 "optional": true
2974 },
2975 "ts-node": {
2976 "optional": true
2977 },
2978 "typescript": {
2979 "optional": true
2980 }
2981 }
2982 },
2983 "node_modules/tap-mocha-reporter": {
2984 "version": "5.0.3",
2985 "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-5.0.3.tgz",
2986 "integrity": "sha512-6zlGkaV4J+XMRFkN0X+yuw6xHbE9jyCZ3WUKfw4KxMyRGOpYSRuuQTRJyWX88WWuLdVTuFbxzwXhXuS2XE6o0g==",
2987 "dev": true,
2988 "dependencies": {
2989 "color-support": "^1.1.0",
2990 "debug": "^4.1.1",
2991 "diff": "^4.0.1",
2992 "escape-string-regexp": "^2.0.0",
2993 "glob": "^7.0.5",
2994 "tap-parser": "^11.0.0",
2995 "tap-yaml": "^1.0.0",
2996 "unicode-length": "^2.0.2"
2997 },
2998 "bin": {
2999 "tap-mocha-reporter": "index.js"
3000 },
3001 "engines": {
3002 "node": ">= 8"
3003 }
3004 },
3005 "node_modules/tap-mocha-reporter/node_modules/escape-string-regexp": {
3006 "version": "2.0.0",
3007 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
3008 "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
3009 "dev": true,
3010 "engines": {
3011 "node": ">=8"
3012 }
3013 },
3014 "node_modules/tap-parser": {
3015 "version": "11.0.1",
3016 "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-11.0.1.tgz",
3017 "integrity": "sha512-5ow0oyFOnXVSALYdidMX94u0GEjIlgc/BPFYLx0yRh9hb8+cFGNJqJzDJlUqbLOwx8+NBrIbxCWkIQi7555c0w==",
3018 "dev": true,
3019 "dependencies": {
3020 "events-to-array": "^1.0.1",
3021 "minipass": "^3.1.6",
3022 "tap-yaml": "^1.0.0"
3023 },
3024 "bin": {
3025 "tap-parser": "bin/cmd.js"
3026 },
3027 "engines": {
3028 "node": ">= 8"
3029 }
3030 },
3031 "node_modules/tap-yaml": {
3032 "version": "1.0.0",
3033 "resolved": "https://registry.npmjs.org/tap-yaml/-/tap-yaml-1.0.0.tgz",
3034 "integrity": "sha512-Rxbx4EnrWkYk0/ztcm5u3/VznbyFJpyXO12dDBHKWiDVxy7O2Qw6MRrwO5H6Ww0U5YhRY/4C/VzWmFPhBQc4qQ==",
3035 "dev": true,
3036 "dependencies": {
3037 "yaml": "^1.5.0"
3038 }
3039 },
3040 "node_modules/tap/node_modules/@ampproject/remapping": {
3041 "version": "2.1.2",
3042 "dev": true,
3043 "inBundle": true,
3044 "license": "Apache-2.0",
3045 "dependencies": {
3046 "@jridgewell/trace-mapping": "^0.3.0"
3047 },
3048 "engines": {
3049 "node": ">=6.0.0"
3050 }
3051 },
3052 "node_modules/tap/node_modules/@babel/code-frame": {
3053 "version": "7.16.7",
3054 "dev": true,
3055 "inBundle": true,
3056 "license": "MIT",
3057 "dependencies": {
3058 "@babel/highlight": "^7.16.7"
3059 },
3060 "engines": {
3061 "node": ">=6.9.0"
3062 }
3063 },
3064 "node_modules/tap/node_modules/@babel/compat-data": {
3065 "version": "7.17.7",
3066 "dev": true,
3067 "inBundle": true,
3068 "license": "MIT",
3069 "engines": {
3070 "node": ">=6.9.0"
3071 }
3072 },
3073 "node_modules/tap/node_modules/@babel/core": {
3074 "version": "7.17.8",
3075 "dev": true,
3076 "inBundle": true,
3077 "license": "MIT",
3078 "dependencies": {
3079 "@ampproject/remapping": "^2.1.0",
3080 "@babel/code-frame": "^7.16.7",
3081 "@babel/generator": "^7.17.7",
3082 "@babel/helper-compilation-targets": "^7.17.7",
3083 "@babel/helper-module-transforms": "^7.17.7",
3084 "@babel/helpers": "^7.17.8",
3085 "@babel/parser": "^7.17.8",
3086 "@babel/template": "^7.16.7",
3087 "@babel/traverse": "^7.17.3",
3088 "@babel/types": "^7.17.0",
3089 "convert-source-map": "^1.7.0",
3090 "debug": "^4.1.0",
3091 "gensync": "^1.0.0-beta.2",
3092 "json5": "^2.1.2",
3093 "semver": "^6.3.0"
3094 },
3095 "engines": {
3096 "node": ">=6.9.0"
3097 },
3098 "funding": {
3099 "type": "opencollective",
3100 "url": "https://opencollective.com/babel"
3101 }
3102 },
3103 "node_modules/tap/node_modules/@babel/generator": {
3104 "version": "7.17.7",
3105 "dev": true,
3106 "inBundle": true,
3107 "license": "MIT",
3108 "dependencies": {
3109 "@babel/types": "^7.17.0",
3110 "jsesc": "^2.5.1",
3111 "source-map": "^0.5.0"
3112 },
3113 "engines": {
3114 "node": ">=6.9.0"
3115 }
3116 },
3117 "node_modules/tap/node_modules/@babel/helper-annotate-as-pure": {
3118 "version": "7.16.7",
3119 "dev": true,
3120 "inBundle": true,
3121 "license": "MIT",
3122 "dependencies": {
3123 "@babel/types": "^7.16.7"
3124 },
3125 "engines": {
3126 "node": ">=6.9.0"
3127 }
3128 },
3129 "node_modules/tap/node_modules/@babel/helper-compilation-targets": {
3130 "version": "7.17.7",
3131 "dev": true,
3132 "inBundle": true,
3133 "license": "MIT",
3134 "dependencies": {
3135 "@babel/compat-data": "^7.17.7",
3136 "@babel/helper-validator-option": "^7.16.7",
3137 "browserslist": "^4.17.5",
3138 "semver": "^6.3.0"
3139 },
3140 "engines": {
3141 "node": ">=6.9.0"
3142 },
3143 "peerDependencies": {
3144 "@babel/core": "^7.0.0"
3145 }
3146 },
3147 "node_modules/tap/node_modules/@babel/helper-environment-visitor": {
3148 "version": "7.16.7",
3149 "dev": true,
3150 "inBundle": true,
3151 "license": "MIT",
3152 "dependencies": {
3153 "@babel/types": "^7.16.7"
3154 },
3155 "engines": {
3156 "node": ">=6.9.0"
3157 }
3158 },
3159 "node_modules/tap/node_modules/@babel/helper-function-name": {
3160 "version": "7.16.7",
3161 "dev": true,
3162 "inBundle": true,
3163 "license": "MIT",
3164 "dependencies": {
3165 "@babel/helper-get-function-arity": "^7.16.7",
3166 "@babel/template": "^7.16.7",
3167 "@babel/types": "^7.16.7"
3168 },
3169 "engines": {
3170 "node": ">=6.9.0"
3171 }
3172 },
3173 "node_modules/tap/node_modules/@babel/helper-get-function-arity": {
3174 "version": "7.16.7",
3175 "dev": true,
3176 "inBundle": true,
3177 "license": "MIT",
3178 "dependencies": {
3179 "@babel/types": "^7.16.7"
3180 },
3181 "engines": {
3182 "node": ">=6.9.0"
3183 }
3184 },
3185 "node_modules/tap/node_modules/@babel/helper-hoist-variables": {
3186 "version": "7.16.7",
3187 "dev": true,
3188 "inBundle": true,
3189 "license": "MIT",
3190 "dependencies": {
3191 "@babel/types": "^7.16.7"
3192 },
3193 "engines": {
3194 "node": ">=6.9.0"
3195 }
3196 },
3197 "node_modules/tap/node_modules/@babel/helper-module-imports": {
3198 "version": "7.16.7",
3199 "dev": true,
3200 "inBundle": true,
3201 "license": "MIT",
3202 "dependencies": {
3203 "@babel/types": "^7.16.7"
3204 },
3205 "engines": {
3206 "node": ">=6.9.0"
3207 }
3208 },
3209 "node_modules/tap/node_modules/@babel/helper-module-transforms": {
3210 "version": "7.17.7",
3211 "dev": true,
3212 "inBundle": true,
3213 "license": "MIT",
3214 "dependencies": {
3215 "@babel/helper-environment-visitor": "^7.16.7",
3216 "@babel/helper-module-imports": "^7.16.7",
3217 "@babel/helper-simple-access": "^7.17.7",
3218 "@babel/helper-split-export-declaration": "^7.16.7",
3219 "@babel/helper-validator-identifier": "^7.16.7",
3220 "@babel/template": "^7.16.7",
3221 "@babel/traverse": "^7.17.3",
3222 "@babel/types": "^7.17.0"
3223 },
3224 "engines": {
3225 "node": ">=6.9.0"
3226 }
3227 },
3228 "node_modules/tap/node_modules/@babel/helper-plugin-utils": {
3229 "version": "7.16.7",
3230 "dev": true,
3231 "inBundle": true,
3232 "license": "MIT",
3233 "engines": {
3234 "node": ">=6.9.0"
3235 }
3236 },
3237 "node_modules/tap/node_modules/@babel/helper-simple-access": {
3238 "version": "7.17.7",
3239 "dev": true,
3240 "inBundle": true,
3241 "license": "MIT",
3242 "dependencies": {
3243 "@babel/types": "^7.17.0"
3244 },
3245 "engines": {
3246 "node": ">=6.9.0"
3247 }
3248 },
3249 "node_modules/tap/node_modules/@babel/helper-split-export-declaration": {
3250 "version": "7.16.7",
3251 "dev": true,
3252 "inBundle": true,
3253 "license": "MIT",
3254 "dependencies": {
3255 "@babel/types": "^7.16.7"
3256 },
3257 "engines": {
3258 "node": ">=6.9.0"
3259 }
3260 },
3261 "node_modules/tap/node_modules/@babel/helper-validator-identifier": {
3262 "version": "7.16.7",
3263 "dev": true,
3264 "inBundle": true,
3265 "license": "MIT",
3266 "engines": {
3267 "node": ">=6.9.0"
3268 }
3269 },
3270 "node_modules/tap/node_modules/@babel/helper-validator-option": {
3271 "version": "7.16.7",
3272 "dev": true,
3273 "inBundle": true,
3274 "license": "MIT",
3275 "engines": {
3276 "node": ">=6.9.0"
3277 }
3278 },
3279 "node_modules/tap/node_modules/@babel/helpers": {
3280 "version": "7.17.8",
3281 "dev": true,
3282 "inBundle": true,
3283 "license": "MIT",
3284 "dependencies": {
3285 "@babel/template": "^7.16.7",
3286 "@babel/traverse": "^7.17.3",
3287 "@babel/types": "^7.17.0"
3288 },
3289 "engines": {
3290 "node": ">=6.9.0"
3291 }
3292 },
3293 "node_modules/tap/node_modules/@babel/highlight": {
3294 "version": "7.16.10",
3295 "dev": true,
3296 "inBundle": true,
3297 "license": "MIT",
3298 "dependencies": {
3299 "@babel/helper-validator-identifier": "^7.16.7",
3300 "chalk": "^2.0.0",
3301 "js-tokens": "^4.0.0"
3302 },
3303 "engines": {
3304 "node": ">=6.9.0"
3305 }
3306 },
3307 "node_modules/tap/node_modules/@babel/parser": {
3308 "version": "7.17.8",
3309 "dev": true,
3310 "inBundle": true,
3311 "license": "MIT",
3312 "bin": {
3313 "parser": "bin/babel-parser.js"
3314 },
3315 "engines": {
3316 "node": ">=6.0.0"
3317 }
3318 },
3319 "node_modules/tap/node_modules/@babel/plugin-proposal-object-rest-spread": {
3320 "version": "7.17.3",
3321 "dev": true,
3322 "inBundle": true,
3323 "license": "MIT",
3324 "dependencies": {
3325 "@babel/compat-data": "^7.17.0",
3326 "@babel/helper-compilation-targets": "^7.16.7",
3327 "@babel/helper-plugin-utils": "^7.16.7",
3328 "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
3329 "@babel/plugin-transform-parameters": "^7.16.7"
3330 },
3331 "engines": {
3332 "node": ">=6.9.0"
3333 },
3334 "peerDependencies": {
3335 "@babel/core": "^7.0.0-0"
3336 }
3337 },
3338 "node_modules/tap/node_modules/@babel/plugin-syntax-jsx": {
3339 "version": "7.16.7",
3340 "dev": true,
3341 "inBundle": true,
3342 "license": "MIT",
3343 "dependencies": {
3344 "@babel/helper-plugin-utils": "^7.16.7"
3345 },
3346 "engines": {
3347 "node": ">=6.9.0"
3348 },
3349 "peerDependencies": {
3350 "@babel/core": "^7.0.0-0"
3351 }
3352 },
3353 "node_modules/tap/node_modules/@babel/plugin-syntax-object-rest-spread": {
3354 "version": "7.8.3",
3355 "dev": true,
3356 "inBundle": true,
3357 "license": "MIT",
3358 "dependencies": {
3359 "@babel/helper-plugin-utils": "^7.8.0"
3360 },
3361 "peerDependencies": {
3362 "@babel/core": "^7.0.0-0"
3363 }
3364 },
3365 "node_modules/tap/node_modules/@babel/plugin-transform-destructuring": {
3366 "version": "7.17.7",
3367 "dev": true,
3368 "inBundle": true,
3369 "license": "MIT",
3370 "dependencies": {
3371 "@babel/helper-plugin-utils": "^7.16.7"
3372 },
3373 "engines": {
3374 "node": ">=6.9.0"
3375 },
3376 "peerDependencies": {
3377 "@babel/core": "^7.0.0-0"
3378 }
3379 },
3380 "node_modules/tap/node_modules/@babel/plugin-transform-parameters": {
3381 "version": "7.16.7",
3382 "dev": true,
3383 "inBundle": true,
3384 "license": "MIT",
3385 "dependencies": {
3386 "@babel/helper-plugin-utils": "^7.16.7"
3387 },
3388 "engines": {
3389 "node": ">=6.9.0"
3390 },
3391 "peerDependencies": {
3392 "@babel/core": "^7.0.0-0"
3393 }
3394 },
3395 "node_modules/tap/node_modules/@babel/plugin-transform-react-jsx": {
3396 "version": "7.17.3",
3397 "dev": true,
3398 "inBundle": true,
3399 "license": "MIT",
3400 "dependencies": {
3401 "@babel/helper-annotate-as-pure": "^7.16.7",
3402 "@babel/helper-module-imports": "^7.16.7",
3403 "@babel/helper-plugin-utils": "^7.16.7",
3404 "@babel/plugin-syntax-jsx": "^7.16.7",
3405 "@babel/types": "^7.17.0"
3406 },
3407 "engines": {
3408 "node": ">=6.9.0"
3409 },
3410 "peerDependencies": {
3411 "@babel/core": "^7.0.0-0"
3412 }
3413 },
3414 "node_modules/tap/node_modules/@babel/template": {
3415 "version": "7.16.7",
3416 "dev": true,
3417 "inBundle": true,
3418 "license": "MIT",
3419 "dependencies": {
3420 "@babel/code-frame": "^7.16.7",
3421 "@babel/parser": "^7.16.7",
3422 "@babel/types": "^7.16.7"
3423 },
3424 "engines": {
3425 "node": ">=6.9.0"
3426 }
3427 },
3428 "node_modules/tap/node_modules/@babel/traverse": {
3429 "version": "7.17.3",
3430 "dev": true,
3431 "inBundle": true,
3432 "license": "MIT",
3433 "dependencies": {
3434 "@babel/code-frame": "^7.16.7",
3435 "@babel/generator": "^7.17.3",
3436 "@babel/helper-environment-visitor": "^7.16.7",
3437 "@babel/helper-function-name": "^7.16.7",
3438 "@babel/helper-hoist-variables": "^7.16.7",
3439 "@babel/helper-split-export-declaration": "^7.16.7",
3440 "@babel/parser": "^7.17.3",
3441 "@babel/types": "^7.17.0",
3442 "debug": "^4.1.0",
3443 "globals": "^11.1.0"
3444 },
3445 "engines": {
3446 "node": ">=6.9.0"
3447 }
3448 },
3449 "node_modules/tap/node_modules/@babel/types": {
3450 "version": "7.17.0",
3451 "dev": true,
3452 "inBundle": true,
3453 "license": "MIT",
3454 "dependencies": {
3455 "@babel/helper-validator-identifier": "^7.16.7",
3456 "to-fast-properties": "^2.0.0"
3457 },
3458 "engines": {
3459 "node": ">=6.9.0"
3460 }
3461 },
3462 "node_modules/tap/node_modules/@isaacs/import-jsx": {
3463 "version": "4.0.1",
3464 "dev": true,
3465 "inBundle": true,
3466 "license": "MIT",
3467 "dependencies": {
3468 "@babel/core": "^7.5.5",
3469 "@babel/plugin-proposal-object-rest-spread": "^7.5.5",
3470 "@babel/plugin-transform-destructuring": "^7.5.0",
3471 "@babel/plugin-transform-react-jsx": "^7.3.0",
3472 "caller-path": "^3.0.1",
3473 "find-cache-dir": "^3.2.0",
3474 "make-dir": "^3.0.2",
3475 "resolve-from": "^3.0.0",
3476 "rimraf": "^3.0.0"
3477 },
3478 "engines": {
3479 "node": ">=10"
3480 }
3481 },
3482 "node_modules/tap/node_modules/@jridgewell/resolve-uri": {
3483 "version": "3.0.5",
3484 "dev": true,
3485 "inBundle": true,
3486 "license": "MIT",
3487 "engines": {
3488 "node": ">=6.0.0"
3489 }
3490 },
3491 "node_modules/tap/node_modules/@jridgewell/sourcemap-codec": {
3492 "version": "1.4.11",
3493 "dev": true,
3494 "inBundle": true,
3495 "license": "MIT"
3496 },
3497 "node_modules/tap/node_modules/@jridgewell/trace-mapping": {
3498 "version": "0.3.4",
3499 "dev": true,
3500 "inBundle": true,
3501 "license": "MIT",
3502 "dependencies": {
3503 "@jridgewell/resolve-uri": "^3.0.3",
3504 "@jridgewell/sourcemap-codec": "^1.4.10"
3505 }
3506 },
3507 "node_modules/tap/node_modules/@types/prop-types": {
3508 "version": "15.7.4",
3509 "dev": true,
3510 "inBundle": true,
3511 "license": "MIT"
3512 },
3513 "node_modules/tap/node_modules/@types/react": {
3514 "version": "17.0.41",
3515 "dev": true,
3516 "inBundle": true,
3517 "license": "MIT",
3518 "dependencies": {
3519 "@types/prop-types": "*",
3520 "@types/scheduler": "*",
3521 "csstype": "^3.0.2"
3522 }
3523 },
3524 "node_modules/tap/node_modules/@types/scheduler": {
3525 "version": "0.16.2",
3526 "dev": true,
3527 "inBundle": true,
3528 "license": "MIT"
3529 },
3530 "node_modules/tap/node_modules/@types/yoga-layout": {
3531 "version": "1.9.2",
3532 "dev": true,
3533 "inBundle": true,
3534 "license": "MIT"
3535 },
3536 "node_modules/tap/node_modules/ansi-escapes": {
3537 "version": "4.3.2",
3538 "dev": true,
3539 "inBundle": true,
3540 "license": "MIT",
3541 "dependencies": {
3542 "type-fest": "^0.21.3"
3543 },
3544 "engines": {
3545 "node": ">=8"
3546 },
3547 "funding": {
3548 "url": "https://github.com/sponsors/sindresorhus"
3549 }
3550 },
3551 "node_modules/tap/node_modules/ansi-escapes/node_modules/type-fest": {
3552 "version": "0.21.3",
3553 "dev": true,
3554 "inBundle": true,
3555 "license": "(MIT OR CC0-1.0)",
3556 "engines": {
3557 "node": ">=10"
3558 },
3559 "funding": {
3560 "url": "https://github.com/sponsors/sindresorhus"
3561 }
3562 },
3563 "node_modules/tap/node_modules/ansi-regex": {
3564 "version": "5.0.1",
3565 "dev": true,
3566 "inBundle": true,
3567 "license": "MIT",
3568 "engines": {
3569 "node": ">=8"
3570 }
3571 },
3572 "node_modules/tap/node_modules/ansi-styles": {
3573 "version": "3.2.1",
3574 "dev": true,
3575 "inBundle": true,
3576 "license": "MIT",
3577 "dependencies": {
3578 "color-convert": "^1.9.0"
3579 },
3580 "engines": {
3581 "node": ">=4"
3582 }
3583 },
3584 "node_modules/tap/node_modules/ansicolors": {
3585 "version": "0.3.2",
3586 "dev": true,
3587 "inBundle": true,
3588 "license": "MIT"
3589 },
3590 "node_modules/tap/node_modules/astral-regex": {
3591 "version": "2.0.0",
3592 "dev": true,
3593 "inBundle": true,
3594 "license": "MIT",
3595 "engines": {
3596 "node": ">=8"
3597 }
3598 },
3599 "node_modules/tap/node_modules/auto-bind": {
3600 "version": "4.0.0",
3601 "dev": true,
3602 "inBundle": true,
3603 "license": "MIT",
3604 "engines": {
3605 "node": ">=8"
3606 },
3607 "funding": {
3608 "url": "https://github.com/sponsors/sindresorhus"
3609 }
3610 },
3611 "node_modules/tap/node_modules/balanced-match": {
3612 "version": "1.0.2",
3613 "dev": true,
3614 "inBundle": true,
3615 "license": "MIT"
3616 },
3617 "node_modules/tap/node_modules/brace-expansion": {
3618 "version": "1.1.11",
3619 "dev": true,
3620 "inBundle": true,
3621 "license": "MIT",
3622 "dependencies": {
3623 "balanced-match": "^1.0.0",
3624 "concat-map": "0.0.1"
3625 }
3626 },
3627 "node_modules/tap/node_modules/browserslist": {
3628 "version": "4.20.2",
3629 "dev": true,
3630 "funding": [
3631 {
3632 "type": "opencollective",
3633 "url": "https://opencollective.com/browserslist"
3634 },
3635 {
3636 "type": "tidelift",
3637 "url": "https://tidelift.com/funding/github/npm/browserslist"
3638 }
3639 ],
3640 "inBundle": true,
3641 "license": "MIT",
3642 "dependencies": {
3643 "caniuse-lite": "^1.0.30001317",
3644 "electron-to-chromium": "^1.4.84",
3645 "escalade": "^3.1.1",
3646 "node-releases": "^2.0.2",
3647 "picocolors": "^1.0.0"
3648 },
3649 "bin": {
3650 "browserslist": "cli.js"
3651 },
3652 "engines": {
3653 "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
3654 }
3655 },
3656 "node_modules/tap/node_modules/caller-callsite": {
3657 "version": "4.1.0",
3658 "dev": true,
3659 "inBundle": true,
3660 "license": "MIT",
3661 "dependencies": {
3662 "callsites": "^3.1.0"
3663 },
3664 "engines": {
3665 "node": ">=8"
3666 }
3667 },
3668 "node_modules/tap/node_modules/caller-path": {
3669 "version": "3.0.1",
3670 "dev": true,
3671 "inBundle": true,
3672 "license": "MIT",
3673 "dependencies": {
3674 "caller-callsite": "^4.1.0"
3675 },
3676 "engines": {
3677 "node": ">=8"
3678 }
3679 },
3680 "node_modules/tap/node_modules/callsites": {
3681 "version": "3.1.0",
3682 "dev": true,
3683 "inBundle": true,
3684 "license": "MIT",
3685 "engines": {
3686 "node": ">=6"
3687 }
3688 },
3689 "node_modules/tap/node_modules/caniuse-lite": {
3690 "version": "1.0.30001319",
3691 "dev": true,
3692 "funding": [
3693 {
3694 "type": "opencollective",
3695 "url": "https://opencollective.com/browserslist"
3696 },
3697 {
3698 "type": "tidelift",
3699 "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
3700 }
3701 ],
3702 "inBundle": true,
3703 "license": "CC-BY-4.0"
3704 },
3705 "node_modules/tap/node_modules/cardinal": {
3706 "version": "2.1.1",
3707 "dev": true,
3708 "inBundle": true,
3709 "license": "MIT",
3710 "dependencies": {
3711 "ansicolors": "~0.3.2",
3712 "redeyed": "~2.1.0"
3713 },
3714 "bin": {
3715 "cdl": "bin/cdl.js"
3716 }
3717 },
3718 "node_modules/tap/node_modules/chalk": {
3719 "version": "2.4.2",
3720 "dev": true,
3721 "inBundle": true,
3722 "license": "MIT",
3723 "dependencies": {
3724 "ansi-styles": "^3.2.1",
3725 "escape-string-regexp": "^1.0.5",
3726 "supports-color": "^5.3.0"
3727 },
3728 "engines": {
3729 "node": ">=4"
3730 }
3731 },
3732 "node_modules/tap/node_modules/ci-info": {
3733 "version": "2.0.0",
3734 "dev": true,
3735 "inBundle": true,
3736 "license": "MIT"
3737 },
3738 "node_modules/tap/node_modules/cli-boxes": {
3739 "version": "2.2.1",
3740 "dev": true,
3741 "inBundle": true,
3742 "license": "MIT",
3743 "engines": {
3744 "node": ">=6"
3745 },
3746 "funding": {
3747 "url": "https://github.com/sponsors/sindresorhus"
3748 }
3749 },
3750 "node_modules/tap/node_modules/cli-cursor": {
3751 "version": "3.1.0",
3752 "dev": true,
3753 "inBundle": true,
3754 "license": "MIT",
3755 "dependencies": {
3756 "restore-cursor": "^3.1.0"
3757 },
3758 "engines": {
3759 "node": ">=8"
3760 }
3761 },
3762 "node_modules/tap/node_modules/cli-truncate": {
3763 "version": "2.1.0",
3764 "dev": true,
3765 "inBundle": true,
3766 "license": "MIT",
3767 "dependencies": {
3768 "slice-ansi": "^3.0.0",
3769 "string-width": "^4.2.0"
3770 },
3771 "engines": {
3772 "node": ">=8"
3773 },
3774 "funding": {
3775 "url": "https://github.com/sponsors/sindresorhus"
3776 }
3777 },
3778 "node_modules/tap/node_modules/code-excerpt": {
3779 "version": "3.0.0",
3780 "dev": true,
3781 "inBundle": true,
3782 "license": "MIT",
3783 "dependencies": {
3784 "convert-to-spaces": "^1.0.1"
3785 },
3786 "engines": {
3787 "node": ">=10"
3788 }
3789 },
3790 "node_modules/tap/node_modules/color-convert": {
3791 "version": "1.9.3",
3792 "dev": true,
3793 "inBundle": true,
3794 "license": "MIT",
3795 "dependencies": {
3796 "color-name": "1.1.3"
3797 }
3798 },
3799 "node_modules/tap/node_modules/color-name": {
3800 "version": "1.1.3",
3801 "dev": true,
3802 "inBundle": true,
3803 "license": "MIT"
3804 },
3805 "node_modules/tap/node_modules/commondir": {
3806 "version": "1.0.1",
3807 "dev": true,
3808 "inBundle": true,
3809 "license": "MIT"
3810 },
3811 "node_modules/tap/node_modules/concat-map": {
3812 "version": "0.0.1",
3813 "dev": true,
3814 "inBundle": true,
3815 "license": "MIT"
3816 },
3817 "node_modules/tap/node_modules/convert-source-map": {
3818 "version": "1.8.0",
3819 "dev": true,
3820 "inBundle": true,
3821 "license": "MIT",
3822 "dependencies": {
3823 "safe-buffer": "~5.1.1"
3824 }
3825 },
3826 "node_modules/tap/node_modules/convert-to-spaces": {
3827 "version": "1.0.2",
3828 "dev": true,
3829 "inBundle": true,
3830 "license": "MIT",
3831 "engines": {
3832 "node": ">= 4"
3833 }
3834 },
3835 "node_modules/tap/node_modules/csstype": {
3836 "version": "3.0.11",
3837 "dev": true,
3838 "inBundle": true,
3839 "license": "MIT"
3840 },
3841 "node_modules/tap/node_modules/debug": {
3842 "version": "4.3.4",
3843 "dev": true,
3844 "inBundle": true,
3845 "license": "MIT",
3846 "dependencies": {
3847 "ms": "2.1.2"
3848 },
3849 "engines": {
3850 "node": ">=6.0"
3851 },
3852 "peerDependenciesMeta": {
3853 "supports-color": {
3854 "optional": true
3855 }
3856 }
3857 },
3858 "node_modules/tap/node_modules/electron-to-chromium": {
3859 "version": "1.4.89",
3860 "dev": true,
3861 "inBundle": true,
3862 "license": "ISC"
3863 },
3864 "node_modules/tap/node_modules/emoji-regex": {
3865 "version": "8.0.0",
3866 "dev": true,
3867 "inBundle": true,
3868 "license": "MIT"
3869 },
3870 "node_modules/tap/node_modules/escalade": {
3871 "version": "3.1.1",
3872 "dev": true,
3873 "inBundle": true,
3874 "license": "MIT",
3875 "engines": {
3876 "node": ">=6"
3877 }
3878 },
3879 "node_modules/tap/node_modules/escape-string-regexp": {
3880 "version": "1.0.5",
3881 "dev": true,
3882 "inBundle": true,
3883 "license": "MIT",
3884 "engines": {
3885 "node": ">=0.8.0"
3886 }
3887 },
3888 "node_modules/tap/node_modules/esprima": {
3889 "version": "4.0.1",
3890 "dev": true,
3891 "inBundle": true,
3892 "license": "BSD-2-Clause",
3893 "bin": {
3894 "esparse": "bin/esparse.js",
3895 "esvalidate": "bin/esvalidate.js"
3896 },
3897 "engines": {
3898 "node": ">=4"
3899 }
3900 },
3901 "node_modules/tap/node_modules/events-to-array": {
3902 "version": "1.1.2",
3903 "dev": true,
3904 "inBundle": true,
3905 "license": "ISC"
3906 },
3907 "node_modules/tap/node_modules/find-cache-dir": {
3908 "version": "3.3.2",
3909 "dev": true,
3910 "inBundle": true,
3911 "license": "MIT",
3912 "dependencies": {
3913 "commondir": "^1.0.1",
3914 "make-dir": "^3.0.2",
3915 "pkg-dir": "^4.1.0"
3916 },
3917 "engines": {
3918 "node": ">=8"
3919 },
3920 "funding": {
3921 "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
3922 }
3923 },
3924 "node_modules/tap/node_modules/find-up": {
3925 "version": "4.1.0",
3926 "dev": true,
3927 "inBundle": true,
3928 "license": "MIT",
3929 "dependencies": {
3930 "locate-path": "^5.0.0",
3931 "path-exists": "^4.0.0"
3932 },
3933 "engines": {
3934 "node": ">=8"
3935 }
3936 },
3937 "node_modules/tap/node_modules/fs.realpath": {
3938 "version": "1.0.0",
3939 "dev": true,
3940 "inBundle": true,
3941 "license": "ISC"
3942 },
3943 "node_modules/tap/node_modules/gensync": {
3944 "version": "1.0.0-beta.2",
3945 "dev": true,
3946 "inBundle": true,
3947 "license": "MIT",
3948 "engines": {
3949 "node": ">=6.9.0"
3950 }
3951 },
3952 "node_modules/tap/node_modules/glob": {
3953 "version": "7.2.0",
3954 "dev": true,
3955 "inBundle": true,
3956 "license": "ISC",
3957 "dependencies": {
3958 "fs.realpath": "^1.0.0",
3959 "inflight": "^1.0.4",
3960 "inherits": "2",
3961 "minimatch": "^3.0.4",
3962 "once": "^1.3.0",
3963 "path-is-absolute": "^1.0.0"
3964 },
3965 "engines": {
3966 "node": "*"
3967 },
3968 "funding": {
3969 "url": "https://github.com/sponsors/isaacs"
3970 }
3971 },
3972 "node_modules/tap/node_modules/globals": {
3973 "version": "11.12.0",
3974 "dev": true,
3975 "inBundle": true,
3976 "license": "MIT",
3977 "engines": {
3978 "node": ">=4"
3979 }
3980 },
3981 "node_modules/tap/node_modules/has-flag": {
3982 "version": "3.0.0",
3983 "dev": true,
3984 "inBundle": true,
3985 "license": "MIT",
3986 "engines": {
3987 "node": ">=4"
3988 }
3989 },
3990 "node_modules/tap/node_modules/indent-string": {
3991 "version": "4.0.0",
3992 "dev": true,
3993 "inBundle": true,
3994 "license": "MIT",
3995 "engines": {
3996 "node": ">=8"
3997 }
3998 },
3999 "node_modules/tap/node_modules/inflight": {
4000 "version": "1.0.6",
4001 "dev": true,
4002 "inBundle": true,
4003 "license": "ISC",
4004 "dependencies": {
4005 "once": "^1.3.0",
4006 "wrappy": "1"
4007 }
4008 },
4009 "node_modules/tap/node_modules/inherits": {
4010 "version": "2.0.4",
4011 "dev": true,
4012 "inBundle": true,
4013 "license": "ISC"
4014 },
4015 "node_modules/tap/node_modules/ink": {
4016 "version": "3.2.0",
4017 "dev": true,
4018 "inBundle": true,
4019 "license": "MIT",
4020 "dependencies": {
4021 "ansi-escapes": "^4.2.1",
4022 "auto-bind": "4.0.0",
4023 "chalk": "^4.1.0",
4024 "cli-boxes": "^2.2.0",
4025 "cli-cursor": "^3.1.0",
4026 "cli-truncate": "^2.1.0",
4027 "code-excerpt": "^3.0.0",
4028 "indent-string": "^4.0.0",
4029 "is-ci": "^2.0.0",
4030 "lodash": "^4.17.20",
4031 "patch-console": "^1.0.0",
4032 "react-devtools-core": "^4.19.1",
4033 "react-reconciler": "^0.26.2",
4034 "scheduler": "^0.20.2",
4035 "signal-exit": "^3.0.2",
4036 "slice-ansi": "^3.0.0",
4037 "stack-utils": "^2.0.2",
4038 "string-width": "^4.2.2",
4039 "type-fest": "^0.12.0",
4040 "widest-line": "^3.1.0",
4041 "wrap-ansi": "^6.2.0",
4042 "ws": "^7.5.5",
4043 "yoga-layout-prebuilt": "^1.9.6"
4044 },
4045 "engines": {
4046 "node": ">=10"
4047 },
4048 "peerDependencies": {
4049 "@types/react": ">=16.8.0",
4050 "react": ">=16.8.0"
4051 },
4052 "peerDependenciesMeta": {
4053 "@types/react": {
4054 "optional": true
4055 }
4056 }
4057 },
4058 "node_modules/tap/node_modules/ink/node_modules/ansi-styles": {
4059 "version": "4.3.0",
4060 "dev": true,
4061 "inBundle": true,
4062 "license": "MIT",
4063 "dependencies": {
4064 "color-convert": "^2.0.1"
4065 },
4066 "engines": {
4067 "node": ">=8"
4068 },
4069 "funding": {
4070 "url": "https://github.com/chalk/ansi-styles?sponsor=1"
4071 }
4072 },
4073 "node_modules/tap/node_modules/ink/node_modules/chalk": {
4074 "version": "4.1.2",
4075 "dev": true,
4076 "inBundle": true,
4077 "license": "MIT",
4078 "dependencies": {
4079 "ansi-styles": "^4.1.0",
4080 "supports-color": "^7.1.0"
4081 },
4082 "engines": {
4083 "node": ">=10"
4084 },
4085 "funding": {
4086 "url": "https://github.com/chalk/chalk?sponsor=1"
4087 }
4088 },
4089 "node_modules/tap/node_modules/ink/node_modules/color-convert": {
4090 "version": "2.0.1",
4091 "dev": true,
4092 "inBundle": true,
4093 "license": "MIT",
4094 "dependencies": {
4095 "color-name": "~1.1.4"
4096 },
4097 "engines": {
4098 "node": ">=7.0.0"
4099 }
4100 },
4101 "node_modules/tap/node_modules/ink/node_modules/color-name": {
4102 "version": "1.1.4",
4103 "dev": true,
4104 "inBundle": true,
4105 "license": "MIT"
4106 },
4107 "node_modules/tap/node_modules/ink/node_modules/has-flag": {
4108 "version": "4.0.0",
4109 "dev": true,
4110 "inBundle": true,
4111 "license": "MIT",
4112 "engines": {
4113 "node": ">=8"
4114 }
4115 },
4116 "node_modules/tap/node_modules/ink/node_modules/supports-color": {
4117 "version": "7.2.0",
4118 "dev": true,
4119 "inBundle": true,
4120 "license": "MIT",
4121 "dependencies": {
4122 "has-flag": "^4.0.0"
4123 },
4124 "engines": {
4125 "node": ">=8"
4126 }
4127 },
4128 "node_modules/tap/node_modules/is-ci": {
4129 "version": "2.0.0",
4130 "dev": true,
4131 "inBundle": true,
4132 "license": "MIT",
4133 "dependencies": {
4134 "ci-info": "^2.0.0"
4135 },
4136 "bin": {
4137 "is-ci": "bin.js"
4138 }
4139 },
4140 "node_modules/tap/node_modules/is-fullwidth-code-point": {
4141 "version": "3.0.0",
4142 "dev": true,
4143 "inBundle": true,
4144 "license": "MIT",
4145 "engines": {
4146 "node": ">=8"
4147 }
4148 },
4149 "node_modules/tap/node_modules/js-tokens": {
4150 "version": "4.0.0",
4151 "dev": true,
4152 "inBundle": true,
4153 "license": "MIT"
4154 },
4155 "node_modules/tap/node_modules/jsesc": {
4156 "version": "2.5.2",
4157 "dev": true,
4158 "inBundle": true,
4159 "license": "MIT",
4160 "bin": {
4161 "jsesc": "bin/jsesc"
4162 },
4163 "engines": {
4164 "node": ">=4"
4165 }
4166 },
4167 "node_modules/tap/node_modules/json5": {
4168 "version": "2.2.1",
4169 "dev": true,
4170 "inBundle": true,
4171 "license": "MIT",
4172 "bin": {
4173 "json5": "lib/cli.js"
4174 },
4175 "engines": {
4176 "node": ">=6"
4177 }
4178 },
4179 "node_modules/tap/node_modules/locate-path": {
4180 "version": "5.0.0",
4181 "dev": true,
4182 "inBundle": true,
4183 "license": "MIT",
4184 "dependencies": {
4185 "p-locate": "^4.1.0"
4186 },
4187 "engines": {
4188 "node": ">=8"
4189 }
4190 },
4191 "node_modules/tap/node_modules/lodash": {
4192 "version": "4.17.21",
4193 "dev": true,
4194 "inBundle": true,
4195 "license": "MIT"
4196 },
4197 "node_modules/tap/node_modules/loose-envify": {
4198 "version": "1.4.0",
4199 "dev": true,
4200 "inBundle": true,
4201 "license": "MIT",
4202 "dependencies": {
4203 "js-tokens": "^3.0.0 || ^4.0.0"
4204 },
4205 "bin": {
4206 "loose-envify": "cli.js"
4207 }
4208 },
4209 "node_modules/tap/node_modules/make-dir": {
4210 "version": "3.1.0",
4211 "dev": true,
4212 "inBundle": true,
4213 "license": "MIT",
4214 "dependencies": {
4215 "semver": "^6.0.0"
4216 },
4217 "engines": {
4218 "node": ">=8"
4219 },
4220 "funding": {
4221 "url": "https://github.com/sponsors/sindresorhus"
4222 }
4223 },
4224 "node_modules/tap/node_modules/mimic-fn": {
4225 "version": "2.1.0",
4226 "dev": true,
4227 "inBundle": true,
4228 "license": "MIT",
4229 "engines": {
4230 "node": ">=6"
4231 }
4232 },
4233 "node_modules/tap/node_modules/minimatch": {
4234 "version": "3.1.2",
4235 "dev": true,
4236 "inBundle": true,
4237 "license": "ISC",
4238 "dependencies": {
4239 "brace-expansion": "^1.1.7"
4240 },
4241 "engines": {
4242 "node": "*"
4243 }
4244 },
4245 "node_modules/tap/node_modules/minipass": {
4246 "version": "3.1.6",
4247 "dev": true,
4248 "inBundle": true,
4249 "license": "ISC",
4250 "dependencies": {
4251 "yallist": "^4.0.0"
4252 },
4253 "engines": {
4254 "node": ">=8"
4255 }
4256 },
4257 "node_modules/tap/node_modules/mkdirp": {
4258 "version": "1.0.4",
4259 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
4260 "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
4261 "dev": true,
4262 "bin": {
4263 "mkdirp": "bin/cmd.js"
4264 },
4265 "engines": {
4266 "node": ">=10"
4267 }
4268 },
4269 "node_modules/tap/node_modules/ms": {
4270 "version": "2.1.2",
4271 "dev": true,
4272 "inBundle": true,
4273 "license": "MIT"
4274 },
4275 "node_modules/tap/node_modules/node-releases": {
4276 "version": "2.0.2",
4277 "dev": true,
4278 "inBundle": true,
4279 "license": "MIT"
4280 },
4281 "node_modules/tap/node_modules/object-assign": {
4282 "version": "4.1.1",
4283 "dev": true,
4284 "inBundle": true,
4285 "license": "MIT",
4286 "engines": {
4287 "node": ">=0.10.0"
4288 }
4289 },
4290 "node_modules/tap/node_modules/once": {
4291 "version": "1.4.0",
4292 "dev": true,
4293 "inBundle": true,
4294 "license": "ISC",
4295 "dependencies": {
4296 "wrappy": "1"
4297 }
4298 },
4299 "node_modules/tap/node_modules/onetime": {
4300 "version": "5.1.2",
4301 "dev": true,
4302 "inBundle": true,
4303 "license": "MIT",
4304 "dependencies": {
4305 "mimic-fn": "^2.1.0"
4306 },
4307 "engines": {
4308 "node": ">=6"
4309 },
4310 "funding": {
4311 "url": "https://github.com/sponsors/sindresorhus"
4312 }
4313 },
4314 "node_modules/tap/node_modules/p-limit": {
4315 "version": "2.3.0",
4316 "dev": true,
4317 "inBundle": true,
4318 "license": "MIT",
4319 "dependencies": {
4320 "p-try": "^2.0.0"
4321 },
4322 "engines": {
4323 "node": ">=6"
4324 },
4325 "funding": {
4326 "url": "https://github.com/sponsors/sindresorhus"
4327 }
4328 },
4329 "node_modules/tap/node_modules/p-locate": {
4330 "version": "4.1.0",
4331 "dev": true,
4332 "inBundle": true,
4333 "license": "MIT",
4334 "dependencies": {
4335 "p-limit": "^2.2.0"
4336 },
4337 "engines": {
4338 "node": ">=8"
4339 }
4340 },
4341 "node_modules/tap/node_modules/p-try": {
4342 "version": "2.2.0",
4343 "dev": true,
4344 "inBundle": true,
4345 "license": "MIT",
4346 "engines": {
4347 "node": ">=6"
4348 }
4349 },
4350 "node_modules/tap/node_modules/patch-console": {
4351 "version": "1.0.0",
4352 "dev": true,
4353 "inBundle": true,
4354 "license": "MIT",
4355 "engines": {
4356 "node": ">=10"
4357 }
4358 },
4359 "node_modules/tap/node_modules/path-exists": {
4360 "version": "4.0.0",
4361 "dev": true,
4362 "inBundle": true,
4363 "license": "MIT",
4364 "engines": {
4365 "node": ">=8"
4366 }
4367 },
4368 "node_modules/tap/node_modules/path-is-absolute": {
4369 "version": "1.0.1",
4370 "dev": true,
4371 "inBundle": true,
4372 "license": "MIT",
4373 "engines": {
4374 "node": ">=0.10.0"
4375 }
4376 },
4377 "node_modules/tap/node_modules/picocolors": {
4378 "version": "1.0.0",
4379 "dev": true,
4380 "inBundle": true,
4381 "license": "ISC"
4382 },
4383 "node_modules/tap/node_modules/pkg-dir": {
4384 "version": "4.2.0",
4385 "dev": true,
4386 "inBundle": true,
4387 "license": "MIT",
4388 "dependencies": {
4389 "find-up": "^4.0.0"
4390 },
4391 "engines": {
4392 "node": ">=8"
4393 }
4394 },
4395 "node_modules/tap/node_modules/punycode": {
4396 "version": "2.1.1",
4397 "dev": true,
4398 "inBundle": true,
4399 "license": "MIT",
4400 "engines": {
4401 "node": ">=6"
4402 }
4403 },
4404 "node_modules/tap/node_modules/react": {
4405 "version": "17.0.2",
4406 "dev": true,
4407 "inBundle": true,
4408 "license": "MIT",
4409 "dependencies": {
4410 "loose-envify": "^1.1.0",
4411 "object-assign": "^4.1.1"
4412 },
4413 "engines": {
4414 "node": ">=0.10.0"
4415 }
4416 },
4417 "node_modules/tap/node_modules/react-devtools-core": {
4418 "version": "4.24.1",
4419 "dev": true,
4420 "inBundle": true,
4421 "license": "MIT",
4422 "dependencies": {
4423 "shell-quote": "^1.6.1",
4424 "ws": "^7"
4425 }
4426 },
4427 "node_modules/tap/node_modules/react-reconciler": {
4428 "version": "0.26.2",
4429 "dev": true,
4430 "inBundle": true,
4431 "license": "MIT",
4432 "dependencies": {
4433 "loose-envify": "^1.1.0",
4434 "object-assign": "^4.1.1",
4435 "scheduler": "^0.20.2"
4436 },
4437 "engines": {
4438 "node": ">=0.10.0"
4439 },
4440 "peerDependencies": {
4441 "react": "^17.0.2"
4442 }
4443 },
4444 "node_modules/tap/node_modules/redeyed": {
4445 "version": "2.1.1",
4446 "dev": true,
4447 "inBundle": true,
4448 "license": "MIT",
4449 "dependencies": {
4450 "esprima": "~4.0.0"
4451 }
4452 },
4453 "node_modules/tap/node_modules/resolve-from": {
4454 "version": "3.0.0",
4455 "dev": true,
4456 "inBundle": true,
4457 "license": "MIT",
4458 "engines": {
4459 "node": ">=4"
4460 }
4461 },
4462 "node_modules/tap/node_modules/restore-cursor": {
4463 "version": "3.1.0",
4464 "dev": true,
4465 "inBundle": true,
4466 "license": "MIT",
4467 "dependencies": {
4468 "onetime": "^5.1.0",
4469 "signal-exit": "^3.0.2"
4470 },
4471 "engines": {
4472 "node": ">=8"
4473 }
4474 },
4475 "node_modules/tap/node_modules/rimraf": {
4476 "version": "3.0.2",
4477 "dev": true,
4478 "inBundle": true,
4479 "license": "ISC",
4480 "dependencies": {
4481 "glob": "^7.1.3"
4482 },
4483 "bin": {
4484 "rimraf": "bin.js"
4485 },
4486 "funding": {
4487 "url": "https://github.com/sponsors/isaacs"
4488 }
4489 },
4490 "node_modules/tap/node_modules/safe-buffer": {
4491 "version": "5.1.2",
4492 "dev": true,
4493 "inBundle": true,
4494 "license": "MIT"
4495 },
4496 "node_modules/tap/node_modules/scheduler": {
4497 "version": "0.20.2",
4498 "dev": true,
4499 "inBundle": true,
4500 "license": "MIT",
4501 "dependencies": {
4502 "loose-envify": "^1.1.0",
4503 "object-assign": "^4.1.1"
4504 }
4505 },
4506 "node_modules/tap/node_modules/semver": {
4507 "version": "6.3.0",
4508 "dev": true,
4509 "inBundle": true,
4510 "license": "ISC",
4511 "bin": {
4512 "semver": "bin/semver.js"
4513 }
4514 },
4515 "node_modules/tap/node_modules/shell-quote": {
4516 "version": "1.7.3",
4517 "dev": true,
4518 "inBundle": true,
4519 "license": "MIT"
4520 },
4521 "node_modules/tap/node_modules/signal-exit": {
4522 "version": "3.0.7",
4523 "dev": true,
4524 "inBundle": true,
4525 "license": "ISC"
4526 },
4527 "node_modules/tap/node_modules/slice-ansi": {
4528 "version": "3.0.0",
4529 "dev": true,
4530 "inBundle": true,
4531 "license": "MIT",
4532 "dependencies": {
4533 "ansi-styles": "^4.0.0",
4534 "astral-regex": "^2.0.0",
4535 "is-fullwidth-code-point": "^3.0.0"
4536 },
4537 "engines": {
4538 "node": ">=8"
4539 }
4540 },
4541 "node_modules/tap/node_modules/slice-ansi/node_modules/ansi-styles": {
4542 "version": "4.3.0",
4543 "dev": true,
4544 "inBundle": true,
4545 "license": "MIT",
4546 "dependencies": {
4547 "color-convert": "^2.0.1"
4548 },
4549 "engines": {
4550 "node": ">=8"
4551 },
4552 "funding": {
4553 "url": "https://github.com/chalk/ansi-styles?sponsor=1"
4554 }
4555 },
4556 "node_modules/tap/node_modules/slice-ansi/node_modules/color-convert": {
4557 "version": "2.0.1",
4558 "dev": true,
4559 "inBundle": true,
4560 "license": "MIT",
4561 "dependencies": {
4562 "color-name": "~1.1.4"
4563 },
4564 "engines": {
4565 "node": ">=7.0.0"
4566 }
4567 },
4568 "node_modules/tap/node_modules/slice-ansi/node_modules/color-name": {
4569 "version": "1.1.4",
4570 "dev": true,
4571 "inBundle": true,
4572 "license": "MIT"
4573 },
4574 "node_modules/tap/node_modules/source-map": {
4575 "version": "0.5.7",
4576 "dev": true,
4577 "inBundle": true,
4578 "license": "BSD-3-Clause",
4579 "engines": {
4580 "node": ">=0.10.0"
4581 }
4582 },
4583 "node_modules/tap/node_modules/stack-utils": {
4584 "version": "2.0.5",
4585 "dev": true,
4586 "inBundle": true,
4587 "license": "MIT",
4588 "dependencies": {
4589 "escape-string-regexp": "^2.0.0"
4590 },
4591 "engines": {
4592 "node": ">=10"
4593 }
4594 },
4595 "node_modules/tap/node_modules/stack-utils/node_modules/escape-string-regexp": {
4596 "version": "2.0.0",
4597 "dev": true,
4598 "inBundle": true,
4599 "license": "MIT",
4600 "engines": {
4601 "node": ">=8"
4602 }
4603 },
4604 "node_modules/tap/node_modules/string-width": {
4605 "version": "4.2.3",
4606 "dev": true,
4607 "inBundle": true,
4608 "license": "MIT",
4609 "dependencies": {
4610 "emoji-regex": "^8.0.0",
4611 "is-fullwidth-code-point": "^3.0.0",
4612 "strip-ansi": "^6.0.1"
4613 },
4614 "engines": {
4615 "node": ">=8"
4616 }
4617 },
4618 "node_modules/tap/node_modules/strip-ansi": {
4619 "version": "6.0.1",
4620 "dev": true,
4621 "inBundle": true,
4622 "license": "MIT",
4623 "dependencies": {
4624 "ansi-regex": "^5.0.1"
4625 },
4626 "engines": {
4627 "node": ">=8"
4628 }
4629 },
4630 "node_modules/tap/node_modules/supports-color": {
4631 "version": "5.5.0",
4632 "dev": true,
4633 "inBundle": true,
4634 "license": "MIT",
4635 "dependencies": {
4636 "has-flag": "^3.0.0"
4637 },
4638 "engines": {
4639 "node": ">=4"
4640 }
4641 },
4642 "node_modules/tap/node_modules/tap-parser": {
4643 "version": "11.0.1",
4644 "dev": true,
4645 "inBundle": true,
4646 "license": "MIT",
4647 "dependencies": {
4648 "events-to-array": "^1.0.1",
4649 "minipass": "^3.1.6",
4650 "tap-yaml": "^1.0.0"
4651 },
4652 "bin": {
4653 "tap-parser": "bin/cmd.js"
4654 },
4655 "engines": {
4656 "node": ">= 8"
4657 }
4658 },
4659 "node_modules/tap/node_modules/tap-yaml": {
4660 "version": "1.0.0",
4661 "dev": true,
4662 "inBundle": true,
4663 "license": "ISC",
4664 "dependencies": {
4665 "yaml": "^1.5.0"
4666 }
4667 },
4668 "node_modules/tap/node_modules/to-fast-properties": {
4669 "version": "2.0.0",
4670 "dev": true,
4671 "inBundle": true,
4672 "license": "MIT",
4673 "engines": {
4674 "node": ">=4"
4675 }
4676 },
4677 "node_modules/tap/node_modules/treport": {
4678 "version": "3.0.3",
4679 "dev": true,
4680 "inBundle": true,
4681 "license": "ISC",
4682 "dependencies": {
4683 "@isaacs/import-jsx": "^4.0.1",
4684 "cardinal": "^2.1.1",
4685 "chalk": "^3.0.0",
4686 "ink": "^3.2.0",
4687 "ms": "^2.1.2",
4688 "tap-parser": "^11.0.0",
4689 "unicode-length": "^2.0.2"
4690 },
4691 "peerDependencies": {
4692 "react": "^17.0.2"
4693 }
4694 },
4695 "node_modules/tap/node_modules/treport/node_modules/ansi-styles": {
4696 "version": "4.3.0",
4697 "dev": true,
4698 "inBundle": true,
4699 "license": "MIT",
4700 "dependencies": {
4701 "color-convert": "^2.0.1"
4702 },
4703 "engines": {
4704 "node": ">=8"
4705 },
4706 "funding": {
4707 "url": "https://github.com/chalk/ansi-styles?sponsor=1"
4708 }
4709 },
4710 "node_modules/tap/node_modules/treport/node_modules/chalk": {
4711 "version": "3.0.0",
4712 "dev": true,
4713 "inBundle": true,
4714 "license": "MIT",
4715 "dependencies": {
4716 "ansi-styles": "^4.1.0",
4717 "supports-color": "^7.1.0"
4718 },
4719 "engines": {
4720 "node": ">=8"
4721 }
4722 },
4723 "node_modules/tap/node_modules/treport/node_modules/color-convert": {
4724 "version": "2.0.1",
4725 "dev": true,
4726 "inBundle": true,
4727 "license": "MIT",
4728 "dependencies": {
4729 "color-name": "~1.1.4"
4730 },
4731 "engines": {
4732 "node": ">=7.0.0"
4733 }
4734 },
4735 "node_modules/tap/node_modules/treport/node_modules/color-name": {
4736 "version": "1.1.4",
4737 "dev": true,
4738 "inBundle": true,
4739 "license": "MIT"
4740 },
4741 "node_modules/tap/node_modules/treport/node_modules/has-flag": {
4742 "version": "4.0.0",
4743 "dev": true,
4744 "inBundle": true,
4745 "license": "MIT",
4746 "engines": {
4747 "node": ">=8"
4748 }
4749 },
4750 "node_modules/tap/node_modules/treport/node_modules/supports-color": {
4751 "version": "7.2.0",
4752 "dev": true,
4753 "inBundle": true,
4754 "license": "MIT",
4755 "dependencies": {
4756 "has-flag": "^4.0.0"
4757 },
4758 "engines": {
4759 "node": ">=8"
4760 }
4761 },
4762 "node_modules/tap/node_modules/type-fest": {
4763 "version": "0.12.0",
4764 "dev": true,
4765 "inBundle": true,
4766 "license": "(MIT OR CC0-1.0)",
4767 "engines": {
4768 "node": ">=10"
4769 },
4770 "funding": {
4771 "url": "https://github.com/sponsors/sindresorhus"
4772 }
4773 },
4774 "node_modules/tap/node_modules/unicode-length": {
4775 "version": "2.0.2",
4776 "dev": true,
4777 "inBundle": true,
4778 "license": "MIT",
4779 "dependencies": {
4780 "punycode": "^2.0.0",
4781 "strip-ansi": "^3.0.1"
4782 }
4783 },
4784 "node_modules/tap/node_modules/unicode-length/node_modules/ansi-regex": {
4785 "version": "2.1.1",
4786 "dev": true,
4787 "inBundle": true,
4788 "license": "MIT",
4789 "engines": {
4790 "node": ">=0.10.0"
4791 }
4792 },
4793 "node_modules/tap/node_modules/unicode-length/node_modules/strip-ansi": {
4794 "version": "3.0.1",
4795 "dev": true,
4796 "inBundle": true,
4797 "license": "MIT",
4798 "dependencies": {
4799 "ansi-regex": "^2.0.0"
4800 },
4801 "engines": {
4802 "node": ">=0.10.0"
4803 }
4804 },
4805 "node_modules/tap/node_modules/which": {
4806 "version": "2.0.2",
4807 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
4808 "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
4809 "dev": true,
4810 "dependencies": {
4811 "isexe": "^2.0.0"
4812 },
4813 "bin": {
4814 "node-which": "bin/node-which"
4815 },
4816 "engines": {
4817 "node": ">= 8"
4818 }
4819 },
4820 "node_modules/tap/node_modules/widest-line": {
4821 "version": "3.1.0",
4822 "dev": true,
4823 "inBundle": true,
4824 "license": "MIT",
4825 "dependencies": {
4826 "string-width": "^4.0.0"
4827 },
4828 "engines": {
4829 "node": ">=8"
4830 }
4831 },
4832 "node_modules/tap/node_modules/wrap-ansi": {
4833 "version": "6.2.0",
4834 "dev": true,
4835 "inBundle": true,
4836 "license": "MIT",
4837 "dependencies": {
4838 "ansi-styles": "^4.0.0",
4839 "string-width": "^4.1.0",
4840 "strip-ansi": "^6.0.0"
4841 },
4842 "engines": {
4843 "node": ">=8"
4844 }
4845 },
4846 "node_modules/tap/node_modules/wrap-ansi/node_modules/ansi-styles": {
4847 "version": "4.3.0",
4848 "dev": true,
4849 "inBundle": true,
4850 "license": "MIT",
4851 "dependencies": {
4852 "color-convert": "^2.0.1"
4853 },
4854 "engines": {
4855 "node": ">=8"
4856 },
4857 "funding": {
4858 "url": "https://github.com/chalk/ansi-styles?sponsor=1"
4859 }
4860 },
4861 "node_modules/tap/node_modules/wrap-ansi/node_modules/color-convert": {
4862 "version": "2.0.1",
4863 "dev": true,
4864 "inBundle": true,
4865 "license": "MIT",
4866 "dependencies": {
4867 "color-name": "~1.1.4"
4868 },
4869 "engines": {
4870 "node": ">=7.0.0"
4871 }
4872 },
4873 "node_modules/tap/node_modules/wrap-ansi/node_modules/color-name": {
4874 "version": "1.1.4",
4875 "dev": true,
4876 "inBundle": true,
4877 "license": "MIT"
4878 },
4879 "node_modules/tap/node_modules/wrappy": {
4880 "version": "1.0.2",
4881 "dev": true,
4882 "inBundle": true,
4883 "license": "ISC"
4884 },
4885 "node_modules/tap/node_modules/ws": {
4886 "version": "7.5.7",
4887 "dev": true,
4888 "inBundle": true,
4889 "license": "MIT",
4890 "engines": {
4891 "node": ">=8.3.0"
4892 },
4893 "peerDependencies": {
4894 "bufferutil": "^4.0.1",
4895 "utf-8-validate": "^5.0.2"
4896 },
4897 "peerDependenciesMeta": {
4898 "bufferutil": {
4899 "optional": true
4900 },
4901 "utf-8-validate": {
4902 "optional": true
4903 }
4904 }
4905 },
4906 "node_modules/tap/node_modules/yallist": {
4907 "version": "4.0.0",
4908 "dev": true,
4909 "inBundle": true,
4910 "license": "ISC"
4911 },
4912 "node_modules/tap/node_modules/yaml": {
4913 "version": "1.10.2",
4914 "dev": true,
4915 "inBundle": true,
4916 "license": "ISC",
4917 "engines": {
4918 "node": ">= 6"
4919 }
4920 },
4921 "node_modules/tap/node_modules/yoga-layout-prebuilt": {
4922 "version": "1.10.0",
4923 "dev": true,
4924 "inBundle": true,
4925 "license": "MIT",
4926 "dependencies": {
4927 "@types/yoga-layout": "1.9.2"
4928 },
4929 "engines": {
4930 "node": ">=8"
4931 }
4932 },
4933 "node_modules/tcompare": {
4934 "version": "5.0.7",
4935 "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-5.0.7.tgz",
4936 "integrity": "sha512-d9iddt6YYGgyxJw5bjsN7UJUO1kGOtjSlNy/4PoGYAjQS5pAT/hzIoLf1bZCw+uUxRmZJh7Yy1aA7xKVRT9B4w==",
4937 "dev": true,
4938 "dependencies": {
4939 "diff": "^4.0.2"
4940 },
4941 "engines": {
4942 "node": ">=10"
4943 }
4944 },
4945 "node_modules/test-exclude": {
4946 "version": "6.0.0",
4947 "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
4948 "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
4949 "dev": true,
4950 "dependencies": {
4951 "@istanbuljs/schema": "^0.1.2",
4952 "glob": "^7.1.4",
4953 "minimatch": "^3.0.4"
4954 },
4955 "engines": {
4956 "node": ">=8"
4957 }
4958 },
1268 "node_modules/text-table": {
4959 "node_modules/text-table": {
1269 "version": "0.2.0",
4960 "version": "0.2.0",
1270 "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
4961 "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -1289,6 +4980,33
1289 "node": ">=0.6.0"
4980 "node": ">=0.6.0"
1290 }
4981 }
1291 },
4982 },
4983 "node_modules/to-fast-properties": {
4984 "version": "2.0.0",
4985 "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
4986 "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
4987 "dev": true,
4988 "engines": {
4989 "node": ">=4"
4990 }
4991 },
4992 "node_modules/to-regex-range": {
4993 "version": "5.0.1",
4994 "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
4995 "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
4996 "dev": true,
4997 "dependencies": {
4998 "is-number": "^7.0.0"
4999 },
5000 "engines": {
5001 "node": ">=8.0"
5002 }
5003 },
5004 "node_modules/trivial-deferred": {
5005 "version": "1.0.1",
5006 "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz",
5007 "integrity": "sha512-dagAKX7vaesNNAwOc9Np9C2mJ+7YopF4lk+jE2JML9ta4kZ91Y6UruJNH65bLRYoUROD8EY+Pmi44qQWwXR7sw==",
5008 "dev": true
5009 },
1292 "node_modules/tslib": {
5010 "node_modules/tslib": {
1293 "version": "1.10.0",
5011 "version": "1.10.0",
1294 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
5012 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
@@ -1367,10 +5085,19
1367 "node": ">=8"
5085 "node": ">=8"
1368 }
5086 }
1369 },
5087 },
5088 "node_modules/typedarray-to-buffer": {
5089 "version": "3.1.5",
5090 "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
5091 "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
5092 "dev": true,
5093 "dependencies": {
5094 "is-typedarray": "^1.0.0"
5095 }
5096 },
1370 "node_modules/typescript": {
5097 "node_modules/typescript": {
1371 "version": "4.2.4",
5098 "version": "4.8.2",
1372 "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz",
5099 "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.2.tgz",
1373 "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==",
5100 "integrity": "sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==",
1374 "dev": true,
5101 "dev": true,
1375 "bin": {
5102 "bin": {
1376 "tsc": "bin/tsc",
5103 "tsc": "bin/tsc",
@@ -1380,6 +5107,41
1380 "node": ">=4.2.0"
5107 "node": ">=4.2.0"
1381 }
5108 }
1382 },
5109 },
5110 "node_modules/unicode-length": {
5111 "version": "2.1.0",
5112 "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-2.1.0.tgz",
5113 "integrity": "sha512-4bV582zTV9Q02RXBxSUMiuN/KHo5w4aTojuKTNT96DIKps/SIawFp7cS5Mu25VuY1AioGXrmYyzKZUzh8OqoUw==",
5114 "dev": true,
5115 "dependencies": {
5116 "punycode": "^2.0.0"
5117 }
5118 },
5119 "node_modules/update-browserslist-db": {
5120 "version": "1.0.7",
5121 "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz",
5122 "integrity": "sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg==",
5123 "dev": true,
5124 "funding": [
5125 {
5126 "type": "opencollective",
5127 "url": "https://opencollective.com/browserslist"
5128 },
5129 {
5130 "type": "tidelift",
5131 "url": "https://tidelift.com/funding/github/npm/browserslist"
5132 }
5133 ],
5134 "dependencies": {
5135 "escalade": "^3.1.1",
5136 "picocolors": "^1.0.0"
5137 },
5138 "bin": {
5139 "browserslist-lint": "cli.js"
5140 },
5141 "peerDependencies": {
5142 "browserslist": ">= 4.21.0"
5143 }
5144 },
1383 "node_modules/uri-js": {
5145 "node_modules/uri-js": {
1384 "version": "4.2.2",
5146 "version": "4.2.2",
1385 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
5147 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
@@ -1389,6 +5151,15
1389 "punycode": "^2.1.0"
5151 "punycode": "^2.1.0"
1390 }
5152 }
1391 },
5153 },
5154 "node_modules/uuid": {
5155 "version": "8.3.2",
5156 "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
5157 "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
5158 "dev": true,
5159 "bin": {
5160 "uuid": "dist/bin/uuid"
5161 }
5162 },
1392 "node_modules/v8-compile-cache": {
5163 "node_modules/v8-compile-cache": {
1393 "version": "2.1.0",
5164 "version": "2.1.0",
1394 "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
5165 "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
@@ -1407,6 +5178,12
1407 "which": "bin/which"
5178 "which": "bin/which"
1408 }
5179 }
1409 },
5180 },
5181 "node_modules/which-module": {
5182 "version": "2.0.0",
5183 "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
5184 "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==",
5185 "dev": true
5186 },
1410 "node_modules/word-wrap": {
5187 "node_modules/word-wrap": {
1411 "version": "1.2.3",
5188 "version": "1.2.3",
1412 "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
5189 "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
@@ -1416,6 +5193,68
1416 "node": ">=0.10.0"
5193 "node": ">=0.10.0"
1417 }
5194 }
1418 },
5195 },
5196 "node_modules/wrap-ansi": {
5197 "version": "7.0.0",
5198 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
5199 "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
5200 "dev": true,
5201 "dependencies": {
5202 "ansi-styles": "^4.0.0",
5203 "string-width": "^4.1.0",
5204 "strip-ansi": "^6.0.0"
5205 },
5206 "engines": {
5207 "node": ">=10"
5208 },
5209 "funding": {
5210 "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
5211 }
5212 },
5213 "node_modules/wrap-ansi/node_modules/ansi-styles": {
5214 "version": "4.3.0",
5215 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
5216 "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
5217 "dev": true,
5218 "dependencies": {
5219 "color-convert": "^2.0.1"
5220 },
5221 "engines": {
5222 "node": ">=8"
5223 },
5224 "funding": {
5225 "url": "https://github.com/chalk/ansi-styles?sponsor=1"
5226 }
5227 },
5228 "node_modules/wrap-ansi/node_modules/color-convert": {
5229 "version": "2.0.1",
5230 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
5231 "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
5232 "dev": true,
5233 "dependencies": {
5234 "color-name": "~1.1.4"
5235 },
5236 "engines": {
5237 "node": ">=7.0.0"
5238 }
5239 },
5240 "node_modules/wrap-ansi/node_modules/color-name": {
5241 "version": "1.1.4",
5242 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
5243 "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
5244 "dev": true
5245 },
5246 "node_modules/wrap-ansi/node_modules/strip-ansi": {
5247 "version": "6.0.1",
5248 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
5249 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
5250 "dev": true,
5251 "dependencies": {
5252 "ansi-regex": "^5.0.1"
5253 },
5254 "engines": {
5255 "node": ">=8"
5256 }
5257 },
1419 "node_modules/wrappy": {
5258 "node_modules/wrappy": {
1420 "version": "1.0.2",
5259 "version": "1.0.2",
1421 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
5260 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
@@ -1434,6 +5273,30
1434 "node": ">=4"
5273 "node": ">=4"
1435 }
5274 }
1436 },
5275 },
5276 "node_modules/write-file-atomic": {
5277 "version": "3.0.3",
5278 "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
5279 "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
5280 "dev": true,
5281 "dependencies": {
5282 "imurmurhash": "^0.1.4",
5283 "is-typedarray": "^1.0.0",
5284 "signal-exit": "^3.0.2",
5285 "typedarray-to-buffer": "^3.1.5"
5286 }
5287 },
5288 "node_modules/y18n": {
5289 "version": "4.0.3",
5290 "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
5291 "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
5292 "dev": true
5293 },
5294 "node_modules/yallist": {
5295 "version": "4.0.0",
5296 "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
5297 "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
5298 "dev": true
5299 },
1437 "node_modules/yaml": {
5300 "node_modules/yaml": {
1438 "version": "1.7.2",
5301 "version": "1.7.2",
1439 "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz",
5302 "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz",
@@ -1445,29 +5308,312
1445 "engines": {
5308 "engines": {
1446 "node": ">= 6"
5309 "node": ">= 6"
1447 }
5310 }
1448 }
5311 },
1449 },
5312 "node_modules/yargs": {
1450 "dependencies": {
5313 "version": "15.4.1",
5314 "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
5315 "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
5316 "dev": true,
5317 "dependencies": {
5318 "cliui": "^6.0.0",
5319 "decamelize": "^1.2.0",
5320 "find-up": "^4.1.0",
5321 "get-caller-file": "^2.0.1",
5322 "require-directory": "^2.1.1",
5323 "require-main-filename": "^2.0.0",
5324 "set-blocking": "^2.0.0",
5325 "string-width": "^4.2.0",
5326 "which-module": "^2.0.0",
5327 "y18n": "^4.0.0",
5328 "yargs-parser": "^18.1.2"
5329 },
5330 "engines": {
5331 "node": ">=8"
5332 }
5333 },
5334 "node_modules/yargs-parser": {
5335 "version": "18.1.3",
5336 "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
5337 "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
5338 "dev": true,
5339 "dependencies": {
5340 "camelcase": "^5.0.0",
5341 "decamelize": "^1.2.0"
5342 },
5343 "engines": {
5344 "node": ">=6"
5345 }
5346 },
5347 "node_modules/yargs/node_modules/ansi-styles": {
5348 "version": "4.3.0",
5349 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
5350 "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
5351 "dev": true,
5352 "dependencies": {
5353 "color-convert": "^2.0.1"
5354 },
5355 "engines": {
5356 "node": ">=8"
5357 },
5358 "funding": {
5359 "url": "https://github.com/chalk/ansi-styles?sponsor=1"
5360 }
5361 },
5362 "node_modules/yargs/node_modules/cliui": {
5363 "version": "6.0.0",
5364 "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
5365 "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
5366 "dev": true,
5367 "dependencies": {
5368 "string-width": "^4.2.0",
5369 "strip-ansi": "^6.0.0",
5370 "wrap-ansi": "^6.2.0"
5371 }
5372 },
5373 "node_modules/yargs/node_modules/color-convert": {
5374 "version": "2.0.1",
5375 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
5376 "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
5377 "dev": true,
5378 "dependencies": {
5379 "color-name": "~1.1.4"
5380 },
5381 "engines": {
5382 "node": ">=7.0.0"
5383 }
5384 },
5385 "node_modules/yargs/node_modules/color-name": {
5386 "version": "1.1.4",
5387 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
5388 "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
5389 "dev": true
5390 },
5391 "node_modules/yargs/node_modules/strip-ansi": {
5392 "version": "6.0.1",
5393 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
5394 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
5395 "dev": true,
5396 "dependencies": {
5397 "ansi-regex": "^5.0.1"
5398 },
5399 "engines": {
5400 "node": ">=8"
5401 }
5402 },
5403 "node_modules/yargs/node_modules/wrap-ansi": {
5404 "version": "6.2.0",
5405 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
5406 "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
5407 "dev": true,
5408 "dependencies": {
5409 "ansi-styles": "^4.0.0",
5410 "string-width": "^4.1.0",
5411 "strip-ansi": "^6.0.0"
5412 },
5413 "engines": {
5414 "node": ">=8"
5415 }
5416 }
5417 },
5418 "dependencies": {
5419 "@ampproject/remapping": {
5420 "version": "2.2.0",
5421 "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
5422 "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
5423 "dev": true,
5424 "requires": {
5425 "@jridgewell/gen-mapping": "^0.1.0",
5426 "@jridgewell/trace-mapping": "^0.3.9"
5427 }
5428 },
1451 "@babel/code-frame": {
5429 "@babel/code-frame": {
1452 "version": "7.8.3",
5430 "version": "7.18.6",
1453 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
5431 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
1454 "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
5432 "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
1455 "dev": true,
5433 "dev": true,
1456 "requires": {
5434 "requires": {
1457 "@babel/highlight": "^7.8.3"
5435 "@babel/highlight": "^7.18.6"
5436 }
5437 },
5438 "@babel/compat-data": {
5439 "version": "7.19.0",
5440 "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.0.tgz",
5441 "integrity": "sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw==",
5442 "dev": true
5443 },
5444 "@babel/core": {
5445 "version": "7.19.0",
5446 "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.0.tgz",
5447 "integrity": "sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ==",
5448 "dev": true,
5449 "requires": {
5450 "@ampproject/remapping": "^2.1.0",
5451 "@babel/code-frame": "^7.18.6",
5452 "@babel/generator": "^7.19.0",
5453 "@babel/helper-compilation-targets": "^7.19.0",
5454 "@babel/helper-module-transforms": "^7.19.0",
5455 "@babel/helpers": "^7.19.0",
5456 "@babel/parser": "^7.19.0",
5457 "@babel/template": "^7.18.10",
5458 "@babel/traverse": "^7.19.0",
5459 "@babel/types": "^7.19.0",
5460 "convert-source-map": "^1.7.0",
5461 "debug": "^4.1.0",
5462 "gensync": "^1.0.0-beta.2",
5463 "json5": "^2.2.1",
5464 "semver": "^6.3.0"
5465 }
5466 },
5467 "@babel/generator": {
5468 "version": "7.19.0",
5469 "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.0.tgz",
5470 "integrity": "sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg==",
5471 "dev": true,
5472 "requires": {
5473 "@babel/types": "^7.19.0",
5474 "@jridgewell/gen-mapping": "^0.3.2",
5475 "jsesc": "^2.5.1"
5476 },
5477 "dependencies": {
5478 "@jridgewell/gen-mapping": {
5479 "version": "0.3.2",
5480 "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
5481 "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
5482 "dev": true,
5483 "requires": {
5484 "@jridgewell/set-array": "^1.0.1",
5485 "@jridgewell/sourcemap-codec": "^1.4.10",
5486 "@jridgewell/trace-mapping": "^0.3.9"
5487 }
5488 }
5489 }
5490 },
5491 "@babel/helper-compilation-targets": {
5492 "version": "7.19.0",
5493 "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz",
5494 "integrity": "sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA==",
5495 "dev": true,
5496 "requires": {
5497 "@babel/compat-data": "^7.19.0",
5498 "@babel/helper-validator-option": "^7.18.6",
5499 "browserslist": "^4.20.2",
5500 "semver": "^6.3.0"
5501 }
5502 },
5503 "@babel/helper-environment-visitor": {
5504 "version": "7.18.9",
5505 "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
5506 "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
5507 "dev": true
5508 },
5509 "@babel/helper-function-name": {
5510 "version": "7.19.0",
5511 "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
5512 "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
5513 "dev": true,
5514 "requires": {
5515 "@babel/template": "^7.18.10",
5516 "@babel/types": "^7.19.0"
5517 }
5518 },
5519 "@babel/helper-hoist-variables": {
5520 "version": "7.18.6",
5521 "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
5522 "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
5523 "dev": true,
5524 "requires": {
5525 "@babel/types": "^7.18.6"
5526 }
5527 },
5528 "@babel/helper-module-imports": {
5529 "version": "7.18.6",
5530 "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
5531 "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
5532 "dev": true,
5533 "requires": {
5534 "@babel/types": "^7.18.6"
5535 }
5536 },
5537 "@babel/helper-module-transforms": {
5538 "version": "7.19.0",
5539 "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz",
5540 "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==",
5541 "dev": true,
5542 "requires": {
5543 "@babel/helper-environment-visitor": "^7.18.9",
5544 "@babel/helper-module-imports": "^7.18.6",
5545 "@babel/helper-simple-access": "^7.18.6",
5546 "@babel/helper-split-export-declaration": "^7.18.6",
5547 "@babel/helper-validator-identifier": "^7.18.6",
5548 "@babel/template": "^7.18.10",
5549 "@babel/traverse": "^7.19.0",
5550 "@babel/types": "^7.19.0"
5551 }
5552 },
5553 "@babel/helper-simple-access": {
5554 "version": "7.18.6",
5555 "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz",
5556 "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==",
5557 "dev": true,
5558 "requires": {
5559 "@babel/types": "^7.18.6"
5560 }
5561 },
5562 "@babel/helper-split-export-declaration": {
5563 "version": "7.18.6",
5564 "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
5565 "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
5566 "dev": true,
5567 "requires": {
5568 "@babel/types": "^7.18.6"
5569 }
5570 },
5571 "@babel/helper-string-parser": {
5572 "version": "7.18.10",
5573 "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz",
5574 "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==",
5575 "dev": true
5576 },
5577 "@babel/helper-validator-identifier": {
5578 "version": "7.18.6",
5579 "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
5580 "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==",
5581 "dev": true
5582 },
5583 "@babel/helper-validator-option": {
5584 "version": "7.18.6",
5585 "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
5586 "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
5587 "dev": true
5588 },
5589 "@babel/helpers": {
5590 "version": "7.19.0",
5591 "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz",
5592 "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==",
5593 "dev": true,
5594 "requires": {
5595 "@babel/template": "^7.18.10",
5596 "@babel/traverse": "^7.19.0",
5597 "@babel/types": "^7.19.0"
1458 }
5598 }
1459 },
5599 },
1460 "@babel/highlight": {
5600 "@babel/highlight": {
1461 "version": "7.8.3",
5601 "version": "7.18.6",
1462 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
5602 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
1463 "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
5603 "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
1464 "dev": true,
5604 "dev": true,
1465 "requires": {
5605 "requires": {
5606 "@babel/helper-validator-identifier": "^7.18.6",
1466 "chalk": "^2.0.0",
5607 "chalk": "^2.0.0",
1467 "esutils": "^2.0.2",
1468 "js-tokens": "^4.0.0"
5608 "js-tokens": "^4.0.0"
1469 }
5609 }
1470 },
5610 },
5611 "@babel/parser": {
5612 "version": "7.19.0",
5613 "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz",
5614 "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==",
5615 "dev": true
5616 },
1471 "@babel/runtime": {
5617 "@babel/runtime": {
1472 "version": "7.8.3",
5618 "version": "7.8.3",
1473 "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz",
5619 "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz",
@@ -1477,6 +5623,54
1477 "regenerator-runtime": "^0.13.2"
5623 "regenerator-runtime": "^0.13.2"
1478 }
5624 }
1479 },
5625 },
5626 "@babel/template": {
5627 "version": "7.18.10",
5628 "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
5629 "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
5630 "dev": true,
5631 "requires": {
5632 "@babel/code-frame": "^7.18.6",
5633 "@babel/parser": "^7.18.10",
5634 "@babel/types": "^7.18.10"
5635 }
5636 },
5637 "@babel/traverse": {
5638 "version": "7.19.0",
5639 "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.0.tgz",
5640 "integrity": "sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA==",
5641 "dev": true,
5642 "requires": {
5643 "@babel/code-frame": "^7.18.6",
5644 "@babel/generator": "^7.19.0",
5645 "@babel/helper-environment-visitor": "^7.18.9",
5646 "@babel/helper-function-name": "^7.19.0",
5647 "@babel/helper-hoist-variables": "^7.18.6",
5648 "@babel/helper-split-export-declaration": "^7.18.6",
5649 "@babel/parser": "^7.19.0",
5650 "@babel/types": "^7.19.0",
5651 "debug": "^4.1.0",
5652 "globals": "^11.1.0"
5653 },
5654 "dependencies": {
5655 "globals": {
5656 "version": "11.12.0",
5657 "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
5658 "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
5659 "dev": true
5660 }
5661 }
5662 },
5663 "@babel/types": {
5664 "version": "7.19.0",
5665 "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz",
5666 "integrity": "sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==",
5667 "dev": true,
5668 "requires": {
5669 "@babel/helper-string-parser": "^7.18.10",
5670 "@babel/helper-validator-identifier": "^7.18.6",
5671 "to-fast-properties": "^2.0.0"
5672 }
5673 },
1480 "@implab/core-amd": {
5674 "@implab/core-amd": {
1481 "version": "1.4.0",
5675 "version": "1.4.0",
1482 "resolved": "https://registry.npmjs.org/@implab/core-amd/-/core-amd-1.4.0.tgz",
5676 "resolved": "https://registry.npmjs.org/@implab/core-amd/-/core-amd-1.4.0.tgz",
@@ -1489,18 +5683,98
1489 "integrity": "sha512-B2kvlKJgvyIQAl/k1pVyNmtp4ADvBDCs4Lw/qfBC+Sz/ft4c7EuRXmN/+2dhWrd6A5SMjEgex5oeq6Ja2ntrig==",
5683 "integrity": "sha512-B2kvlKJgvyIQAl/k1pVyNmtp4ADvBDCs4Lw/qfBC+Sz/ft4c7EuRXmN/+2dhWrd6A5SMjEgex5oeq6Ja2ntrig==",
1490 "dev": true
5684 "dev": true
1491 },
5685 },
5686 "@istanbuljs/load-nyc-config": {
5687 "version": "1.1.0",
5688 "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
5689 "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
5690 "dev": true,
5691 "requires": {
5692 "camelcase": "^5.3.1",
5693 "find-up": "^4.1.0",
5694 "get-package-type": "^0.1.0",
5695 "js-yaml": "^3.13.1",
5696 "resolve-from": "^5.0.0"
5697 },
5698 "dependencies": {
5699 "resolve-from": {
5700 "version": "5.0.0",
5701 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
5702 "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
5703 "dev": true
5704 }
5705 }
5706 },
5707 "@istanbuljs/schema": {
5708 "version": "0.1.3",
5709 "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
5710 "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
5711 "dev": true
5712 },
5713 "@jridgewell/gen-mapping": {
5714 "version": "0.1.1",
5715 "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
5716 "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
5717 "dev": true,
5718 "requires": {
5719 "@jridgewell/set-array": "^1.0.0",
5720 "@jridgewell/sourcemap-codec": "^1.4.10"
5721 }
5722 },
5723 "@jridgewell/resolve-uri": {
5724 "version": "3.1.0",
5725 "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
5726 "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
5727 "dev": true
5728 },
5729 "@jridgewell/set-array": {
5730 "version": "1.1.2",
5731 "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
5732 "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
5733 "dev": true
5734 },
5735 "@jridgewell/sourcemap-codec": {
5736 "version": "1.4.14",
5737 "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
5738 "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
5739 "dev": true
5740 },
5741 "@jridgewell/trace-mapping": {
5742 "version": "0.3.15",
5743 "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz",
5744 "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==",
5745 "dev": true,
5746 "requires": {
5747 "@jridgewell/resolve-uri": "^3.0.3",
5748 "@jridgewell/sourcemap-codec": "^1.4.10"
5749 }
5750 },
1492 "@types/chai": {
5751 "@types/chai": {
1493 "version": "4.1.3",
5752 "version": "4.1.3",
1494 "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.3.tgz",
5753 "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.3.tgz",
1495 "integrity": "sha512-f5dXGzOJycyzSMdaXVhiBhauL4dYydXwVpavfQ1mVCaGjR56a9QfklXObUxlIY9bGTmCPHEEZ04I16BZ/8w5ww==",
5754 "integrity": "sha512-f5dXGzOJycyzSMdaXVhiBhauL4dYydXwVpavfQ1mVCaGjR56a9QfklXObUxlIY9bGTmCPHEEZ04I16BZ/8w5ww==",
1496 "dev": true
5755 "dev": true
1497 },
5756 },
5757 "@types/node": {
5758 "version": "18.7.15",
5759 "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.15.tgz",
5760 "integrity": "sha512-XnjpaI8Bgc3eBag2Aw4t2Uj/49lLBSStHWfqKvIuXD7FIrZyMLWp8KuAFHAqxMZYTF9l08N1ctUn9YNybZJVmQ==",
5761 "dev": true
5762 },
1498 "@types/requirejs": {
5763 "@types/requirejs": {
1499 "version": "2.1.31",
5764 "version": "2.1.31",
1500 "resolved": "https://registry.npmjs.org/@types/requirejs/-/requirejs-2.1.31.tgz",
5765 "resolved": "https://registry.npmjs.org/@types/requirejs/-/requirejs-2.1.31.tgz",
1501 "integrity": "sha512-b2soeyuU76rMbcRJ4e0hEl0tbMhFwZeTC0VZnfuWlfGlk6BwWNsev6kFu/twKABPX29wkX84wU2o+cEJoXsiTw==",
5766 "integrity": "sha512-b2soeyuU76rMbcRJ4e0hEl0tbMhFwZeTC0VZnfuWlfGlk6BwWNsev6kFu/twKABPX29wkX84wU2o+cEJoXsiTw==",
1502 "dev": true
5767 "dev": true
1503 },
5768 },
5769 "@types/tap": {
5770 "version": "15.0.7",
5771 "resolved": "https://registry.npmjs.org/@types/tap/-/tap-15.0.7.tgz",
5772 "integrity": "sha512-TTMajw4gxQfFgYbhXhy/Tb2OiNcwS+4oP/9yp1/GdU0pFJo3wtnkYhRgmQy39ksh+rnoa0VrPHJ4Tuv2cLNQ5A==",
5773 "dev": true,
5774 "requires": {
5775 "@types/node": "*"
5776 }
5777 },
1504 "@types/yaml": {
5778 "@types/yaml": {
1505 "version": "1.2.0",
5779 "version": "1.2.0",
1506 "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.2.0.tgz",
5780 "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.2.0.tgz",
@@ -1519,6 +5793,16
1519 "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
5793 "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
1520 "dev": true
5794 "dev": true
1521 },
5795 },
5796 "aggregate-error": {
5797 "version": "3.1.0",
5798 "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
5799 "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
5800 "dev": true,
5801 "requires": {
5802 "clean-stack": "^2.0.0",
5803 "indent-string": "^4.0.0"
5804 }
5805 },
1522 "ajv": {
5806 "ajv": {
1523 "version": "6.11.0",
5807 "version": "6.11.0",
1524 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz",
5808 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz",
@@ -1541,9 +5825,9
1541 }
5825 }
1542 },
5826 },
1543 "ansi-regex": {
5827 "ansi-regex": {
1544 "version": "5.0.0",
5828 "version": "5.0.1",
1545 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
5829 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
1546 "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
5830 "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
1547 "dev": true
5831 "dev": true
1548 },
5832 },
1549 "ansi-styles": {
5833 "ansi-styles": {
@@ -1555,6 +5839,31
1555 "color-convert": "^1.9.0"
5839 "color-convert": "^1.9.0"
1556 }
5840 }
1557 },
5841 },
5842 "anymatch": {
5843 "version": "3.1.2",
5844 "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
5845 "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
5846 "dev": true,
5847 "requires": {
5848 "normalize-path": "^3.0.0",
5849 "picomatch": "^2.0.4"
5850 }
5851 },
5852 "append-transform": {
5853 "version": "2.0.0",
5854 "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz",
5855 "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==",
5856 "dev": true,
5857 "requires": {
5858 "default-require-extensions": "^3.0.0"
5859 }
5860 },
5861 "archy": {
5862 "version": "1.0.0",
5863 "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
5864 "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==",
5865 "dev": true
5866 },
1558 "argparse": {
5867 "argparse": {
1559 "version": "1.0.10",
5868 "version": "1.0.10",
1560 "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
5869 "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
@@ -1570,12 +5879,30
1570 "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
5879 "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
1571 "dev": true
5880 "dev": true
1572 },
5881 },
5882 "async-hook-domain": {
5883 "version": "2.0.4",
5884 "resolved": "https://registry.npmjs.org/async-hook-domain/-/async-hook-domain-2.0.4.tgz",
5885 "integrity": "sha512-14LjCmlK1PK8eDtTezR6WX8TMaYNIzBIsd2D1sGoGjgx0BuNMMoSdk7i/drlbtamy0AWv9yv2tkB+ASdmeqFIw==",
5886 "dev": true
5887 },
1573 "balanced-match": {
5888 "balanced-match": {
1574 "version": "1.0.0",
5889 "version": "1.0.0",
1575 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
5890 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
1576 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
5891 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
1577 "dev": true
5892 "dev": true
1578 },
5893 },
5894 "binary-extensions": {
5895 "version": "2.2.0",
5896 "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
5897 "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
5898 "dev": true
5899 },
5900 "bind-obj-methods": {
5901 "version": "3.0.0",
5902 "resolved": "https://registry.npmjs.org/bind-obj-methods/-/bind-obj-methods-3.0.0.tgz",
5903 "integrity": "sha512-nLEaaz3/sEzNSyPWRsN9HNsqwk1AUyECtGj+XwGdIi3xABnEqecvXtIJ0wehQXuuER5uZ/5fTs2usONgYjG+iw==",
5904 "dev": true
5905 },
1579 "brace-expansion": {
5906 "brace-expansion": {
1580 "version": "1.1.11",
5907 "version": "1.1.11",
1581 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
5908 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -1586,18 +5913,69
1586 "concat-map": "0.0.1"
5913 "concat-map": "0.0.1"
1587 }
5914 }
1588 },
5915 },
5916 "braces": {
5917 "version": "3.0.2",
5918 "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
5919 "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
5920 "dev": true,
5921 "requires": {
5922 "fill-range": "^7.0.1"
5923 }
5924 },
5925 "browserslist": {
5926 "version": "4.21.3",
5927 "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz",
5928 "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==",
5929 "dev": true,
5930 "requires": {
5931 "caniuse-lite": "^1.0.30001370",
5932 "electron-to-chromium": "^1.4.202",
5933 "node-releases": "^2.0.6",
5934 "update-browserslist-db": "^1.0.5"
5935 }
5936 },
5937 "buffer-from": {
5938 "version": "1.1.2",
5939 "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
5940 "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
5941 "dev": true
5942 },
1589 "builtin-modules": {
5943 "builtin-modules": {
1590 "version": "1.1.1",
5944 "version": "1.1.1",
1591 "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
5945 "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
1592 "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
5946 "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
1593 "dev": true
5947 "dev": true
1594 },
5948 },
5949 "caching-transform": {
5950 "version": "4.0.0",
5951 "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz",
5952 "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==",
5953 "dev": true,
5954 "requires": {
5955 "hasha": "^5.0.0",
5956 "make-dir": "^3.0.0",
5957 "package-hash": "^4.0.0",
5958 "write-file-atomic": "^3.0.0"
5959 }
5960 },
1595 "callsites": {
5961 "callsites": {
1596 "version": "3.1.0",
5962 "version": "3.1.0",
1597 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
5963 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
1598 "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
5964 "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
1599 "dev": true
5965 "dev": true
1600 },
5966 },
5967 "camelcase": {
5968 "version": "5.3.1",
5969 "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
5970 "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
5971 "dev": true
5972 },
5973 "caniuse-lite": {
5974 "version": "1.0.30001390",
5975 "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001390.tgz",
5976 "integrity": "sha512-sS4CaUM+/+vqQUlCvCJ2WtDlV81aWtHhqeEVkLokVJJa3ViN4zDxAGfq9R8i1m90uGHxo99cy10Od+lvn3hf0g==",
5977 "dev": true
5978 },
1601 "chalk": {
5979 "chalk": {
1602 "version": "2.4.2",
5980 "version": "2.4.2",
1603 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
5981 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -1615,6 +5993,28
1615 "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
5993 "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
1616 "dev": true
5994 "dev": true
1617 },
5995 },
5996 "chokidar": {
5997 "version": "3.5.3",
5998 "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
5999 "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
6000 "dev": true,
6001 "requires": {
6002 "anymatch": "~3.1.2",
6003 "braces": "~3.0.2",
6004 "fsevents": "~2.3.2",
6005 "glob-parent": "~5.1.2",
6006 "is-binary-path": "~2.1.0",
6007 "is-glob": "~4.0.1",
6008 "normalize-path": "~3.0.0",
6009 "readdirp": "~3.6.0"
6010 }
6011 },
6012 "clean-stack": {
6013 "version": "2.2.0",
6014 "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
6015 "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
6016 "dev": true
6017 },
1618 "cli-cursor": {
6018 "cli-cursor": {
1619 "version": "3.1.0",
6019 "version": "3.1.0",
1620 "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
6020 "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
@@ -1630,6 +6030,28
1630 "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
6030 "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
1631 "dev": true
6031 "dev": true
1632 },
6032 },
6033 "cliui": {
6034 "version": "7.0.4",
6035 "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
6036 "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
6037 "dev": true,
6038 "requires": {
6039 "string-width": "^4.2.0",
6040 "strip-ansi": "^6.0.0",
6041 "wrap-ansi": "^7.0.0"
6042 },
6043 "dependencies": {
6044 "strip-ansi": {
6045 "version": "6.0.1",
6046 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
6047 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
6048 "dev": true,
6049 "requires": {
6050 "ansi-regex": "^5.0.1"
6051 }
6052 }
6053 }
6054 },
1633 "color-convert": {
6055 "color-convert": {
1634 "version": "1.9.3",
6056 "version": "1.9.3",
1635 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
6057 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -1645,18 +6067,39
1645 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
6067 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
1646 "dev": true
6068 "dev": true
1647 },
6069 },
6070 "color-support": {
6071 "version": "1.1.3",
6072 "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
6073 "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
6074 "dev": true
6075 },
1648 "commander": {
6076 "commander": {
1649 "version": "2.20.3",
6077 "version": "2.20.3",
1650 "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
6078 "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
1651 "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
6079 "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
1652 "dev": true
6080 "dev": true
1653 },
6081 },
6082 "commondir": {
6083 "version": "1.0.1",
6084 "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
6085 "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
6086 "dev": true
6087 },
1654 "concat-map": {
6088 "concat-map": {
1655 "version": "0.0.1",
6089 "version": "0.0.1",
1656 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
6090 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1657 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
6091 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
1658 "dev": true
6092 "dev": true
1659 },
6093 },
6094 "convert-source-map": {
6095 "version": "1.8.0",
6096 "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
6097 "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
6098 "dev": true,
6099 "requires": {
6100 "safe-buffer": "~5.1.1"
6101 }
6102 },
1660 "cross-spawn": {
6103 "cross-spawn": {
1661 "version": "6.0.5",
6104 "version": "6.0.5",
1662 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
6105 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
@@ -1687,12 +6130,27
1687 "ms": "^2.1.1"
6130 "ms": "^2.1.1"
1688 }
6131 }
1689 },
6132 },
6133 "decamelize": {
6134 "version": "1.2.0",
6135 "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
6136 "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
6137 "dev": true
6138 },
1690 "deep-is": {
6139 "deep-is": {
1691 "version": "0.1.3",
6140 "version": "0.1.3",
1692 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
6141 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
1693 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
6142 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
1694 "dev": true
6143 "dev": true
1695 },
6144 },
6145 "default-require-extensions": {
6146 "version": "3.0.0",
6147 "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz",
6148 "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==",
6149 "dev": true,
6150 "requires": {
6151 "strip-bom": "^4.0.0"
6152 }
6153 },
1696 "diff": {
6154 "diff": {
1697 "version": "4.0.2",
6155 "version": "4.0.2",
1698 "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
6156 "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
@@ -1714,12 +6172,30
1714 "integrity": "sha512-DUiXyoLK6vMF5BPr/qiMLTxDMfiM9qlzN1jxfDsVfuvB/CwhYpNxA/M4mbqKN8PCVGLmccXBJbfmFJPP5+zmzw==",
6172 "integrity": "sha512-DUiXyoLK6vMF5BPr/qiMLTxDMfiM9qlzN1jxfDsVfuvB/CwhYpNxA/M4mbqKN8PCVGLmccXBJbfmFJPP5+zmzw==",
1715 "dev": true
6173 "dev": true
1716 },
6174 },
6175 "electron-to-chromium": {
6176 "version": "1.4.243",
6177 "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.243.tgz",
6178 "integrity": "sha512-BgLD2gBX43OSXwlT01oYRRD5NIB4n3okTRxkzEAC6G0SZG4TTlyrWMjbOo0fajCwqwpRtMHXQNMjtRN6qpNtfw==",
6179 "dev": true
6180 },
1717 "emoji-regex": {
6181 "emoji-regex": {
1718 "version": "8.0.0",
6182 "version": "8.0.0",
1719 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
6183 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
1720 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
6184 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
1721 "dev": true
6185 "dev": true
1722 },
6186 },
6187 "es6-error": {
6188 "version": "4.1.1",
6189 "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
6190 "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
6191 "dev": true
6192 },
6193 "escalade": {
6194 "version": "3.1.1",
6195 "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
6196 "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
6197 "dev": true
6198 },
1723 "escape-string-regexp": {
6199 "escape-string-regexp": {
1724 "version": "1.0.5",
6200 "version": "1.0.5",
1725 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
6201 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -1843,6 +6319,12
1843 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
6319 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
1844 "dev": true
6320 "dev": true
1845 },
6321 },
6322 "events-to-array": {
6323 "version": "1.1.2",
6324 "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz",
6325 "integrity": "sha512-inRWzRY7nG+aXZxBzEqYKB3HPgwflZRopAjDCHv0whhRx+MTUr1ei0ICZUypdyE0HRm4L2d5VEcIqLD6yl+BFA==",
6326 "dev": true
6327 },
1846 "external-editor": {
6328 "external-editor": {
1847 "version": "3.1.0",
6329 "version": "3.1.0",
1848 "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
6330 "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
@@ -1890,6 +6372,42
1890 "flat-cache": "^2.0.1"
6372 "flat-cache": "^2.0.1"
1891 }
6373 }
1892 },
6374 },
6375 "fill-range": {
6376 "version": "7.0.1",
6377 "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
6378 "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
6379 "dev": true,
6380 "requires": {
6381 "to-regex-range": "^5.0.1"
6382 }
6383 },
6384 "find-cache-dir": {
6385 "version": "3.3.2",
6386 "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
6387 "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
6388 "dev": true,
6389 "requires": {
6390 "commondir": "^1.0.1",
6391 "make-dir": "^3.0.2",
6392 "pkg-dir": "^4.1.0"
6393 }
6394 },
6395 "find-up": {
6396 "version": "4.1.0",
6397 "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
6398 "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
6399 "dev": true,
6400 "requires": {
6401 "locate-path": "^5.0.0",
6402 "path-exists": "^4.0.0"
6403 }
6404 },
6405 "findit": {
6406 "version": "2.0.0",
6407 "resolved": "https://registry.npmjs.org/findit/-/findit-2.0.0.tgz",
6408 "integrity": "sha512-ENZS237/Hr8bjczn5eKuBohLgaD0JyUd0arxretR1f9RO46vZHA1b2y0VorgGV3WaOT3c+78P8h7v4JGJ1i/rg==",
6409 "dev": true
6410 },
1893 "flat-cache": {
6411 "flat-cache": {
1894 "version": "2.0.1",
6412 "version": "2.0.1",
1895 "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
6413 "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
@@ -1907,36 +6425,132
1907 "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
6425 "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
1908 "dev": true
6426 "dev": true
1909 },
6427 },
6428 "foreground-child": {
6429 "version": "2.0.0",
6430 "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz",
6431 "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==",
6432 "dev": true,
6433 "requires": {
6434 "cross-spawn": "^7.0.0",
6435 "signal-exit": "^3.0.2"
6436 },
6437 "dependencies": {
6438 "cross-spawn": {
6439 "version": "7.0.3",
6440 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
6441 "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
6442 "dev": true,
6443 "requires": {
6444 "path-key": "^3.1.0",
6445 "shebang-command": "^2.0.0",
6446 "which": "^2.0.1"
6447 }
6448 },
6449 "path-key": {
6450 "version": "3.1.1",
6451 "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
6452 "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
6453 "dev": true
6454 },
6455 "shebang-command": {
6456 "version": "2.0.0",
6457 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
6458 "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
6459 "dev": true,
6460 "requires": {
6461 "shebang-regex": "^3.0.0"
6462 }
6463 },
6464 "shebang-regex": {
6465 "version": "3.0.0",
6466 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
6467 "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
6468 "dev": true
6469 },
6470 "which": {
6471 "version": "2.0.2",
6472 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
6473 "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
6474 "dev": true,
6475 "requires": {
6476 "isexe": "^2.0.0"
6477 }
6478 }
6479 }
6480 },
6481 "fromentries": {
6482 "version": "1.3.2",
6483 "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz",
6484 "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==",
6485 "dev": true
6486 },
6487 "fs-exists-cached": {
6488 "version": "1.0.0",
6489 "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz",
6490 "integrity": "sha512-kSxoARUDn4F2RPXX48UXnaFKwVU7Ivd/6qpzZL29MCDmr9sTvybv4gFCp+qaI4fM9m0z9fgz/yJvi56GAz+BZg==",
6491 "dev": true
6492 },
1910 "fs.realpath": {
6493 "fs.realpath": {
1911 "version": "1.0.0",
6494 "version": "1.0.0",
1912 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
6495 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1913 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
6496 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
1914 "dev": true
6497 "dev": true
1915 },
6498 },
6499 "fsevents": {
6500 "version": "2.3.2",
6501 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
6502 "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
6503 "dev": true,
6504 "optional": true
6505 },
6506 "function-loop": {
6507 "version": "2.0.1",
6508 "resolved": "https://registry.npmjs.org/function-loop/-/function-loop-2.0.1.tgz",
6509 "integrity": "sha512-ktIR+O6i/4h+j/ZhZJNdzeI4i9lEPeEK6UPR2EVyTVBqOwcU3Za9xYKLH64ZR9HmcROyRrOkizNyjjtWJzDDkQ==",
6510 "dev": true
6511 },
1916 "functional-red-black-tree": {
6512 "functional-red-black-tree": {
1917 "version": "1.0.1",
6513 "version": "1.0.1",
1918 "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
6514 "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
1919 "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
6515 "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
1920 "dev": true
6516 "dev": true
1921 },
6517 },
6518 "gensync": {
6519 "version": "1.0.0-beta.2",
6520 "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
6521 "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
6522 "dev": true
6523 },
6524 "get-caller-file": {
6525 "version": "2.0.5",
6526 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
6527 "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
6528 "dev": true
6529 },
6530 "get-package-type": {
6531 "version": "0.1.0",
6532 "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
6533 "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
6534 "dev": true
6535 },
1922 "glob": {
6536 "glob": {
1923 "version": "7.1.6",
6537 "version": "7.2.3",
1924 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
6538 "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
1925 "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
6539 "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
1926 "dev": true,
6540 "dev": true,
1927 "requires": {
6541 "requires": {
1928 "fs.realpath": "^1.0.0",
6542 "fs.realpath": "^1.0.0",
1929 "inflight": "^1.0.4",
6543 "inflight": "^1.0.4",
1930 "inherits": "2",
6544 "inherits": "2",
1931 "minimatch": "^3.0.4",
6545 "minimatch": "^3.1.1",
1932 "once": "^1.3.0",
6546 "once": "^1.3.0",
1933 "path-is-absolute": "^1.0.0"
6547 "path-is-absolute": "^1.0.0"
1934 }
6548 }
1935 },
6549 },
1936 "glob-parent": {
6550 "glob-parent": {
1937 "version": "5.1.0",
6551 "version": "5.1.2",
1938 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
6552 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
1939 "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
6553 "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1940 "dev": true,
6554 "dev": true,
1941 "requires": {
6555 "requires": {
1942 "is-glob": "^4.0.1"
6556 "is-glob": "^4.0.1"
@@ -1951,12 +6565,34
1951 "type-fest": "^0.8.1"
6565 "type-fest": "^0.8.1"
1952 }
6566 }
1953 },
6567 },
6568 "graceful-fs": {
6569 "version": "4.2.10",
6570 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
6571 "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
6572 "dev": true
6573 },
1954 "has-flag": {
6574 "has-flag": {
1955 "version": "3.0.0",
6575 "version": "3.0.0",
1956 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
6576 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
1957 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
6577 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
1958 "dev": true
6578 "dev": true
1959 },
6579 },
6580 "hasha": {
6581 "version": "5.2.2",
6582 "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz",
6583 "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==",
6584 "dev": true,
6585 "requires": {
6586 "is-stream": "^2.0.0",
6587 "type-fest": "^0.8.0"
6588 }
6589 },
6590 "html-escaper": {
6591 "version": "2.0.2",
6592 "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
6593 "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
6594 "dev": true
6595 },
1960 "iconv-lite": {
6596 "iconv-lite": {
1961 "version": "0.4.24",
6597 "version": "0.4.24",
1962 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
6598 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -1988,6 +6624,12
1988 "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
6624 "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
1989 "dev": true
6625 "dev": true
1990 },
6626 },
6627 "indent-string": {
6628 "version": "4.0.0",
6629 "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
6630 "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
6631 "dev": true
6632 },
1991 "inflight": {
6633 "inflight": {
1992 "version": "1.0.6",
6634 "version": "1.0.6",
1993 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
6635 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -2025,6 +6667,15
2025 "through": "^2.3.6"
6667 "through": "^2.3.6"
2026 }
6668 }
2027 },
6669 },
6670 "is-binary-path": {
6671 "version": "2.1.0",
6672 "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
6673 "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
6674 "dev": true,
6675 "requires": {
6676 "binary-extensions": "^2.0.0"
6677 }
6678 },
2028 "is-extglob": {
6679 "is-extglob": {
2029 "version": "2.1.1",
6680 "version": "2.1.1",
2030 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
6681 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -2046,18 +6697,193
2046 "is-extglob": "^2.1.1"
6697 "is-extglob": "^2.1.1"
2047 }
6698 }
2048 },
6699 },
6700 "is-number": {
6701 "version": "7.0.0",
6702 "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
6703 "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
6704 "dev": true
6705 },
2049 "is-promise": {
6706 "is-promise": {
2050 "version": "2.1.0",
6707 "version": "2.1.0",
2051 "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
6708 "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
2052 "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
6709 "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
2053 "dev": true
6710 "dev": true
2054 },
6711 },
6712 "is-stream": {
6713 "version": "2.0.1",
6714 "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
6715 "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
6716 "dev": true
6717 },
6718 "is-typedarray": {
6719 "version": "1.0.0",
6720 "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
6721 "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
6722 "dev": true
6723 },
6724 "is-windows": {
6725 "version": "1.0.2",
6726 "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
6727 "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
6728 "dev": true
6729 },
2055 "isexe": {
6730 "isexe": {
2056 "version": "2.0.0",
6731 "version": "2.0.0",
2057 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
6732 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2058 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
6733 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
2059 "dev": true
6734 "dev": true
2060 },
6735 },
6736 "istanbul-lib-coverage": {
6737 "version": "3.2.0",
6738 "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
6739 "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
6740 "dev": true
6741 },
6742 "istanbul-lib-hook": {
6743 "version": "3.0.0",
6744 "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz",
6745 "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==",
6746 "dev": true,
6747 "requires": {
6748 "append-transform": "^2.0.0"
6749 }
6750 },
6751 "istanbul-lib-instrument": {
6752 "version": "4.0.3",
6753 "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
6754 "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
6755 "dev": true,
6756 "requires": {
6757 "@babel/core": "^7.7.5",
6758 "@istanbuljs/schema": "^0.1.2",
6759 "istanbul-lib-coverage": "^3.0.0",
6760 "semver": "^6.3.0"
6761 }
6762 },
6763 "istanbul-lib-processinfo": {
6764 "version": "2.0.3",
6765 "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz",
6766 "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==",
6767 "dev": true,
6768 "requires": {
6769 "archy": "^1.0.0",
6770 "cross-spawn": "^7.0.3",
6771 "istanbul-lib-coverage": "^3.2.0",
6772 "p-map": "^3.0.0",
6773 "rimraf": "^3.0.0",
6774 "uuid": "^8.3.2"
6775 },
6776 "dependencies": {
6777 "cross-spawn": {
6778 "version": "7.0.3",
6779 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
6780 "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
6781 "dev": true,
6782 "requires": {
6783 "path-key": "^3.1.0",
6784 "shebang-command": "^2.0.0",
6785 "which": "^2.0.1"
6786 }
6787 },
6788 "path-key": {
6789 "version": "3.1.1",
6790 "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
6791 "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
6792 "dev": true
6793 },
6794 "rimraf": {
6795 "version": "3.0.2",
6796 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
6797 "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
6798 "dev": true,
6799 "requires": {
6800 "glob": "^7.1.3"
6801 }
6802 },
6803 "shebang-command": {
6804 "version": "2.0.0",
6805 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
6806 "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
6807 "dev": true,
6808 "requires": {
6809 "shebang-regex": "^3.0.0"
6810 }
6811 },
6812 "shebang-regex": {
6813 "version": "3.0.0",
6814 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
6815 "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
6816 "dev": true
6817 },
6818 "which": {
6819 "version": "2.0.2",
6820 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
6821 "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
6822 "dev": true,
6823 "requires": {
6824 "isexe": "^2.0.0"
6825 }
6826 }
6827 }
6828 },
6829 "istanbul-lib-report": {
6830 "version": "3.0.0",
6831 "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
6832 "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
6833 "dev": true,
6834 "requires": {
6835 "istanbul-lib-coverage": "^3.0.0",
6836 "make-dir": "^3.0.0",
6837 "supports-color": "^7.1.0"
6838 },
6839 "dependencies": {
6840 "has-flag": {
6841 "version": "4.0.0",
6842 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
6843 "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
6844 "dev": true
6845 },
6846 "supports-color": {
6847 "version": "7.2.0",
6848 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
6849 "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
6850 "dev": true,
6851 "requires": {
6852 "has-flag": "^4.0.0"
6853 }
6854 }
6855 }
6856 },
6857 "istanbul-lib-source-maps": {
6858 "version": "4.0.1",
6859 "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
6860 "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
6861 "dev": true,
6862 "requires": {
6863 "debug": "^4.1.1",
6864 "istanbul-lib-coverage": "^3.0.0",
6865 "source-map": "^0.6.1"
6866 }
6867 },
6868 "istanbul-reports": {
6869 "version": "3.1.5",
6870 "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz",
6871 "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==",
6872 "dev": true,
6873 "requires": {
6874 "html-escaper": "^2.0.0",
6875 "istanbul-lib-report": "^3.0.0"
6876 }
6877 },
6878 "jackspeak": {
6879 "version": "1.4.1",
6880 "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-1.4.1.tgz",
6881 "integrity": "sha512-npN8f+M4+IQ8xD3CcWi3U62VQwKlT3Tj4GxbdT/fYTmeogD9eBF9OFdpoFG/VPNoshRjPUijdkp/p2XrzUHaVg==",
6882 "dev": true,
6883 "requires": {
6884 "cliui": "^7.0.4"
6885 }
6886 },
2061 "js-tokens": {
6887 "js-tokens": {
2062 "version": "4.0.0",
6888 "version": "4.0.0",
2063 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
6889 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -2074,6 +6900,12
2074 "esprima": "^4.0.0"
6900 "esprima": "^4.0.0"
2075 }
6901 }
2076 },
6902 },
6903 "jsesc": {
6904 "version": "2.5.2",
6905 "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
6906 "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
6907 "dev": true
6908 },
2077 "json-schema-traverse": {
6909 "json-schema-traverse": {
2078 "version": "0.4.1",
6910 "version": "0.4.1",
2079 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
6911 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -2086,6 +6918,12
2086 "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
6918 "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
2087 "dev": true
6919 "dev": true
2088 },
6920 },
6921 "json5": {
6922 "version": "2.2.1",
6923 "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
6924 "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
6925 "dev": true
6926 },
2089 "levn": {
6927 "levn": {
2090 "version": "0.3.0",
6928 "version": "0.3.0",
2091 "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
6929 "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
@@ -2096,12 +6934,57
2096 "type-check": "~0.3.2"
6934 "type-check": "~0.3.2"
2097 }
6935 }
2098 },
6936 },
6937 "libtap": {
6938 "version": "1.4.0",
6939 "resolved": "https://registry.npmjs.org/libtap/-/libtap-1.4.0.tgz",
6940 "integrity": "sha512-STLFynswQ2A6W14JkabgGetBNk6INL1REgJ9UeNKw5llXroC2cGLgKTqavv0sl8OLVztLLipVKMcQ7yeUcqpmg==",
6941 "dev": true,
6942 "requires": {
6943 "async-hook-domain": "^2.0.4",
6944 "bind-obj-methods": "^3.0.0",
6945 "diff": "^4.0.2",
6946 "function-loop": "^2.0.1",
6947 "minipass": "^3.1.5",
6948 "own-or": "^1.0.0",
6949 "own-or-env": "^1.0.2",
6950 "signal-exit": "^3.0.4",
6951 "stack-utils": "^2.0.4",
6952 "tap-parser": "^11.0.0",
6953 "tap-yaml": "^1.0.0",
6954 "tcompare": "^5.0.6",
6955 "trivial-deferred": "^1.0.1"
6956 }
6957 },
6958 "locate-path": {
6959 "version": "5.0.0",
6960 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
6961 "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
6962 "dev": true,
6963 "requires": {
6964 "p-locate": "^4.1.0"
6965 }
6966 },
2099 "lodash": {
6967 "lodash": {
2100 "version": "4.17.20",
6968 "version": "4.17.20",
2101 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
6969 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
2102 "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
6970 "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
2103 "dev": true
6971 "dev": true
2104 },
6972 },
6973 "lodash.flattendeep": {
6974 "version": "4.4.0",
6975 "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
6976 "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==",
6977 "dev": true
6978 },
6979 "make-dir": {
6980 "version": "3.1.0",
6981 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
6982 "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
6983 "dev": true,
6984 "requires": {
6985 "semver": "^6.0.0"
6986 }
6987 },
2105 "mimic-fn": {
6988 "mimic-fn": {
2106 "version": "2.1.0",
6989 "version": "2.1.0",
2107 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
6990 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
@@ -2109,14 +6992,29
2109 "dev": true
6992 "dev": true
2110 },
6993 },
2111 "minimatch": {
6994 "minimatch": {
2112 "version": "3.0.4",
6995 "version": "3.1.2",
2113 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
6996 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
2114 "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
6997 "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
2115 "dev": true,
6998 "dev": true,
2116 "requires": {
6999 "requires": {
2117 "brace-expansion": "^1.1.7"
7000 "brace-expansion": "^1.1.7"
2118 }
7001 }
2119 },
7002 },
7003 "minimist": {
7004 "version": "1.2.6",
7005 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
7006 "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
7007 "dev": true
7008 },
7009 "minipass": {
7010 "version": "3.3.4",
7011 "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz",
7012 "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==",
7013 "dev": true,
7014 "requires": {
7015 "yallist": "^4.0.0"
7016 }
7017 },
2120 "mkdirp": {
7018 "mkdirp": {
2121 "version": "0.5.5",
7019 "version": "0.5.5",
2122 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
7020 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
@@ -2124,14 +7022,6
2124 "dev": true,
7022 "dev": true,
2125 "requires": {
7023 "requires": {
2126 "minimist": "^1.2.5"
7024 "minimist": "^1.2.5"
2127 },
2128 "dependencies": {
2129 "minimist": {
2130 "version": "1.2.5",
2131 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
2132 "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
2133 "dev": true
2134 }
2135 }
7025 }
2136 },
7026 },
2137 "ms": {
7027 "ms": {
@@ -2158,6 +7048,79
2158 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
7048 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
2159 "dev": true
7049 "dev": true
2160 },
7050 },
7051 "node-preload": {
7052 "version": "0.2.1",
7053 "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
7054 "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==",
7055 "dev": true,
7056 "requires": {
7057 "process-on-spawn": "^1.0.0"
7058 }
7059 },
7060 "node-releases": {
7061 "version": "2.0.6",
7062 "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
7063 "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
7064 "dev": true
7065 },
7066 "normalize-path": {
7067 "version": "3.0.0",
7068 "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
7069 "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
7070 "dev": true
7071 },
7072 "nyc": {
7073 "version": "15.1.0",
7074 "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz",
7075 "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==",
7076 "dev": true,
7077 "requires": {
7078 "@istanbuljs/load-nyc-config": "^1.0.0",
7079 "@istanbuljs/schema": "^0.1.2",
7080 "caching-transform": "^4.0.0",
7081 "convert-source-map": "^1.7.0",
7082 "decamelize": "^1.2.0",
7083 "find-cache-dir": "^3.2.0",
7084 "find-up": "^4.1.0",
7085 "foreground-child": "^2.0.0",
7086 "get-package-type": "^0.1.0",
7087 "glob": "^7.1.6",
7088 "istanbul-lib-coverage": "^3.0.0",
7089 "istanbul-lib-hook": "^3.0.0",
7090 "istanbul-lib-instrument": "^4.0.0",
7091 "istanbul-lib-processinfo": "^2.0.2",
7092 "istanbul-lib-report": "^3.0.0",
7093 "istanbul-lib-source-maps": "^4.0.0",
7094 "istanbul-reports": "^3.0.2",
7095 "make-dir": "^3.0.0",
7096 "node-preload": "^0.2.1",
7097 "p-map": "^3.0.0",
7098 "process-on-spawn": "^1.0.0",
7099 "resolve-from": "^5.0.0",
7100 "rimraf": "^3.0.0",
7101 "signal-exit": "^3.0.2",
7102 "spawn-wrap": "^2.0.0",
7103 "test-exclude": "^6.0.0",
7104 "yargs": "^15.0.2"
7105 },
7106 "dependencies": {
7107 "resolve-from": {
7108 "version": "5.0.0",
7109 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
7110 "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
7111 "dev": true
7112 },
7113 "rimraf": {
7114 "version": "3.0.2",
7115 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
7116 "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
7117 "dev": true,
7118 "requires": {
7119 "glob": "^7.1.3"
7120 }
7121 }
7122 }
7123 },
2161 "once": {
7124 "once": {
2162 "version": "1.4.0",
7125 "version": "1.4.0",
2163 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
7126 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -2176,6 +7139,12
2176 "mimic-fn": "^2.1.0"
7139 "mimic-fn": "^2.1.0"
2177 }
7140 }
2178 },
7141 },
7142 "opener": {
7143 "version": "1.5.2",
7144 "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
7145 "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==",
7146 "dev": true
7147 },
2179 "optionator": {
7148 "optionator": {
2180 "version": "0.8.3",
7149 "version": "0.8.3",
2181 "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
7150 "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
@@ -2196,6 +7165,66
2196 "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
7165 "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
2197 "dev": true
7166 "dev": true
2198 },
7167 },
7168 "own-or": {
7169 "version": "1.0.0",
7170 "resolved": "https://registry.npmjs.org/own-or/-/own-or-1.0.0.tgz",
7171 "integrity": "sha512-NfZr5+Tdf6MB8UI9GLvKRs4cXY8/yB0w3xtt84xFdWy8hkGjn+JFc60VhzS/hFRfbyxFcGYMTjnF4Me+RbbqrA==",
7172 "dev": true
7173 },
7174 "own-or-env": {
7175 "version": "1.0.2",
7176 "resolved": "https://registry.npmjs.org/own-or-env/-/own-or-env-1.0.2.tgz",
7177 "integrity": "sha512-NQ7v0fliWtK7Lkb+WdFqe6ky9XAzYmlkXthQrBbzlYbmFKoAYbDDcwmOm6q8kOuwSRXW8bdL5ORksploUJmWgw==",
7178 "dev": true,
7179 "requires": {
7180 "own-or": "^1.0.0"
7181 }
7182 },
7183 "p-limit": {
7184 "version": "2.3.0",
7185 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
7186 "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
7187 "dev": true,
7188 "requires": {
7189 "p-try": "^2.0.0"
7190 }
7191 },
7192 "p-locate": {
7193 "version": "4.1.0",
7194 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
7195 "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
7196 "dev": true,
7197 "requires": {
7198 "p-limit": "^2.2.0"
7199 }
7200 },
7201 "p-map": {
7202 "version": "3.0.0",
7203 "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
7204 "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
7205 "dev": true,
7206 "requires": {
7207 "aggregate-error": "^3.0.0"
7208 }
7209 },
7210 "p-try": {
7211 "version": "2.2.0",
7212 "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
7213 "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
7214 "dev": true
7215 },
7216 "package-hash": {
7217 "version": "4.0.0",
7218 "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz",
7219 "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==",
7220 "dev": true,
7221 "requires": {
7222 "graceful-fs": "^4.1.15",
7223 "hasha": "^5.0.0",
7224 "lodash.flattendeep": "^4.4.0",
7225 "release-zalgo": "^1.0.0"
7226 }
7227 },
2199 "parent-module": {
7228 "parent-module": {
2200 "version": "1.0.1",
7229 "version": "1.0.1",
2201 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
7230 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -2205,6 +7234,12
2205 "callsites": "^3.0.0"
7234 "callsites": "^3.0.0"
2206 }
7235 }
2207 },
7236 },
7237 "path-exists": {
7238 "version": "4.0.0",
7239 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
7240 "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
7241 "dev": true
7242 },
2208 "path-is-absolute": {
7243 "path-is-absolute": {
2209 "version": "1.0.1",
7244 "version": "1.0.1",
2210 "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
7245 "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
@@ -2218,10 +7253,31
2218 "dev": true
7253 "dev": true
2219 },
7254 },
2220 "path-parse": {
7255 "path-parse": {
2221 "version": "1.0.6",
7256 "version": "1.0.7",
2222 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
7257 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
2223 "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
7258 "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
2224 "dev": true
7259 "dev": true
7260 },
7261 "picocolors": {
7262 "version": "1.0.0",
7263 "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
7264 "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
7265 "dev": true
7266 },
7267 "picomatch": {
7268 "version": "2.3.1",
7269 "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
7270 "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
7271 "dev": true
7272 },
7273 "pkg-dir": {
7274 "version": "4.2.0",
7275 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
7276 "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
7277 "dev": true,
7278 "requires": {
7279 "find-up": "^4.0.0"
7280 }
2225 },
7281 },
2226 "prelude-ls": {
7282 "prelude-ls": {
2227 "version": "1.1.2",
7283 "version": "1.1.2",
@@ -2229,6 +7285,15
2229 "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
7285 "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
2230 "dev": true
7286 "dev": true
2231 },
7287 },
7288 "process-on-spawn": {
7289 "version": "1.0.0",
7290 "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz",
7291 "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==",
7292 "dev": true,
7293 "requires": {
7294 "fromentries": "^1.2.0"
7295 }
7296 },
2232 "progress": {
7297 "progress": {
2233 "version": "2.0.3",
7298 "version": "2.0.3",
2234 "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
7299 "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
@@ -2241,6 +7306,15
2241 "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
7306 "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
2242 "dev": true
7307 "dev": true
2243 },
7308 },
7309 "readdirp": {
7310 "version": "3.6.0",
7311 "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
7312 "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
7313 "dev": true,
7314 "requires": {
7315 "picomatch": "^2.2.1"
7316 }
7317 },
2244 "regenerator-runtime": {
7318 "regenerator-runtime": {
2245 "version": "0.13.3",
7319 "version": "0.13.3",
2246 "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
7320 "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
@@ -2253,6 +7327,27
2253 "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
7327 "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
2254 "dev": true
7328 "dev": true
2255 },
7329 },
7330 "release-zalgo": {
7331 "version": "1.0.0",
7332 "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
7333 "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==",
7334 "dev": true,
7335 "requires": {
7336 "es6-error": "^4.0.1"
7337 }
7338 },
7339 "require-directory": {
7340 "version": "2.1.1",
7341 "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
7342 "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
7343 "dev": true
7344 },
7345 "require-main-filename": {
7346 "version": "2.0.0",
7347 "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
7348 "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
7349 "dev": true
7350 },
2256 "requirejs": {
7351 "requirejs": {
2257 "version": "2.3.6",
7352 "version": "2.3.6",
2258 "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz",
7353 "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz",
@@ -2311,6 +7406,12
2311 "tslib": "^1.9.0"
7406 "tslib": "^1.9.0"
2312 }
7407 }
2313 },
7408 },
7409 "safe-buffer": {
7410 "version": "5.1.2",
7411 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
7412 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
7413 "dev": true
7414 },
2314 "safer-buffer": {
7415 "safer-buffer": {
2315 "version": "2.1.2",
7416 "version": "2.1.2",
2316 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
7417 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -2323,6 +7424,12
2323 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
7424 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
2324 "dev": true
7425 "dev": true
2325 },
7426 },
7427 "set-blocking": {
7428 "version": "2.0.0",
7429 "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
7430 "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
7431 "dev": true
7432 },
2326 "shebang-command": {
7433 "shebang-command": {
2327 "version": "1.2.0",
7434 "version": "1.2.0",
2328 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
7435 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
@@ -2339,9 +7446,9
2339 "dev": true
7446 "dev": true
2340 },
7447 },
2341 "signal-exit": {
7448 "signal-exit": {
2342 "version": "3.0.2",
7449 "version": "3.0.7",
2343 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
7450 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
2344 "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
7451 "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
2345 "dev": true
7452 "dev": true
2346 },
7453 },
2347 "slice-ansi": {
7454 "slice-ansi": {
@@ -2363,12 +7470,79
2363 }
7470 }
2364 }
7471 }
2365 },
7472 },
7473 "source-map": {
7474 "version": "0.6.1",
7475 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
7476 "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
7477 "dev": true
7478 },
7479 "source-map-support": {
7480 "version": "0.5.21",
7481 "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
7482 "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
7483 "dev": true,
7484 "requires": {
7485 "buffer-from": "^1.0.0",
7486 "source-map": "^0.6.0"
7487 }
7488 },
7489 "spawn-wrap": {
7490 "version": "2.0.0",
7491 "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
7492 "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==",
7493 "dev": true,
7494 "requires": {
7495 "foreground-child": "^2.0.0",
7496 "is-windows": "^1.0.2",
7497 "make-dir": "^3.0.0",
7498 "rimraf": "^3.0.0",
7499 "signal-exit": "^3.0.2",
7500 "which": "^2.0.1"
7501 },
7502 "dependencies": {
7503 "rimraf": {
7504 "version": "3.0.2",
7505 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
7506 "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
7507 "dev": true,
7508 "requires": {
7509 "glob": "^7.1.3"
7510 }
7511 },
7512 "which": {
7513 "version": "2.0.2",
7514 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
7515 "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
7516 "dev": true,
7517 "requires": {
7518 "isexe": "^2.0.0"
7519 }
7520 }
7521 }
7522 },
2366 "sprintf-js": {
7523 "sprintf-js": {
2367 "version": "1.0.3",
7524 "version": "1.0.3",
2368 "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
7525 "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
2369 "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
7526 "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
2370 "dev": true
7527 "dev": true
2371 },
7528 },
7529 "stack-utils": {
7530 "version": "2.0.5",
7531 "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz",
7532 "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==",
7533 "dev": true,
7534 "requires": {
7535 "escape-string-regexp": "^2.0.0"
7536 },
7537 "dependencies": {
7538 "escape-string-regexp": {
7539 "version": "2.0.0",
7540 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
7541 "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
7542 "dev": true
7543 }
7544 }
7545 },
2372 "string-width": {
7546 "string-width": {
2373 "version": "4.2.0",
7547 "version": "4.2.0",
2374 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
7548 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
@@ -2408,6 +7582,12
2408 }
7582 }
2409 }
7583 }
2410 },
7584 },
7585 "strip-bom": {
7586 "version": "4.0.0",
7587 "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
7588 "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
7589 "dev": true
7590 },
2411 "strip-json-comments": {
7591 "strip-json-comments": {
2412 "version": "3.0.1",
7592 "version": "3.0.1",
2413 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
7593 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
@@ -2460,6 +7640,1342
2460 }
7640 }
2461 }
7641 }
2462 },
7642 },
7643 "tap": {
7644 "version": "16.3.0",
7645 "resolved": "https://registry.npmjs.org/tap/-/tap-16.3.0.tgz",
7646 "integrity": "sha512-J9GffPUAbX6FnWbQ/jj7ktzd9nnDFP1fH44OzidqOmxUfZ1hPLMOvpS99LnDiP0H2mO8GY3kGN5XoY0xIKbNFA==",
7647 "dev": true,
7648 "requires": {
7649 "@isaacs/import-jsx": "^4.0.1",
7650 "@types/react": "^17",
7651 "chokidar": "^3.3.0",
7652 "findit": "^2.0.0",
7653 "foreground-child": "^2.0.0",
7654 "fs-exists-cached": "^1.0.0",
7655 "glob": "^7.1.6",
7656 "ink": "^3.2.0",
7657 "isexe": "^2.0.0",
7658 "istanbul-lib-processinfo": "^2.0.2",
7659 "jackspeak": "^1.4.1",
7660 "libtap": "^1.4.0",
7661 "minipass": "^3.1.1",
7662 "mkdirp": "^1.0.4",
7663 "nyc": "^15.1.0",
7664 "opener": "^1.5.1",
7665 "react": "^17.0.2",
7666 "rimraf": "^3.0.0",
7667 "signal-exit": "^3.0.6",
7668 "source-map-support": "^0.5.16",
7669 "tap-mocha-reporter": "^5.0.3",
7670 "tap-parser": "^11.0.1",
7671 "tap-yaml": "^1.0.0",
7672 "tcompare": "^5.0.7",
7673 "treport": "^3.0.3",
7674 "which": "^2.0.2"
7675 },
7676 "dependencies": {
7677 "@ampproject/remapping": {
7678 "version": "2.1.2",
7679 "bundled": true,
7680 "dev": true,
7681 "requires": {
7682 "@jridgewell/trace-mapping": "^0.3.0"
7683 }
7684 },
7685 "@babel/code-frame": {
7686 "version": "7.16.7",
7687 "bundled": true,
7688 "dev": true,
7689 "requires": {
7690 "@babel/highlight": "^7.16.7"
7691 }
7692 },
7693 "@babel/compat-data": {
7694 "version": "7.17.7",
7695 "bundled": true,
7696 "dev": true
7697 },
7698 "@babel/core": {
7699 "version": "7.17.8",
7700 "bundled": true,
7701 "dev": true,
7702 "requires": {
7703 "@ampproject/remapping": "^2.1.0",
7704 "@babel/code-frame": "^7.16.7",
7705 "@babel/generator": "^7.17.7",
7706 "@babel/helper-compilation-targets": "^7.17.7",
7707 "@babel/helper-module-transforms": "^7.17.7",
7708 "@babel/helpers": "^7.17.8",
7709 "@babel/parser": "^7.17.8",
7710 "@babel/template": "^7.16.7",
7711 "@babel/traverse": "^7.17.3",
7712 "@babel/types": "^7.17.0",
7713 "convert-source-map": "^1.7.0",
7714 "debug": "^4.1.0",
7715 "gensync": "^1.0.0-beta.2",
7716 "json5": "^2.1.2",
7717 "semver": "^6.3.0"
7718 }
7719 },
7720 "@babel/generator": {
7721 "version": "7.17.7",
7722 "bundled": true,
7723 "dev": true,
7724 "requires": {
7725 "@babel/types": "^7.17.0",
7726 "jsesc": "^2.5.1",
7727 "source-map": "^0.5.0"
7728 }
7729 },
7730 "@babel/helper-annotate-as-pure": {
7731 "version": "7.16.7",
7732 "bundled": true,
7733 "dev": true,
7734 "requires": {
7735 "@babel/types": "^7.16.7"
7736 }
7737 },
7738 "@babel/helper-compilation-targets": {
7739 "version": "7.17.7",
7740 "bundled": true,
7741 "dev": true,
7742 "requires": {
7743 "@babel/compat-data": "^7.17.7",
7744 "@babel/helper-validator-option": "^7.16.7",
7745 "browserslist": "^4.17.5",
7746 "semver": "^6.3.0"
7747 }
7748 },
7749 "@babel/helper-environment-visitor": {
7750 "version": "7.16.7",
7751 "bundled": true,
7752 "dev": true,
7753 "requires": {
7754 "@babel/types": "^7.16.7"
7755 }
7756 },
7757 "@babel/helper-function-name": {
7758 "version": "7.16.7",
7759 "bundled": true,
7760 "dev": true,
7761 "requires": {
7762 "@babel/helper-get-function-arity": "^7.16.7",
7763 "@babel/template": "^7.16.7",
7764 "@babel/types": "^7.16.7"
7765 }
7766 },
7767 "@babel/helper-get-function-arity": {
7768 "version": "7.16.7",
7769 "bundled": true,
7770 "dev": true,
7771 "requires": {
7772 "@babel/types": "^7.16.7"
7773 }
7774 },
7775 "@babel/helper-hoist-variables": {
7776 "version": "7.16.7",
7777 "bundled": true,
7778 "dev": true,
7779 "requires": {
7780 "@babel/types": "^7.16.7"
7781 }
7782 },
7783 "@babel/helper-module-imports": {
7784 "version": "7.16.7",
7785 "bundled": true,
7786 "dev": true,
7787 "requires": {
7788 "@babel/types": "^7.16.7"
7789 }
7790 },
7791 "@babel/helper-module-transforms": {
7792 "version": "7.17.7",
7793 "bundled": true,
7794 "dev": true,
7795 "requires": {
7796 "@babel/helper-environment-visitor": "^7.16.7",
7797 "@babel/helper-module-imports": "^7.16.7",
7798 "@babel/helper-simple-access": "^7.17.7",
7799 "@babel/helper-split-export-declaration": "^7.16.7",
7800 "@babel/helper-validator-identifier": "^7.16.7",
7801 "@babel/template": "^7.16.7",
7802 "@babel/traverse": "^7.17.3",
7803 "@babel/types": "^7.17.0"
7804 }
7805 },
7806 "@babel/helper-plugin-utils": {
7807 "version": "7.16.7",
7808 "bundled": true,
7809 "dev": true
7810 },
7811 "@babel/helper-simple-access": {
7812 "version": "7.17.7",
7813 "bundled": true,
7814 "dev": true,
7815 "requires": {
7816 "@babel/types": "^7.17.0"
7817 }
7818 },
7819 "@babel/helper-split-export-declaration": {
7820 "version": "7.16.7",
7821 "bundled": true,
7822 "dev": true,
7823 "requires": {
7824 "@babel/types": "^7.16.7"
7825 }
7826 },
7827 "@babel/helper-validator-identifier": {
7828 "version": "7.16.7",
7829 "bundled": true,
7830 "dev": true
7831 },
7832 "@babel/helper-validator-option": {
7833 "version": "7.16.7",
7834 "bundled": true,
7835 "dev": true
7836 },
7837 "@babel/helpers": {
7838 "version": "7.17.8",
7839 "bundled": true,
7840 "dev": true,
7841 "requires": {
7842 "@babel/template": "^7.16.7",
7843 "@babel/traverse": "^7.17.3",
7844 "@babel/types": "^7.17.0"
7845 }
7846 },
7847 "@babel/highlight": {
7848 "version": "7.16.10",
7849 "bundled": true,
7850 "dev": true,
7851 "requires": {
7852 "@babel/helper-validator-identifier": "^7.16.7",
7853 "chalk": "^2.0.0",
7854 "js-tokens": "^4.0.0"
7855 }
7856 },
7857 "@babel/parser": {
7858 "version": "7.17.8",
7859 "bundled": true,
7860 "dev": true
7861 },
7862 "@babel/plugin-proposal-object-rest-spread": {
7863 "version": "7.17.3",
7864 "bundled": true,
7865 "dev": true,
7866 "requires": {
7867 "@babel/compat-data": "^7.17.0",
7868 "@babel/helper-compilation-targets": "^7.16.7",
7869 "@babel/helper-plugin-utils": "^7.16.7",
7870 "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
7871 "@babel/plugin-transform-parameters": "^7.16.7"
7872 }
7873 },
7874 "@babel/plugin-syntax-jsx": {
7875 "version": "7.16.7",
7876 "bundled": true,
7877 "dev": true,
7878 "requires": {
7879 "@babel/helper-plugin-utils": "^7.16.7"
7880 }
7881 },
7882 "@babel/plugin-syntax-object-rest-spread": {
7883 "version": "7.8.3",
7884 "bundled": true,
7885 "dev": true,
7886 "requires": {
7887 "@babel/helper-plugin-utils": "^7.8.0"
7888 }
7889 },
7890 "@babel/plugin-transform-destructuring": {
7891 "version": "7.17.7",
7892 "bundled": true,
7893 "dev": true,
7894 "requires": {
7895 "@babel/helper-plugin-utils": "^7.16.7"
7896 }
7897 },
7898 "@babel/plugin-transform-parameters": {
7899 "version": "7.16.7",
7900 "bundled": true,
7901 "dev": true,
7902 "requires": {
7903 "@babel/helper-plugin-utils": "^7.16.7"
7904 }
7905 },
7906 "@babel/plugin-transform-react-jsx": {
7907 "version": "7.17.3",
7908 "bundled": true,
7909 "dev": true,
7910 "requires": {
7911 "@babel/helper-annotate-as-pure": "^7.16.7",
7912 "@babel/helper-module-imports": "^7.16.7",
7913 "@babel/helper-plugin-utils": "^7.16.7",
7914 "@babel/plugin-syntax-jsx": "^7.16.7",
7915 "@babel/types": "^7.17.0"
7916 }
7917 },
7918 "@babel/template": {
7919 "version": "7.16.7",
7920 "bundled": true,
7921 "dev": true,
7922 "requires": {
7923 "@babel/code-frame": "^7.16.7",
7924 "@babel/parser": "^7.16.7",
7925 "@babel/types": "^7.16.7"
7926 }
7927 },
7928 "@babel/traverse": {
7929 "version": "7.17.3",
7930 "bundled": true,
7931 "dev": true,
7932 "requires": {
7933 "@babel/code-frame": "^7.16.7",
7934 "@babel/generator": "^7.17.3",
7935 "@babel/helper-environment-visitor": "^7.16.7",
7936 "@babel/helper-function-name": "^7.16.7",
7937 "@babel/helper-hoist-variables": "^7.16.7",
7938 "@babel/helper-split-export-declaration": "^7.16.7",
7939 "@babel/parser": "^7.17.3",
7940 "@babel/types": "^7.17.0",
7941 "debug": "^4.1.0",
7942 "globals": "^11.1.0"
7943 }
7944 },
7945 "@babel/types": {
7946 "version": "7.17.0",
7947 "bundled": true,
7948 "dev": true,
7949 "requires": {
7950 "@babel/helper-validator-identifier": "^7.16.7",
7951 "to-fast-properties": "^2.0.0"
7952 }
7953 },
7954 "@isaacs/import-jsx": {
7955 "version": "4.0.1",
7956 "bundled": true,
7957 "dev": true,
7958 "requires": {
7959 "@babel/core": "^7.5.5",
7960 "@babel/plugin-proposal-object-rest-spread": "^7.5.5",
7961 "@babel/plugin-transform-destructuring": "^7.5.0",
7962 "@babel/plugin-transform-react-jsx": "^7.3.0",
7963 "caller-path": "^3.0.1",
7964 "find-cache-dir": "^3.2.0",
7965 "make-dir": "^3.0.2",
7966 "resolve-from": "^3.0.0",
7967 "rimraf": "^3.0.0"
7968 }
7969 },
7970 "@jridgewell/resolve-uri": {
7971 "version": "3.0.5",
7972 "bundled": true,
7973 "dev": true
7974 },
7975 "@jridgewell/sourcemap-codec": {
7976 "version": "1.4.11",
7977 "bundled": true,
7978 "dev": true
7979 },
7980 "@jridgewell/trace-mapping": {
7981 "version": "0.3.4",
7982 "bundled": true,
7983 "dev": true,
7984 "requires": {
7985 "@jridgewell/resolve-uri": "^3.0.3",
7986 "@jridgewell/sourcemap-codec": "^1.4.10"
7987 }
7988 },
7989 "@types/prop-types": {
7990 "version": "15.7.4",
7991 "bundled": true,
7992 "dev": true
7993 },
7994 "@types/react": {
7995 "version": "17.0.41",
7996 "bundled": true,
7997 "dev": true,
7998 "requires": {
7999 "@types/prop-types": "*",
8000 "@types/scheduler": "*",
8001 "csstype": "^3.0.2"
8002 }
8003 },
8004 "@types/scheduler": {
8005 "version": "0.16.2",
8006 "bundled": true,
8007 "dev": true
8008 },
8009 "@types/yoga-layout": {
8010 "version": "1.9.2",
8011 "bundled": true,
8012 "dev": true
8013 },
8014 "ansi-escapes": {
8015 "version": "4.3.2",
8016 "bundled": true,
8017 "dev": true,
8018 "requires": {
8019 "type-fest": "^0.21.3"
8020 },
8021 "dependencies": {
8022 "type-fest": {
8023 "version": "0.21.3",
8024 "bundled": true,
8025 "dev": true
8026 }
8027 }
8028 },
8029 "ansi-regex": {
8030 "version": "5.0.1",
8031 "bundled": true,
8032 "dev": true
8033 },
8034 "ansi-styles": {
8035 "version": "3.2.1",
8036 "bundled": true,
8037 "dev": true,
8038 "requires": {
8039 "color-convert": "^1.9.0"
8040 }
8041 },
8042 "ansicolors": {
8043 "version": "0.3.2",
8044 "bundled": true,
8045 "dev": true
8046 },
8047 "astral-regex": {
8048 "version": "2.0.0",
8049 "bundled": true,
8050 "dev": true
8051 },
8052 "auto-bind": {
8053 "version": "4.0.0",
8054 "bundled": true,
8055 "dev": true
8056 },
8057 "balanced-match": {
8058 "version": "1.0.2",
8059 "bundled": true,
8060 "dev": true
8061 },
8062 "brace-expansion": {
8063 "version": "1.1.11",
8064 "bundled": true,
8065 "dev": true,
8066 "requires": {
8067 "balanced-match": "^1.0.0",
8068 "concat-map": "0.0.1"
8069 }
8070 },
8071 "browserslist": {
8072 "version": "4.20.2",
8073 "bundled": true,
8074 "dev": true,
8075 "requires": {
8076 "caniuse-lite": "^1.0.30001317",
8077 "electron-to-chromium": "^1.4.84",
8078 "escalade": "^3.1.1",
8079 "node-releases": "^2.0.2",
8080 "picocolors": "^1.0.0"
8081 }
8082 },
8083 "caller-callsite": {
8084 "version": "4.1.0",
8085 "bundled": true,
8086 "dev": true,
8087 "requires": {
8088 "callsites": "^3.1.0"
8089 }
8090 },
8091 "caller-path": {
8092 "version": "3.0.1",
8093 "bundled": true,
8094 "dev": true,
8095 "requires": {
8096 "caller-callsite": "^4.1.0"
8097 }
8098 },
8099 "callsites": {
8100 "version": "3.1.0",
8101 "bundled": true,
8102 "dev": true
8103 },
8104 "caniuse-lite": {
8105 "version": "1.0.30001319",
8106 "bundled": true,
8107 "dev": true
8108 },
8109 "cardinal": {
8110 "version": "2.1.1",
8111 "bundled": true,
8112 "dev": true,
8113 "requires": {
8114 "ansicolors": "~0.3.2",
8115 "redeyed": "~2.1.0"
8116 }
8117 },
8118 "chalk": {
8119 "version": "2.4.2",
8120 "bundled": true,
8121 "dev": true,
8122 "requires": {
8123 "ansi-styles": "^3.2.1",
8124 "escape-string-regexp": "^1.0.5",
8125 "supports-color": "^5.3.0"
8126 }
8127 },
8128 "ci-info": {
8129 "version": "2.0.0",
8130 "bundled": true,
8131 "dev": true
8132 },
8133 "cli-boxes": {
8134 "version": "2.2.1",
8135 "bundled": true,
8136 "dev": true
8137 },
8138 "cli-cursor": {
8139 "version": "3.1.0",
8140 "bundled": true,
8141 "dev": true,
8142 "requires": {
8143 "restore-cursor": "^3.1.0"
8144 }
8145 },
8146 "cli-truncate": {
8147 "version": "2.1.0",
8148 "bundled": true,
8149 "dev": true,
8150 "requires": {
8151 "slice-ansi": "^3.0.0",
8152 "string-width": "^4.2.0"
8153 }
8154 },
8155 "code-excerpt": {
8156 "version": "3.0.0",
8157 "bundled": true,
8158 "dev": true,
8159 "requires": {
8160 "convert-to-spaces": "^1.0.1"
8161 }
8162 },
8163 "color-convert": {
8164 "version": "1.9.3",
8165 "bundled": true,
8166 "dev": true,
8167 "requires": {
8168 "color-name": "1.1.3"
8169 }
8170 },
8171 "color-name": {
8172 "version": "1.1.3",
8173 "bundled": true,
8174 "dev": true
8175 },
8176 "commondir": {
8177 "version": "1.0.1",
8178 "bundled": true,
8179 "dev": true
8180 },
8181 "concat-map": {
8182 "version": "0.0.1",
8183 "bundled": true,
8184 "dev": true
8185 },
8186 "convert-source-map": {
8187 "version": "1.8.0",
8188 "bundled": true,
8189 "dev": true,
8190 "requires": {
8191 "safe-buffer": "~5.1.1"
8192 }
8193 },
8194 "convert-to-spaces": {
8195 "version": "1.0.2",
8196 "bundled": true,
8197 "dev": true
8198 },
8199 "csstype": {
8200 "version": "3.0.11",
8201 "bundled": true,
8202 "dev": true
8203 },
8204 "debug": {
8205 "version": "4.3.4",
8206 "bundled": true,
8207 "dev": true,
8208 "requires": {
8209 "ms": "2.1.2"
8210 }
8211 },
8212 "electron-to-chromium": {
8213 "version": "1.4.89",
8214 "bundled": true,
8215 "dev": true
8216 },
8217 "emoji-regex": {
8218 "version": "8.0.0",
8219 "bundled": true,
8220 "dev": true
8221 },
8222 "escalade": {
8223 "version": "3.1.1",
8224 "bundled": true,
8225 "dev": true
8226 },
8227 "escape-string-regexp": {
8228 "version": "1.0.5",
8229 "bundled": true,
8230 "dev": true
8231 },
8232 "esprima": {
8233 "version": "4.0.1",
8234 "bundled": true,
8235 "dev": true
8236 },
8237 "events-to-array": {
8238 "version": "1.1.2",
8239 "bundled": true,
8240 "dev": true
8241 },
8242 "find-cache-dir": {
8243 "version": "3.3.2",
8244 "bundled": true,
8245 "dev": true,
8246 "requires": {
8247 "commondir": "^1.0.1",
8248 "make-dir": "^3.0.2",
8249 "pkg-dir": "^4.1.0"
8250 }
8251 },
8252 "find-up": {
8253 "version": "4.1.0",
8254 "bundled": true,
8255 "dev": true,
8256 "requires": {
8257 "locate-path": "^5.0.0",
8258 "path-exists": "^4.0.0"
8259 }
8260 },
8261 "fs.realpath": {
8262 "version": "1.0.0",
8263 "bundled": true,
8264 "dev": true
8265 },
8266 "gensync": {
8267 "version": "1.0.0-beta.2",
8268 "bundled": true,
8269 "dev": true
8270 },
8271 "glob": {
8272 "version": "7.2.0",
8273 "bundled": true,
8274 "dev": true,
8275 "requires": {
8276 "fs.realpath": "^1.0.0",
8277 "inflight": "^1.0.4",
8278 "inherits": "2",
8279 "minimatch": "^3.0.4",
8280 "once": "^1.3.0",
8281 "path-is-absolute": "^1.0.0"
8282 }
8283 },
8284 "globals": {
8285 "version": "11.12.0",
8286 "bundled": true,
8287 "dev": true
8288 },
8289 "has-flag": {
8290 "version": "3.0.0",
8291 "bundled": true,
8292 "dev": true
8293 },
8294 "indent-string": {
8295 "version": "4.0.0",
8296 "bundled": true,
8297 "dev": true
8298 },
8299 "inflight": {
8300 "version": "1.0.6",
8301 "bundled": true,
8302 "dev": true,
8303 "requires": {
8304 "once": "^1.3.0",
8305 "wrappy": "1"
8306 }
8307 },
8308 "inherits": {
8309 "version": "2.0.4",
8310 "bundled": true,
8311 "dev": true
8312 },
8313 "ink": {
8314 "version": "3.2.0",
8315 "bundled": true,
8316 "dev": true,
8317 "requires": {
8318 "ansi-escapes": "^4.2.1",
8319 "auto-bind": "4.0.0",
8320 "chalk": "^4.1.0",
8321 "cli-boxes": "^2.2.0",
8322 "cli-cursor": "^3.1.0",
8323 "cli-truncate": "^2.1.0",
8324 "code-excerpt": "^3.0.0",
8325 "indent-string": "^4.0.0",
8326 "is-ci": "^2.0.0",
8327 "lodash": "^4.17.20",
8328 "patch-console": "^1.0.0",
8329 "react-devtools-core": "^4.19.1",
8330 "react-reconciler": "^0.26.2",
8331 "scheduler": "^0.20.2",
8332 "signal-exit": "^3.0.2",
8333 "slice-ansi": "^3.0.0",
8334 "stack-utils": "^2.0.2",
8335 "string-width": "^4.2.2",
8336 "type-fest": "^0.12.0",
8337 "widest-line": "^3.1.0",
8338 "wrap-ansi": "^6.2.0",
8339 "ws": "^7.5.5",
8340 "yoga-layout-prebuilt": "^1.9.6"
8341 },
8342 "dependencies": {
8343 "ansi-styles": {
8344 "version": "4.3.0",
8345 "bundled": true,
8346 "dev": true,
8347 "requires": {
8348 "color-convert": "^2.0.1"
8349 }
8350 },
8351 "chalk": {
8352 "version": "4.1.2",
8353 "bundled": true,
8354 "dev": true,
8355 "requires": {
8356 "ansi-styles": "^4.1.0",
8357 "supports-color": "^7.1.0"
8358 }
8359 },
8360 "color-convert": {
8361 "version": "2.0.1",
8362 "bundled": true,
8363 "dev": true,
8364 "requires": {
8365 "color-name": "~1.1.4"
8366 }
8367 },
8368 "color-name": {
8369 "version": "1.1.4",
8370 "bundled": true,
8371 "dev": true
8372 },
8373 "has-flag": {
8374 "version": "4.0.0",
8375 "bundled": true,
8376 "dev": true
8377 },
8378 "supports-color": {
8379 "version": "7.2.0",
8380 "bundled": true,
8381 "dev": true,
8382 "requires": {
8383 "has-flag": "^4.0.0"
8384 }
8385 }
8386 }
8387 },
8388 "is-ci": {
8389 "version": "2.0.0",
8390 "bundled": true,
8391 "dev": true,
8392 "requires": {
8393 "ci-info": "^2.0.0"
8394 }
8395 },
8396 "is-fullwidth-code-point": {
8397 "version": "3.0.0",
8398 "bundled": true,
8399 "dev": true
8400 },
8401 "js-tokens": {
8402 "version": "4.0.0",
8403 "bundled": true,
8404 "dev": true
8405 },
8406 "jsesc": {
8407 "version": "2.5.2",
8408 "bundled": true,
8409 "dev": true
8410 },
8411 "json5": {
8412 "version": "2.2.1",
8413 "bundled": true,
8414 "dev": true
8415 },
8416 "locate-path": {
8417 "version": "5.0.0",
8418 "bundled": true,
8419 "dev": true,
8420 "requires": {
8421 "p-locate": "^4.1.0"
8422 }
8423 },
8424 "lodash": {
8425 "version": "4.17.21",
8426 "bundled": true,
8427 "dev": true
8428 },
8429 "loose-envify": {
8430 "version": "1.4.0",
8431 "bundled": true,
8432 "dev": true,
8433 "requires": {
8434 "js-tokens": "^3.0.0 || ^4.0.0"
8435 }
8436 },
8437 "make-dir": {
8438 "version": "3.1.0",
8439 "bundled": true,
8440 "dev": true,
8441 "requires": {
8442 "semver": "^6.0.0"
8443 }
8444 },
8445 "mimic-fn": {
8446 "version": "2.1.0",
8447 "bundled": true,
8448 "dev": true
8449 },
8450 "minimatch": {
8451 "version": "3.1.2",
8452 "bundled": true,
8453 "dev": true,
8454 "requires": {
8455 "brace-expansion": "^1.1.7"
8456 }
8457 },
8458 "minipass": {
8459 "version": "3.1.6",
8460 "bundled": true,
8461 "dev": true,
8462 "requires": {
8463 "yallist": "^4.0.0"
8464 }
8465 },
8466 "mkdirp": {
8467 "version": "1.0.4",
8468 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
8469 "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
8470 "dev": true
8471 },
8472 "ms": {
8473 "version": "2.1.2",
8474 "bundled": true,
8475 "dev": true
8476 },
8477 "node-releases": {
8478 "version": "2.0.2",
8479 "bundled": true,
8480 "dev": true
8481 },
8482 "object-assign": {
8483 "version": "4.1.1",
8484 "bundled": true,
8485 "dev": true
8486 },
8487 "once": {
8488 "version": "1.4.0",
8489 "bundled": true,
8490 "dev": true,
8491 "requires": {
8492 "wrappy": "1"
8493 }
8494 },
8495 "onetime": {
8496 "version": "5.1.2",
8497 "bundled": true,
8498 "dev": true,
8499 "requires": {
8500 "mimic-fn": "^2.1.0"
8501 }
8502 },
8503 "p-limit": {
8504 "version": "2.3.0",
8505 "bundled": true,
8506 "dev": true,
8507 "requires": {
8508 "p-try": "^2.0.0"
8509 }
8510 },
8511 "p-locate": {
8512 "version": "4.1.0",
8513 "bundled": true,
8514 "dev": true,
8515 "requires": {
8516 "p-limit": "^2.2.0"
8517 }
8518 },
8519 "p-try": {
8520 "version": "2.2.0",
8521 "bundled": true,
8522 "dev": true
8523 },
8524 "patch-console": {
8525 "version": "1.0.0",
8526 "bundled": true,
8527 "dev": true
8528 },
8529 "path-exists": {
8530 "version": "4.0.0",
8531 "bundled": true,
8532 "dev": true
8533 },
8534 "path-is-absolute": {
8535 "version": "1.0.1",
8536 "bundled": true,
8537 "dev": true
8538 },
8539 "picocolors": {
8540 "version": "1.0.0",
8541 "bundled": true,
8542 "dev": true
8543 },
8544 "pkg-dir": {
8545 "version": "4.2.0",
8546 "bundled": true,
8547 "dev": true,
8548 "requires": {
8549 "find-up": "^4.0.0"
8550 }
8551 },
8552 "punycode": {
8553 "version": "2.1.1",
8554 "bundled": true,
8555 "dev": true
8556 },
8557 "react": {
8558 "version": "17.0.2",
8559 "bundled": true,
8560 "dev": true,
8561 "requires": {
8562 "loose-envify": "^1.1.0",
8563 "object-assign": "^4.1.1"
8564 }
8565 },
8566 "react-devtools-core": {
8567 "version": "4.24.1",
8568 "bundled": true,
8569 "dev": true,
8570 "requires": {
8571 "shell-quote": "^1.6.1",
8572 "ws": "^7"
8573 }
8574 },
8575 "react-reconciler": {
8576 "version": "0.26.2",
8577 "bundled": true,
8578 "dev": true,
8579 "requires": {
8580 "loose-envify": "^1.1.0",
8581 "object-assign": "^4.1.1",
8582 "scheduler": "^0.20.2"
8583 }
8584 },
8585 "redeyed": {
8586 "version": "2.1.1",
8587 "bundled": true,
8588 "dev": true,
8589 "requires": {
8590 "esprima": "~4.0.0"
8591 }
8592 },
8593 "resolve-from": {
8594 "version": "3.0.0",
8595 "bundled": true,
8596 "dev": true
8597 },
8598 "restore-cursor": {
8599 "version": "3.1.0",
8600 "bundled": true,
8601 "dev": true,
8602 "requires": {
8603 "onetime": "^5.1.0",
8604 "signal-exit": "^3.0.2"
8605 }
8606 },
8607 "rimraf": {
8608 "version": "3.0.2",
8609 "bundled": true,
8610 "dev": true,
8611 "requires": {
8612 "glob": "^7.1.3"
8613 }
8614 },
8615 "safe-buffer": {
8616 "version": "5.1.2",
8617 "bundled": true,
8618 "dev": true
8619 },
8620 "scheduler": {
8621 "version": "0.20.2",
8622 "bundled": true,
8623 "dev": true,
8624 "requires": {
8625 "loose-envify": "^1.1.0",
8626 "object-assign": "^4.1.1"
8627 }
8628 },
8629 "semver": {
8630 "version": "6.3.0",
8631 "bundled": true,
8632 "dev": true
8633 },
8634 "shell-quote": {
8635 "version": "1.7.3",
8636 "bundled": true,
8637 "dev": true
8638 },
8639 "signal-exit": {
8640 "version": "3.0.7",
8641 "bundled": true,
8642 "dev": true
8643 },
8644 "slice-ansi": {
8645 "version": "3.0.0",
8646 "bundled": true,
8647 "dev": true,
8648 "requires": {
8649 "ansi-styles": "^4.0.0",
8650 "astral-regex": "^2.0.0",
8651 "is-fullwidth-code-point": "^3.0.0"
8652 },
8653 "dependencies": {
8654 "ansi-styles": {
8655 "version": "4.3.0",
8656 "bundled": true,
8657 "dev": true,
8658 "requires": {
8659 "color-convert": "^2.0.1"
8660 }
8661 },
8662 "color-convert": {
8663 "version": "2.0.1",
8664 "bundled": true,
8665 "dev": true,
8666 "requires": {
8667 "color-name": "~1.1.4"
8668 }
8669 },
8670 "color-name": {
8671 "version": "1.1.4",
8672 "bundled": true,
8673 "dev": true
8674 }
8675 }
8676 },
8677 "source-map": {
8678 "version": "0.5.7",
8679 "bundled": true,
8680 "dev": true
8681 },
8682 "stack-utils": {
8683 "version": "2.0.5",
8684 "bundled": true,
8685 "dev": true,
8686 "requires": {
8687 "escape-string-regexp": "^2.0.0"
8688 },
8689 "dependencies": {
8690 "escape-string-regexp": {
8691 "version": "2.0.0",
8692 "bundled": true,
8693 "dev": true
8694 }
8695 }
8696 },
8697 "string-width": {
8698 "version": "4.2.3",
8699 "bundled": true,
8700 "dev": true,
8701 "requires": {
8702 "emoji-regex": "^8.0.0",
8703 "is-fullwidth-code-point": "^3.0.0",
8704 "strip-ansi": "^6.0.1"
8705 }
8706 },
8707 "strip-ansi": {
8708 "version": "6.0.1",
8709 "bundled": true,
8710 "dev": true,
8711 "requires": {
8712 "ansi-regex": "^5.0.1"
8713 }
8714 },
8715 "supports-color": {
8716 "version": "5.5.0",
8717 "bundled": true,
8718 "dev": true,
8719 "requires": {
8720 "has-flag": "^3.0.0"
8721 }
8722 },
8723 "tap-parser": {
8724 "version": "11.0.1",
8725 "bundled": true,
8726 "dev": true,
8727 "requires": {
8728 "events-to-array": "^1.0.1",
8729 "minipass": "^3.1.6",
8730 "tap-yaml": "^1.0.0"
8731 }
8732 },
8733 "tap-yaml": {
8734 "version": "1.0.0",
8735 "bundled": true,
8736 "dev": true,
8737 "requires": {
8738 "yaml": "^1.5.0"
8739 }
8740 },
8741 "to-fast-properties": {
8742 "version": "2.0.0",
8743 "bundled": true,
8744 "dev": true
8745 },
8746 "treport": {
8747 "version": "3.0.3",
8748 "bundled": true,
8749 "dev": true,
8750 "requires": {
8751 "@isaacs/import-jsx": "^4.0.1",
8752 "cardinal": "^2.1.1",
8753 "chalk": "^3.0.0",
8754 "ink": "^3.2.0",
8755 "ms": "^2.1.2",
8756 "tap-parser": "^11.0.0",
8757 "unicode-length": "^2.0.2"
8758 },
8759 "dependencies": {
8760 "ansi-styles": {
8761 "version": "4.3.0",
8762 "bundled": true,
8763 "dev": true,
8764 "requires": {
8765 "color-convert": "^2.0.1"
8766 }
8767 },
8768 "chalk": {
8769 "version": "3.0.0",
8770 "bundled": true,
8771 "dev": true,
8772 "requires": {
8773 "ansi-styles": "^4.1.0",
8774 "supports-color": "^7.1.0"
8775 }
8776 },
8777 "color-convert": {
8778 "version": "2.0.1",
8779 "bundled": true,
8780 "dev": true,
8781 "requires": {
8782 "color-name": "~1.1.4"
8783 }
8784 },
8785 "color-name": {
8786 "version": "1.1.4",
8787 "bundled": true,
8788 "dev": true
8789 },
8790 "has-flag": {
8791 "version": "4.0.0",
8792 "bundled": true,
8793 "dev": true
8794 },
8795 "supports-color": {
8796 "version": "7.2.0",
8797 "bundled": true,
8798 "dev": true,
8799 "requires": {
8800 "has-flag": "^4.0.0"
8801 }
8802 }
8803 }
8804 },
8805 "type-fest": {
8806 "version": "0.12.0",
8807 "bundled": true,
8808 "dev": true
8809 },
8810 "unicode-length": {
8811 "version": "2.0.2",
8812 "bundled": true,
8813 "dev": true,
8814 "requires": {
8815 "punycode": "^2.0.0",
8816 "strip-ansi": "^3.0.1"
8817 },
8818 "dependencies": {
8819 "ansi-regex": {
8820 "version": "2.1.1",
8821 "bundled": true,
8822 "dev": true
8823 },
8824 "strip-ansi": {
8825 "version": "3.0.1",
8826 "bundled": true,
8827 "dev": true,
8828 "requires": {
8829 "ansi-regex": "^2.0.0"
8830 }
8831 }
8832 }
8833 },
8834 "which": {
8835 "version": "2.0.2",
8836 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
8837 "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
8838 "dev": true,
8839 "requires": {
8840 "isexe": "^2.0.0"
8841 }
8842 },
8843 "widest-line": {
8844 "version": "3.1.0",
8845 "bundled": true,
8846 "dev": true,
8847 "requires": {
8848 "string-width": "^4.0.0"
8849 }
8850 },
8851 "wrap-ansi": {
8852 "version": "6.2.0",
8853 "bundled": true,
8854 "dev": true,
8855 "requires": {
8856 "ansi-styles": "^4.0.0",
8857 "string-width": "^4.1.0",
8858 "strip-ansi": "^6.0.0"
8859 },
8860 "dependencies": {
8861 "ansi-styles": {
8862 "version": "4.3.0",
8863 "bundled": true,
8864 "dev": true,
8865 "requires": {
8866 "color-convert": "^2.0.1"
8867 }
8868 },
8869 "color-convert": {
8870 "version": "2.0.1",
8871 "bundled": true,
8872 "dev": true,
8873 "requires": {
8874 "color-name": "~1.1.4"
8875 }
8876 },
8877 "color-name": {
8878 "version": "1.1.4",
8879 "bundled": true,
8880 "dev": true
8881 }
8882 }
8883 },
8884 "wrappy": {
8885 "version": "1.0.2",
8886 "bundled": true,
8887 "dev": true
8888 },
8889 "ws": {
8890 "version": "7.5.7",
8891 "bundled": true,
8892 "dev": true,
8893 "requires": {}
8894 },
8895 "yallist": {
8896 "version": "4.0.0",
8897 "bundled": true,
8898 "dev": true
8899 },
8900 "yaml": {
8901 "version": "1.10.2",
8902 "bundled": true,
8903 "dev": true
8904 },
8905 "yoga-layout-prebuilt": {
8906 "version": "1.10.0",
8907 "bundled": true,
8908 "dev": true,
8909 "requires": {
8910 "@types/yoga-layout": "1.9.2"
8911 }
8912 }
8913 }
8914 },
8915 "tap-mocha-reporter": {
8916 "version": "5.0.3",
8917 "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-5.0.3.tgz",
8918 "integrity": "sha512-6zlGkaV4J+XMRFkN0X+yuw6xHbE9jyCZ3WUKfw4KxMyRGOpYSRuuQTRJyWX88WWuLdVTuFbxzwXhXuS2XE6o0g==",
8919 "dev": true,
8920 "requires": {
8921 "color-support": "^1.1.0",
8922 "debug": "^4.1.1",
8923 "diff": "^4.0.1",
8924 "escape-string-regexp": "^2.0.0",
8925 "glob": "^7.0.5",
8926 "tap-parser": "^11.0.0",
8927 "tap-yaml": "^1.0.0",
8928 "unicode-length": "^2.0.2"
8929 },
8930 "dependencies": {
8931 "escape-string-regexp": {
8932 "version": "2.0.0",
8933 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
8934 "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
8935 "dev": true
8936 }
8937 }
8938 },
8939 "tap-parser": {
8940 "version": "11.0.1",
8941 "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-11.0.1.tgz",
8942 "integrity": "sha512-5ow0oyFOnXVSALYdidMX94u0GEjIlgc/BPFYLx0yRh9hb8+cFGNJqJzDJlUqbLOwx8+NBrIbxCWkIQi7555c0w==",
8943 "dev": true,
8944 "requires": {
8945 "events-to-array": "^1.0.1",
8946 "minipass": "^3.1.6",
8947 "tap-yaml": "^1.0.0"
8948 }
8949 },
8950 "tap-yaml": {
8951 "version": "1.0.0",
8952 "resolved": "https://registry.npmjs.org/tap-yaml/-/tap-yaml-1.0.0.tgz",
8953 "integrity": "sha512-Rxbx4EnrWkYk0/ztcm5u3/VznbyFJpyXO12dDBHKWiDVxy7O2Qw6MRrwO5H6Ww0U5YhRY/4C/VzWmFPhBQc4qQ==",
8954 "dev": true,
8955 "requires": {
8956 "yaml": "^1.5.0"
8957 }
8958 },
8959 "tcompare": {
8960 "version": "5.0.7",
8961 "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-5.0.7.tgz",
8962 "integrity": "sha512-d9iddt6YYGgyxJw5bjsN7UJUO1kGOtjSlNy/4PoGYAjQS5pAT/hzIoLf1bZCw+uUxRmZJh7Yy1aA7xKVRT9B4w==",
8963 "dev": true,
8964 "requires": {
8965 "diff": "^4.0.2"
8966 }
8967 },
8968 "test-exclude": {
8969 "version": "6.0.0",
8970 "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
8971 "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
8972 "dev": true,
8973 "requires": {
8974 "@istanbuljs/schema": "^0.1.2",
8975 "glob": "^7.1.4",
8976 "minimatch": "^3.0.4"
8977 }
8978 },
2463 "text-table": {
8979 "text-table": {
2464 "version": "0.2.0",
8980 "version": "0.2.0",
2465 "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
8981 "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -2481,6 +8997,27
2481 "os-tmpdir": "~1.0.2"
8997 "os-tmpdir": "~1.0.2"
2482 }
8998 }
2483 },
8999 },
9000 "to-fast-properties": {
9001 "version": "2.0.0",
9002 "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
9003 "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
9004 "dev": true
9005 },
9006 "to-regex-range": {
9007 "version": "5.0.1",
9008 "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
9009 "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
9010 "dev": true,
9011 "requires": {
9012 "is-number": "^7.0.0"
9013 }
9014 },
9015 "trivial-deferred": {
9016 "version": "1.0.1",
9017 "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz",
9018 "integrity": "sha512-dagAKX7vaesNNAwOc9Np9C2mJ+7YopF4lk+jE2JML9ta4kZ91Y6UruJNH65bLRYoUROD8EY+Pmi44qQWwXR7sw==",
9019 "dev": true
9020 },
2484 "tslib": {
9021 "tslib": {
2485 "version": "1.10.0",
9022 "version": "1.10.0",
2486 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
9023 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
@@ -2546,11 +9083,39
2546 "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
9083 "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
2547 "dev": true
9084 "dev": true
2548 },
9085 },
9086 "typedarray-to-buffer": {
9087 "version": "3.1.5",
9088 "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
9089 "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
9090 "dev": true,
9091 "requires": {
9092 "is-typedarray": "^1.0.0"
9093 }
9094 },
2549 "typescript": {
9095 "typescript": {
2550 "version": "4.2.4",
9096 "version": "4.8.2",
2551 "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz",
9097 "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.2.tgz",
2552 "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==",
9098 "integrity": "sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==",
2553 "dev": true
9099 "dev": true
9100 },
9101 "unicode-length": {
9102 "version": "2.1.0",
9103 "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-2.1.0.tgz",
9104 "integrity": "sha512-4bV582zTV9Q02RXBxSUMiuN/KHo5w4aTojuKTNT96DIKps/SIawFp7cS5Mu25VuY1AioGXrmYyzKZUzh8OqoUw==",
9105 "dev": true,
9106 "requires": {
9107 "punycode": "^2.0.0"
9108 }
9109 },
9110 "update-browserslist-db": {
9111 "version": "1.0.7",
9112 "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz",
9113 "integrity": "sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg==",
9114 "dev": true,
9115 "requires": {
9116 "escalade": "^3.1.1",
9117 "picocolors": "^1.0.0"
9118 }
2554 },
9119 },
2555 "uri-js": {
9120 "uri-js": {
2556 "version": "4.2.2",
9121 "version": "4.2.2",
@@ -2561,6 +9126,12
2561 "punycode": "^2.1.0"
9126 "punycode": "^2.1.0"
2562 }
9127 }
2563 },
9128 },
9129 "uuid": {
9130 "version": "8.3.2",
9131 "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
9132 "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
9133 "dev": true
9134 },
2564 "v8-compile-cache": {
9135 "v8-compile-cache": {
2565 "version": "2.1.0",
9136 "version": "2.1.0",
2566 "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
9137 "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
@@ -2576,12 +9147,64
2576 "isexe": "^2.0.0"
9147 "isexe": "^2.0.0"
2577 }
9148 }
2578 },
9149 },
9150 "which-module": {
9151 "version": "2.0.0",
9152 "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
9153 "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==",
9154 "dev": true
9155 },
2579 "word-wrap": {
9156 "word-wrap": {
2580 "version": "1.2.3",
9157 "version": "1.2.3",
2581 "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
9158 "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
2582 "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
9159 "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
2583 "dev": true
9160 "dev": true
2584 },
9161 },
9162 "wrap-ansi": {
9163 "version": "7.0.0",
9164 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
9165 "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
9166 "dev": true,
9167 "requires": {
9168 "ansi-styles": "^4.0.0",
9169 "string-width": "^4.1.0",
9170 "strip-ansi": "^6.0.0"
9171 },
9172 "dependencies": {
9173 "ansi-styles": {
9174 "version": "4.3.0",
9175 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
9176 "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
9177 "dev": true,
9178 "requires": {
9179 "color-convert": "^2.0.1"
9180 }
9181 },
9182 "color-convert": {
9183 "version": "2.0.1",
9184 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
9185 "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
9186 "dev": true,
9187 "requires": {
9188 "color-name": "~1.1.4"
9189 }
9190 },
9191 "color-name": {
9192 "version": "1.1.4",
9193 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
9194 "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
9195 "dev": true
9196 },
9197 "strip-ansi": {
9198 "version": "6.0.1",
9199 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
9200 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
9201 "dev": true,
9202 "requires": {
9203 "ansi-regex": "^5.0.1"
9204 }
9205 }
9206 }
9207 },
2585 "wrappy": {
9208 "wrappy": {
2586 "version": "1.0.2",
9209 "version": "1.0.2",
2587 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
9210 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
@@ -2597,6 +9220,30
2597 "mkdirp": "^0.5.1"
9220 "mkdirp": "^0.5.1"
2598 }
9221 }
2599 },
9222 },
9223 "write-file-atomic": {
9224 "version": "3.0.3",
9225 "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
9226 "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
9227 "dev": true,
9228 "requires": {
9229 "imurmurhash": "^0.1.4",
9230 "is-typedarray": "^1.0.0",
9231 "signal-exit": "^3.0.2",
9232 "typedarray-to-buffer": "^3.1.5"
9233 }
9234 },
9235 "y18n": {
9236 "version": "4.0.3",
9237 "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
9238 "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
9239 "dev": true
9240 },
9241 "yallist": {
9242 "version": "4.0.0",
9243 "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
9244 "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
9245 "dev": true
9246 },
2600 "yaml": {
9247 "yaml": {
2601 "version": "1.7.2",
9248 "version": "1.7.2",
2602 "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz",
9249 "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz",
@@ -2605,6 +9252,92
2605 "requires": {
9252 "requires": {
2606 "@babel/runtime": "^7.6.3"
9253 "@babel/runtime": "^7.6.3"
2607 }
9254 }
2608 }
9255 },
2609 }
9256 "yargs": {
2610 }
9257 "version": "15.4.1",
9258 "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
9259 "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
9260 "dev": true,
9261 "requires": {
9262 "cliui": "^6.0.0",
9263 "decamelize": "^1.2.0",
9264 "find-up": "^4.1.0",
9265 "get-caller-file": "^2.0.1",
9266 "require-directory": "^2.1.1",
9267 "require-main-filename": "^2.0.0",
9268 "set-blocking": "^2.0.0",
9269 "string-width": "^4.2.0",
9270 "which-module": "^2.0.0",
9271 "y18n": "^4.0.0",
9272 "yargs-parser": "^18.1.2"
9273 },
9274 "dependencies": {
9275 "ansi-styles": {
9276 "version": "4.3.0",
9277 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
9278 "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
9279 "dev": true,
9280 "requires": {
9281 "color-convert": "^2.0.1"
9282 }
9283 },
9284 "cliui": {
9285 "version": "6.0.0",
9286 "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
9287 "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
9288 "dev": true,
9289 "requires": {
9290 "string-width": "^4.2.0",
9291 "strip-ansi": "^6.0.0",
9292 "wrap-ansi": "^6.2.0"
9293 }
9294 },
9295 "color-convert": {
9296 "version": "2.0.1",
9297 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
9298 "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
9299 "dev": true,
9300 "requires": {
9301 "color-name": "~1.1.4"
9302 }
9303 },
9304 "color-name": {
9305 "version": "1.1.4",
9306 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
9307 "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
9308 "dev": true
9309 },
9310 "strip-ansi": {
9311 "version": "6.0.1",
9312 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
9313 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
9314 "dev": true,
9315 "requires": {
9316 "ansi-regex": "^5.0.1"
9317 }
9318 },
9319 "wrap-ansi": {
9320 "version": "6.2.0",
9321 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
9322 "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
9323 "dev": true,
9324 "requires": {
9325 "ansi-styles": "^4.0.0",
9326 "string-width": "^4.1.0",
9327 "strip-ansi": "^6.0.0"
9328 }
9329 }
9330 }
9331 },
9332 "yargs-parser": {
9333 "version": "18.1.3",
9334 "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
9335 "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
9336 "dev": true,
9337 "requires": {
9338 "camelcase": "^5.0.0",
9339 "decamelize": "^1.2.0"
9340 }
9341 }
9342 }
9343 }
@@ -23,12 +23,14
23 "@types/chai": "4.1.3",
23 "@types/chai": "4.1.3",
24 "@types/requirejs": "2.1.31",
24 "@types/requirejs": "2.1.31",
25 "@types/yaml": "1.2.0",
25 "@types/yaml": "1.2.0",
26 "@types/tap": "15.0.7",
26 "dojo": "1.16.0",
27 "dojo": "1.16.0",
27 "@implab/dojo-typings": "1.0.0",
28 "@implab/dojo-typings": "1.0.0",
28 "eslint": "6.8.0",
29 "eslint": "6.8.0",
29 "requirejs": "2.3.6",
30 "requirejs": "2.3.6",
30 "tslint": "^6.1.3",
31 "tslint": "^6.1.3",
31 "typescript": "4.2.4",
32 "typescript": "4.8.2",
32 "yaml": "~1.7.2"
33 "yaml": "~1.7.2",
34 "tap": "16.3.0"
33 }
35 }
34 }
36 }
@@ -1,11 +1,15
1 import { Constructor, IDestroyable, IRemovable } from "@implab/core-amd/interfaces";
1 import { Constructor } from "@implab/core-amd/interfaces";
2 import { HtmlRendition } from "./tsx/HtmlRendition";
2 import { HtmlRendition } from "./tsx/HtmlRendition";
3 import { WidgetRendition } from "./tsx/WidgetRendition";
3 import { WidgetRendition } from "./tsx/WidgetRendition";
4 import { destroy, isWidgetConstructor, Rendition } from "./tsx/traits";
4 import { isElementNode, isWidget, isWidgetConstructor, Rendition } from "./tsx/traits";
5 import { FunctionRendition } from "./tsx/FunctionRendition";
5 import { FunctionRendition } from "./tsx/FunctionRendition";
6 import Stateful = require("dojo/Stateful");
6 import Stateful = require("dojo/Stateful");
7 import _WidgetBase = require("dijit/_WidgetBase");
7 import _WidgetBase = require("dijit/_WidgetBase");
8 import { DjxWidgetBase } from "./tsx/DjxWidgetBase";
8 import { DjxWidgetBase } from "./tsx/DjxWidgetBase";
9 import { WatchRendition } from "./tsx/WatchRendition";
10 import { Observable, observe, Subscribable } from "./observable";
11 import djAttr = require("dojo/dom-attr");
12 import djClass = require("dojo/dom-class");
9
13
10 export function createElement<T extends Constructor | string | ((props: any) => Element)>(elementType: T, ...args: any[]): Rendition {
14 export function createElement<T extends Constructor | string | ((props: any) => Element)>(elementType: T, ...args: any[]): Rendition {
11 if (typeof elementType === "string") {
15 if (typeof elementType === "string") {
@@ -42,9 +46,9 export interface EventSelector {
42
46
43 export type DojoMouseEvent<T = any> = MouseEvent & EventSelector & EventDetails<T>;
47 export type DojoMouseEvent<T = any> = MouseEvent & EventSelector & EventDetails<T>;
44
48
45 type StatefulProps<T> = T extends Stateful<infer A> ? A : never;
49 type StatefulProps<T> = T extends Stateful<infer A> ? A :
50 T extends _WidgetBase ? T : never;
46
51
47 type CleanFn = (instance: IRemovable | IDestroyable) => void;
48
52
49 /**
53 /**
50 * Observers the property and calls render callback each change.
54 * Observers the property and calls render callback each change.
@@ -52,14 +56,12 type CleanFn = (instance: IRemovable | I
52 * @param target The target object which property will be observed.
56 * @param target The target object which property will be observed.
53 * @param prop The name of the property.
57 * @param prop The name of the property.
54 * @param render The callback which will be called every time the value is changed
58 * @param render The callback which will be called every time the value is changed
55 * @param cleanupOrOwner The object with method `own` or an callback to register lifecycle for the observer.
56 * @returns Rendition which is created instantly
59 * @returns Rendition which is created instantly
57 */
60 */
58 export function watch<W extends _WidgetBase, K extends keyof W>(
61 export function watch<W extends _WidgetBase, K extends keyof W>(
59 target: W,
62 target: W,
60 prop: K,
63 prop: K,
61 render: (model: W[K]) => any,
64 render: (model: W[K]) => any
62 cleanupOrOwner?: { own: CleanFn } | CleanFn
63 ): Rendition;
65 ): Rendition;
64 /**
66 /**
65 * Observers the property and calls render callback each change.
67 * Observers the property and calls render callback each change.
@@ -67,33 +69,88 export function watch<W extends _WidgetB
67 * @param target The target object which property will be observed.
69 * @param target The target object which property will be observed.
68 * @param prop The name of the property.
70 * @param prop The name of the property.
69 * @param render The callback which will be called every time the value is changed
71 * @param render The callback which will be called every time the value is changed
70 * @param cleanupOrOwner The object with method `own` or an callback to register lifecycle for the observer.
71 * @returns Rendition which is created instantly
72 * @returns Rendition which is created instantly
72 */
73 */
73 export function watch<T extends Stateful, K extends keyof StatefulProps<T>>(
74 export function watch<T extends Stateful, K extends keyof StatefulProps<T>>(
74 target: T,
75 target: T,
75 prop: K,
76 prop: K,
76 render: (model: StatefulProps<T>[K]) => any,
77 render: (model: StatefulProps<T>[K]) => any
77 cleanupOrOwner?: { own: CleanFn } | CleanFn
78 ): Rendition;
78 ): Rendition;
79 export function watch<T extends Stateful, K extends keyof StatefulProps<T> & string>(
79 export function watch<V>(subj: Subscribable<V>, render: (model: V) => unknown): Rendition;
80 target: T,
80 export function watch(
81 prop: K,
81 ...args: [Stateful, string, (model: unknown) => unknown] |
82 render: (model: StatefulProps<T>[K]) => any,
82 [Subscribable<unknown>, (model: unknown) => unknown]
83 cleanupOrOwner: { own: CleanFn } | CleanFn = () => { }
84 ) {
83 ) {
85 let rendition = new FunctionRendition(() => render(target.get(prop)));
84 if (args.length === 3) {
86 const _own = cleanupOrOwner instanceof Function ? cleanupOrOwner : (x: IRemovable) => cleanupOrOwner.own(x);
85 const [target, prop, render] = args;
87 _own(target.watch(prop, (_name, oldValue, newValue) => {
86 return new WatchRendition(
88 if (oldValue !== newValue) {
87 render,
89 const newRendition = new FunctionRendition(() => render(newValue));
88 observe(({next}) => {
90 newRendition.placeAt(rendition.getDomNode(), "replace");
89 const h = target.watch<any>(
91 destroy(rendition.getDomNode());
90 prop,
92 rendition = newRendition;
91 (_prop, oldValue, newValue) => oldValue !== newValue && next(newValue)
92 );
93 next(target.get(prop));
94 return () => h.remove();
95 })
96 );
97 } else {
98 const [subj, render] = args;
99 return new WatchRendition(render, subj);
100 }
93 }
101 }
94 }));
102
95 return rendition;
103 export const prop: {
104 <T extends Stateful, K extends string & keyof StatefulProps<T>>(target: T, name: K): Observable<StatefulProps<T>[K]>;
105 <T extends _WidgetBase, K extends keyof T>(target: T, name: K): Observable<T[K]>;
106 } = (target: Stateful, name: string) => {
107 return observe(({next}) => {
108 const h = target.watch(
109 name,
110 (_prop, oldValue, newValue) => oldValue !== newValue && next(newValue)
111 );
112 next(target.get(name));
113 return () => h.remove();
114 })
115 };
116
117 export const attach = <W extends DjxWidgetBase, K extends keyof W>(target: W, name: K) => (v: W[K]) => target.set(name, v);
118
119 export const bind = <K extends string, T>(attr: K, subj: Subscribable<T>) => {
120 let h = { unsubscribe() { } };
121
122 return <E extends (HTMLElement & { [p in K]: T }) | { set(name: K, value: T): void; }>(el: E | undefined) => {
123 if (el) {
124 if (isElementNode(el)) {
125 h = subj.subscribe({
126 next: value => djAttr.set(el, attr, value)
127 });
128 } else {
129 h = subj.subscribe({
130 next: value => el.set(attr, value)
131 });
96 }
132 }
133 } else {
134 h.unsubscribe();
135 }
136 }
137 };
138
139 export const toggleClass = (className: string, subj: Subscribable<boolean>) => {
140 let h = { unsubscribe() { } };
141 return (elOrWidget: HTMLElement | _WidgetBase | undefined) => {
142 const el = isWidget(elOrWidget) ? elOrWidget.domNode : elOrWidget;
143 if (el) {
144 h = subj.subscribe({
145 next: v => djClass.toggle(el, className, v)
146 });
147 } else {
148 h.unsubscribe();
149 }
150 }
151 }
152
153 export const all = <T, A extends JSX.Ref<T>[]>(...cbs: A): JSX.Ref<T> => (arg: T | undefined) => cbs.forEach(cb => cb(arg));
97
154
98 /** Decorates the method which will be registered as the handle for the specified event.
155 /** Decorates the method which will be registered as the handle for the specified event.
99 * This decorator can be applied to DjxWidgetBase subclass methods.
156 * This decorator can be applied to DjxWidgetBase subclass methods.
@@ -1,9 +1,11
1 import { djbase, djclass } from "../declare";
1 import { djbase, djclass } from "../declare";
2 import _WidgetBase = require("dijit/_WidgetBase");
2 import _WidgetBase = require("dijit/_WidgetBase");
3 import _AttachMixin = require("dijit/_AttachMixin");
3 import _AttachMixin = require("dijit/_AttachMixin");
4 import { Rendition, isNode } from "./traits";
4 import { Rendition, isNode, isElementNode } from "./traits";
5 import registry = require("dijit/registry");
5 import registry = require("dijit/registry");
6 import on = require("dojo/on");
6 import on = require("dojo/on");
7 import { Scope } from "./Scope";
8 import { render } from "./render";
7
9
8 // type Handle = dojo.Handle;
10 // type Handle = dojo.Handle;
9
11
@@ -36,13 +38,20 export interface DjxWidgetBase<Attrs = {
36
38
37 type _super = {
39 type _super = {
38 startup(): void;
40 startup(): void;
41
42 destroy(preserveDom?: boolean): void;
39 };
43 };
40
44
41 @djclass
45 @djclass
42 export abstract class DjxWidgetBase<Attrs = {}, Events = {}> extends djbase<_super, _AttachMixin>(_WidgetBase, _AttachMixin) {
46 export abstract class DjxWidgetBase<Attrs = {}, Events = {}> extends djbase<_super, _AttachMixin>(_WidgetBase, _AttachMixin) {
47 private readonly _scope = new Scope();
43
48
44 buildRendering() {
49 buildRendering() {
45 this.domNode = this.render().getDomNode();
50 const node = render(this.render(), this._scope);
51 if (!isElementNode(node))
52 throw new Error("The render method must return a single DOM element");
53 this.domNode = node as HTMLElement;
54
46 super.buildRendering();
55 super.buildRendering();
47
56
48 // now we should get assigned data-dojo-attach-points
57 // now we should get assigned data-dojo-attach-points
@@ -111,4 +120,9 export abstract class DjxWidgetBase<Attr
111 registry.findWidgets(this.domNode, this.containerNode).forEach(w => w.startup());
120 registry.findWidgets(this.domNode, this.containerNode).forEach(w => w.startup());
112 super.startup();
121 super.startup();
113 }
122 }
123
124 destroy(preserveDom?: boolean) {
125 this._scope.destroy();
126 super.destroy(preserveDom);
114 }
127 }
128 }
@@ -1,4 +1,5
1 import { argumentNotNull } from "@implab/core-amd/safe";
1 import { argumentNotNull } from "@implab/core-amd/safe";
2 import { getItemDom } from "./render";
2 import { RenditionBase } from "./RenditionBase";
3 import { RenditionBase } from "./RenditionBase";
3
4
4 export class FunctionRendition extends RenditionBase<Node> {
5 export class FunctionRendition extends RenditionBase<Node> {
@@ -15,10 +16,9 export class FunctionRendition extends R
15
16
16 protected _create(attrs: object, children: any[]) {
17 protected _create(attrs: object, children: any[]) {
17 const _attrs: any = attrs || {};
18 const _attrs: any = attrs || {};
18 const _children = children.map(x => this.getItemDom(x));
19 const _children = children.map(x => getItemDom(x));
19 this._node = this.getItemDom(
20 this._node = getItemDom(
20 this._component.call(null, { ..._attrs, children: _children })
21 this._component.call(null, { ..._attrs, children: _children }));
21 );
22 }
22 }
23
23
24 protected _getDomNode() {
24 protected _getDomNode() {
@@ -1,11 +1,14
1 import dom = require("dojo/dom-construct");
1 import djDom = require("dojo/dom-construct");
2 import djAttr = require("dojo/dom-attr");
2 import { argumentNotEmptyString } from "@implab/core-amd/safe";
3 import { argumentNotEmptyString } from "@implab/core-amd/safe";
3 import { RenditionBase } from "./RenditionBase";
4 import { RenditionBase } from "./RenditionBase";
5 import { placeAt } from "./traits";
6 import { getItemDom, refHook } from "./render";
4
7
5 export class HtmlRendition extends RenditionBase<HTMLElement> {
8 export class HtmlRendition extends RenditionBase<Element> {
6 elementType: string;
9 elementType: string;
7
10
8 _element: HTMLElement | undefined;
11 _element: Element | undefined;
9
12
10 constructor(elementType: string) {
13 constructor(elementType: string) {
11 argumentNotEmptyString(elementType, "elementType");
14 argumentNotEmptyString(elementType, "elementType");
@@ -14,16 +17,27 export class HtmlRendition extends Rendi
14 this.elementType = elementType;
17 this.elementType = elementType;
15 }
18 }
16
19
17 _addChild(child: any): void {
20 _addChild(child: unknown): void {
18 if (!this._element)
21 if (!this._element)
19 throw new Error("The HTML element isn't created");
22 throw new Error("The HTML element isn't created");
20 dom.place(this.getItemDom(child), this._element);
23 placeAt(getItemDom(child), this._element);
21 }
24 }
22
25
23 _create(attrs: object, children: any[]) {
26 _create({ xmlns, ref, ...attrs }: { xmlns?: string, ref?: JSX.Ref<Element> }, children: unknown[]) {
24 this._element = dom.create(this.elementType, attrs);
27
28 if (xmlns) {
29 this._element = document.createElementNS(xmlns, this.elementType);
30 djAttr.set(this._element, attrs);
31 } else {
32 this._element = djDom.create(this.elementType, attrs);
33 }
25
34
26 children.forEach(v => this._addChild(v));
35 children.forEach(v => this._addChild(v));
36
37 const element = this._element;
38
39 if (ref)
40 refHook(element, ref);
27 }
41 }
28
42
29 _getDomNode() {
43 _getDomNode() {
@@ -1,9 +1,4
1 import { isNull, mixin } from "@implab/core-amd/safe";
1 import { isPlainObject, DojoNodePosition, Rendition, isDocumentFragmentNode, placeAt, collectNodes, isMounted, startupWidgets } from "./traits";
2 import { isPlainObject, isNode, isRendition, DojoNodePosition, Rendition, isInPage, isWidget, isDocumentFragmentNode, startupWidgets } from "./traits";
3
4 import dom = require("dojo/dom-construct");
5 import registry = require("dijit/registry");
6
7
2
8 export abstract class RenditionBase<TNode extends Node> implements Rendition<TNode> {
3 export abstract class RenditionBase<TNode extends Node> implements Rendition<TNode> {
9 private _attrs = {};
4 private _attrs = {};
@@ -16,12 +11,12 export abstract class RenditionBase<TNod
16 if (this._created)
11 if (this._created)
17 throw new Error("The Element is already created");
12 throw new Error("The Element is already created");
18
13
19 if (isNull(v) || typeof v === "boolean")
14 if (v === null || v === undefined || typeof v === "boolean")
20 // skip null, undefined, booleans ( this will work: {value && <span>{value}</span>} )
15 // skip null, undefined, booleans ( this will work: {value && <span>{value}</span>} )
21 return;
16 return;
22
17
23 if (isPlainObject(v)) {
18 if (isPlainObject(v)) {
24 mixin(this._attrs, v);
19 this._attrs = {... this._attrs, ...v};
25 } else if (v instanceof Array) {
20 } else if (v instanceof Array) {
26 v.forEach(x => this.visitNext(x));
21 v.forEach(x => this.visitNext(x));
27 } else {
22 } else {
@@ -29,31 +24,6 export abstract class RenditionBase<TNod
29 }
24 }
30 }
25 }
31
26
32 /** Renders DOM element for different types of the argument. */
33 protected getItemDom(v: any) {
34 const tv = typeof v;
35
36 if (tv === "string" || tv === "number" || v instanceof RegExp || v instanceof Date) {
37 // primitive types converted to the text nodes
38 return document.createTextNode(v.toString());
39 } else if (isNode(v)) {
40 // nodes are kept as is
41 return v;
42 } else if (isRendition(v)) {
43 // renditions are instantiated
44 return v.getDomNode();
45 } else if (isWidget(v)) {
46 // widgets are converted to it's markup
47 return v.domNode;
48 } else if (tv === "boolean" || v === null || v === undefined) {
49 // null | undefined | boolean are removed, converted to comments
50 return document.createComment(`[${tv} ${String(v)}]`);
51 } else {
52 // bug: explicit error otherwise
53 throw new Error("Invalid parameter: " + v);
54 }
55 }
56
57 ensureCreated() {
27 ensureCreated() {
58 if (!this._created) {
28 if (!this._created) {
59 this._create(this._attrs, this._children);
29 this._create(this._attrs, this._children);
@@ -82,36 +52,19 export abstract class RenditionBase<TNod
82 * @param {DojoNodePosition} position Optional parameter, specifies the
52 * @param {DojoNodePosition} position Optional parameter, specifies the
83 * position relative to refNode. Default is "last" (i.e. last child).
53 * position relative to refNode. Default is "last" (i.e. last child).
84 */
54 */
85 placeAt(refNode: string | Node, position?: DojoNodePosition) {
55 placeAt(refNode: string | Node, position: DojoNodePosition = "last") {
86 const domNode = this.getDomNode();
56 const domNode = this.getDomNode();
87
57
88 const collect = (collection: HTMLCollection) => {
58 const startupPending = isDocumentFragmentNode(domNode) ? collectNodes(domNode.childNodes) : [domNode];
89 const items = [];
90 for (let i = 0, n = collection.length; i < n; i++) {
91 items.push(collection[i]);
92 }
93 return items;
94 };
95
59
96 const startup = (node: Node) => {
60 placeAt(domNode, refNode, position);
97 if (node.parentNode) {
98 const parentWidget = registry.getEnclosingWidget(node.parentNode);
99 if (parentWidget && parentWidget._started)
100 return startupWidgets(node);
101 }
102 if (isInPage(node))
103 startupWidgets(node);
104 };
105
61
106 const startupPending = isDocumentFragmentNode(domNode) ? collect(domNode.children) : [domNode];
62 if (isMounted(startupPending[0]))
107
63 startupPending.forEach(n => startupWidgets(n));
108 dom.place(domNode, refNode, position);
109
110 startupPending.forEach(startup);
111
64
112 }
65 }
113
66
114 protected abstract _create(attrs: object, children: any[]): void;
67 protected abstract _create(attrs: object, children: unknown[]): void;
115
68
116 protected abstract _getDomNode(): TNode;
69 protected abstract _getDomNode(): TNode;
117 }
70 }
@@ -1,8 +1,9
1 import { IDestroyable, IRemovable } from "@implab/core-amd/interfaces";
1 import { IDestroyable, IRemovable } from "@implab/core-amd/interfaces";
2 import { isDestroyable, isRemovable } from "@implab/core-amd/safe";
2 import { isDestroyable, isRemovable } from "@implab/core-amd/safe";
3 import { isUnsubsribable, Unsubscribable } from "../observable";
3
4
4 export interface IScope {
5 export interface IScope {
5 own(target: (() => void) | IDestroyable | IRemovable): void;
6 own(target: (() => void) | IDestroyable | IRemovable | Unsubscribable): void;
6 }
7 }
7
8
8 export class Scope implements IDestroyable, IScope {
9 export class Scope implements IDestroyable, IScope {
@@ -10,13 +11,15 export class Scope implements IDestroyab
10
11
11 static readonly dummy: IScope = { own() { } };
12 static readonly dummy: IScope = { own() { } };
12
13
13 own(target: (() => void) | IDestroyable | IRemovable) {
14 own(target: (() => void) | IDestroyable | IRemovable | Unsubscribable) {
14 if (target instanceof Function) {
15 if (target instanceof Function) {
15 this._cleanup.push(target);
16 this._cleanup.push(target);
16 } else if (isDestroyable(target)) {
17 } else if (isDestroyable(target)) {
17 this._cleanup.push(() => target.destroy());
18 this._cleanup.push(() => target.destroy());
18 } else if (isRemovable(target)) {
19 } else if (isRemovable(target)) {
19 this._cleanup.push(() => target.remove());
20 this._cleanup.push(() => target.remove());
21 } else if (isUnsubsribable(target)) {
22 this._cleanup.push(() => target.unsubscribe());
20 }
23 }
21 }
24 }
22
25
@@ -1,51 +1,90
1 import { id as mid } from "module";
1 import { id as mid } from "module";
2 import { TraceSource } from "@implab/core-amd/log/TraceSource";
2 import { TraceSource } from "@implab/core-amd/log/TraceSource";
3 import { argumentNotNull } from "@implab/core-amd/safe";
3 import { argumentNotNull } from "@implab/core-amd/safe";
4 import { place } from "dojo/dom-construct";
4 import { getScope, render } from "./render";
5 import { getScope, render } from "./Renderer";
6 import { RenditionBase } from "./RenditionBase";
5 import { RenditionBase } from "./RenditionBase";
7 import { Scope } from "./Scope";
6 import { Scope } from "./Scope";
8 import { locateNode } from "./traits";
7 import { Subscribable } from "../observable";
8 import { Cancellation } from "@implab/core-amd/Cancellation";
9 import { collectNodes, destroy, isDocumentFragmentNode, isMounted, placeAt, startupWidgets } from "./traits";
9
10
10 const trace = TraceSource.get(mid);
11 const trace = TraceSource.get(mid);
11
12
12 export class WatchRendition<T> extends RenditionBase<Node> {
13 export class WatchRendition<T> extends RenditionBase<Node> {
13 private readonly _factory: (arg: T) => any;
14 private readonly _component: (arg: T) => unknown;
14
15
15 private _node: Node;
16 private readonly _node: Node;
16
17
17 private readonly _scope = new Scope();
18 private readonly _scope = new Scope();
18
19
19 constructor(component: (arg: T) => any, subject: any) {
20 private readonly _subject: Subscribable<T>;
21
22 private _renderJob?: { value: T };
23
24 private _ct = Cancellation.none;
25
26 constructor(component: (arg: T) => unknown, subject: Subscribable<T>) {
20 super();
27 super();
21 argumentNotNull(component, "component");
28 argumentNotNull(component, "component");
22
29
23 this._factory = component;
30 this._component = component;
31
32 this._subject = subject;
33
34 this._node = document.createComment("[Watch]");
35 }
24
36
25 this._node = document.createComment("WatchRendition placeholder");
37 protected _create() {
38 const scope = getScope();
39 scope.own(() => {
40 this._scope.destroy();
41 destroy(this._node);
42 });
43 scope.own(this._subject.subscribe({ next: this._onValue }));
44 this._ct = new Cancellation(cancel => scope.own(cancel));
26 }
45 }
27
46
28 protected _create(attrs: object, children: any[]) {
47 private _onValue = (value: T) => {
29 const _attrs: any = attrs || {};
48 if (!this._renderJob) {
30 const _children = children.map(x => this.getItemDom(x));
49 // schedule a new job
31 this._node = this.getItemDom(
50 this._renderJob = { value };
32 this._factory.call(null, { ..._attrs, children: _children })
51 this._render().catch(e => trace.error(e));
52 } else {
53 // update existing job
54 this._renderJob = { value };
55 }
56 }
57
58 private async _render() {
59 // fork
60 await Promise.resolve();
61 // don't render destroyed rendition
62 if (this._ct.isRequested())
63 return;
64
65 // remove all previous content
66 this._scope.clean();
67
68 // render the new node
69 const node = render(
70 this._renderJob ? this._component(this._renderJob.value) : undefined,
71 this._scope
33 );
72 );
34
73
35 const scope = getScope();
74 // get actual content
36 scope.own(this._scope);
75 const pending = isDocumentFragmentNode(node) ?
76 collectNodes(node.childNodes) :
77 [node];
37
78
38 // если отрендерили текст? или DocumentFragment
79 placeAt(node, this._node, "after");
39 }
40
80
41 private async _render(value: T) {
81 if (isMounted(this._node))
42 const [refNode, position] = locateNode(this._node);
82 pending.forEach(n => startupWidgets(n));
43 this._scope.clean();
44
83
45 this._node = await render(() => this._factory(value), this._scope);
84 if (pending.length)
85 this._scope.own(() => pending.forEach(destroy));
46
86
47 if (refNode)
87 this._renderJob = undefined;
48 place(this._node, refNode, position);
49 }
88 }
50
89
51 protected _getDomNode() {
90 protected _getDomNode() {
@@ -1,9 +1,9
1 import dom = require("dojo/dom-construct");
2 import { argumentNotNull } from "@implab/core-amd/safe";
1 import { argumentNotNull } from "@implab/core-amd/safe";
3 import { RenditionBase } from "./RenditionBase";
2 import { RenditionBase } from "./RenditionBase";
4 import { DojoNodePosition, isElementNode, isInPage, isWidget } from "./traits";
3 import { DojoNodePosition, isElementNode, isInPage, isWidget, placeAt } from "./traits";
5 import registry = require("dijit/registry");
4 import registry = require("dijit/registry");
6 import ContentPane = require("dijit/layout/ContentPane");
5 import ContentPane = require("dijit/layout/ContentPane");
6 import { getItemDom, refHook } from "./render";
7
7
8 // tslint:disable-next-line: class-name
8 // tslint:disable-next-line: class-name
9 export interface _Widget {
9 export interface _Widget {
@@ -14,10 +14,10 export interface _Widget {
14 placeAt?(refNode: string | Node, position?: DojoNodePosition): void;
14 placeAt?(refNode: string | Node, position?: DojoNodePosition): void;
15 startup?(): void;
15 startup?(): void;
16
16
17 addChild?(widget: any, index?: number): void;
17 addChild?(widget: unknown, index?: number): void;
18 }
18 }
19
19
20 export type _WidgetCtor = new (attrs: any, srcNode?: string | Node) => _Widget;
20 export type _WidgetCtor = new (attrs: {}, srcNode?: string | Node) => _Widget;
21
21
22 export class WidgetRendition extends RenditionBase<Node> {
22 export class WidgetRendition extends RenditionBase<Node> {
23 readonly widgetClass: _WidgetCtor;
23 readonly widgetClass: _WidgetCtor;
@@ -31,7 +31,7 export class WidgetRendition extends Ren
31 this.widgetClass = widgetClass;
31 this.widgetClass = widgetClass;
32 }
32 }
33
33
34 _addChild(child: any): void {
34 _addChild(child: unknown): void {
35 const instance = this._getInstance();
35 const instance = this._getInstance();
36
36
37 if (instance.addChild) {
37 if (instance.addChild) {
@@ -41,7 +41,7 export class WidgetRendition extends Ren
41 } else if (isWidget(child)) {
41 } else if (isWidget(child)) {
42 instance.addChild(child);
42 instance.addChild(child);
43 } else {
43 } else {
44 const childDom = this.getItemDom(child);
44 const childDom = getItemDom(child);
45 const w = isElementNode(childDom) ? registry.byNode(childDom) : undefined;
45 const w = isElementNode(childDom) ? registry.byNode(childDom) : undefined;
46
46
47 if (w) {
47 if (w) {
@@ -51,7 +51,7 export class WidgetRendition extends Ren
51 throw new Error("Failed to add DOM content. The widget doesn't have a containerNode");
51 throw new Error("Failed to add DOM content. The widget doesn't have a containerNode");
52
52
53 // the current widget isn't started, it's children shouldn't start too
53 // the current widget isn't started, it's children shouldn't start too
54 dom.place(this.getItemDom(child), instance.containerNode);
54 placeAt(getItemDom(child), instance.containerNode, "last");
55 }
55 }
56 }
56 }
57 } else {
57 } else {
@@ -59,20 +59,20 export class WidgetRendition extends Ren
59 throw new Error("The widget doesn't have neither addChild nor containerNode");
59 throw new Error("The widget doesn't have neither addChild nor containerNode");
60
60
61 // the current widget isn't started, it's children shouldn't start too
61 // the current widget isn't started, it's children shouldn't start too
62 dom.place(this.getItemDom(child), instance.containerNode);
62 placeAt(getItemDom(child), instance.containerNode, "last");
63 }
63 }
64 }
64 }
65
65
66 protected _create(attrs: any, children: any[]) {
66 protected _create({ref, ...attrs}: {ref?: JSX.Ref<_Widget>}, children: unknown[]) {
67 if (this.widgetClass.prototype instanceof ContentPane) {
67 if (this.widgetClass.prototype instanceof ContentPane) {
68 // a special case for the ContentPane this is for
68 // a special case for the ContentPane this is for
69 // the compatibility with this heavy widget, all
69 // compatibility with that heavy widget, all
70 // regular containers could be easily manipulated
70 // regular containers could be easily manipulated
71 // through `containerNode` property or `addChild` method.
71 // through `containerNode` property or `addChild` method.
72
72
73 // render children to the DocumentFragment
73 // render children to the DocumentFragment
74 const content = document.createDocumentFragment();
74 const content = document.createDocumentFragment();
75 children.forEach(child => content.appendChild(this.getItemDom(child)));
75 children.forEach(child => content.appendChild(getItemDom(child)));
76
76
77 // set the content property to the parameters of the widget
77 // set the content property to the parameters of the widget
78 const _attrs = { ...attrs, content };
78 const _attrs = { ...attrs, content };
@@ -82,6 +82,8 export class WidgetRendition extends Ren
82 children.forEach(x => this._addChild(x));
82 children.forEach(x => this._addChild(x));
83 }
83 }
84
84
85 if (ref)
86 refHook(this._instance, ref);
85 }
87 }
86
88
87 private _getInstance() {
89 private _getInstance() {
@@ -1,26 +1,112
1 import { Scope } from "./Scope";
1 import { TraceSource } from "@implab/core-amd/log/TraceSource";
2 import { destroy, Rendition } from "./traits";
2 import { isPromise } from "@implab/core-amd/safe";
3 import { id as mid } from "module";
4 import { IScope, Scope } from "./Scope";
5 import { isNode, isRendition, isWidget } from "./traits";
6
7 const trace = TraceSource.get(mid);
3
8
4 let _scope = Scope.dummy;
9 interface Context {
10 scope: IScope;
5
11
6 const beginRender = async () => {
12 hooks?: (() => void)[];
13 }
14
15 let _context: Context = {
16 scope: Scope.dummy
7 }
17 }
8
18
9 const endRender = () => {
19 const guard = (cb: () => unknown) => {
20 try {
21 const result = cb()
22 if (isPromise(result)) {
23 const warn = (ret: unknown) => trace.error("The callback {0} competed asynchronously. result = {1}", cb, ret);
24 result.then(warn, warn);
25 }
26 } catch (e) {
27 trace.error(e);
28 }
29 }
30
31 export const beginRender = (scope: IScope = getScope()) => {
32 const prev = _context;
33 _context = {
34 scope,
35 hooks: []
36 };
37 return endRender(prev);
38 }
39
40 /**
41 * Completes render operation
42 */
43 const endRender = (prev: Context) => () => {
44 const { hooks } = _context;
45 if (hooks)
46 hooks.forEach(guard);
47
48 _context = prev;
10 }
49 }
11
50
12 export const getScope = () => _scope;
51 export const renderHook = (hook: () => void) => {
52 const { hooks } = _context;
53 if (hooks)
54 hooks.push(hook);
55 else
56 guard(hook);
57 }
13
58
14 export const render = async (rendition: () => Rendition, scope = Scope.dummy) => {
59 export const refHook = <T>(value: T, ref: JSX.Ref<T>) => {
15 await beginRender();
60 const { hooks, scope } = _context;
16 const prev = _scope;
61 if (hooks)
17 _scope = scope;
62 hooks.push(() => ref(value));
63 else
64 guard(() => ref(value));
65
66 scope.own(() => ref(undefined));
67 }
68
69 /** Returns the current scope */
70 export const getScope = () => _context.scope;
71
72 /** Schedules the rendition to be rendered to the DOM Node
73 * @param rendition The rendition to be rendered
74 * @param scope The scope
75 */
76 export const render = (rendition: unknown, scope = Scope.dummy) => {
77 const complete = beginRender(scope);
18 try {
78 try {
19 const node = rendition().getDomNode();
79 return getItemDom(rendition);
20 scope.own(() => destroy(node));
21 return node;
22 } finally {
80 } finally {
23 _scope = prev;
81 complete();
24 endRender();
25 }
82 }
26 }
83 }
84
85 /** Renders DOM element for different types of the argument. */
86 export const getItemDom = (v: unknown) => {
87 if (typeof v === "string" || typeof v === "number" || v instanceof RegExp || v instanceof Date) {
88 // primitive types converted to the text nodes
89 return document.createTextNode(v.toString());
90 } else if (isNode(v)) {
91 // nodes are kept as is
92 return v;
93 } else if (isRendition(v)) {
94 // renditions are instantiated
95 return v.getDomNode();
96 } else if (isWidget(v)) {
97 // widgets are converted to it's markup
98 return v.domNode;
99 } else if (typeof v === "boolean" || v === null || v === undefined) {
100 // null | undefined | boolean are removed
101 return document.createDocumentFragment();
102 } else if (v instanceof Array) {
103 // arrays will be translated to document fragments
104 const fragment = document.createDocumentFragment();
105 v.map(item => getItemDom(item))
106 .forEach(node => fragment.appendChild(node));
107 return fragment;
108 } else {
109 // bug: explicit error otherwise
110 throw new Error("Invalid parameter: " + v);
111 }
112 }
@@ -2,13 +2,15 import { IDestroyable } from "@implab/co
2 import { isDestroyable } from "@implab/core-amd/safe";
2 import { isDestroyable } from "@implab/core-amd/safe";
3 import _WidgetBase = require("dijit/_WidgetBase");
3 import _WidgetBase = require("dijit/_WidgetBase");
4 import registry = require("dijit/registry");
4 import registry = require("dijit/registry");
5 import dom = require("dojo/dom-construct");
6
5
7 type _WidgetBaseConstructor = typeof _WidgetBase;
6 interface _WidgetBaseConstructor {
7 new <A = {}, E extends { [k in keyof E]: Event } = {}>(params?: Partial<_WidgetBase<E> & A>, srcNodeRef?: dojo.NodeOrString): _WidgetBase<E> & dojo._base.DeclareCreatedObject;
8 prototype: _WidgetBase<any>;
9 }
8
10
9 export type DojoNodePosition = "first" | "after" | "before" | "last" | "replace" | "only" | number;
11 export type DojoNodePosition = "first" | "after" | "before" | "last" | "replace" | "only" | number;
10
12
11 export type DojoNodeLocation = [Node | null, DojoNodePosition];
13 export type DojoNodeLocation = [Node, DojoNodePosition];
12
14
13 export interface Rendition<TNode extends Node = Node> {
15 export interface Rendition<TNode extends Node = Node> {
14 getDomNode(): TNode;
16 getDomNode(): TNode;
@@ -25,52 +27,32 export interface IRecursivelyDestroyable
25 destroyRecursive(): void;
27 destroyRecursive(): void;
26 }
28 }
27
29
28 export function isNode(el: any): el is Node {
30 export const isNode = (el: unknown): el is Node => !!(el && (el as Node).nodeName && (el as Node).nodeType);
29 return el && el.nodeName && el.nodeType;
30 }
31
31
32 export function isElementNode(el: any): el is Element {
32 export const isElementNode = (el: unknown): el is Element => isNode(el) && el.nodeType === 1;
33 return isNode(el) && el.nodeType === 1;
34 }
35
33
36 export function isTextNode(el: any): el is Text {
34 export const isTextNode = (el: unknown): el is Text => isNode(el) && el.nodeType === 3;
37 return isNode(el) && el.nodeType === 3;
38 }
39
35
40 export function isProcessingInstructionNode(el: any): el is ProcessingInstruction {
36 export const isProcessingInstructionNode = (el: unknown): el is ProcessingInstruction => isNode(el) && el.nodeType === 7;
41 return isNode(el) && el.nodeType === 7;
42 }
43
37
44 export function isCommentNode(el: any): el is Comment {
38 export const isCommentNode = (el: unknown): el is Comment => isNode(el) && el.nodeType === 8;
45 return isNode(el) && el.nodeType === 8;
46 }
47
39
48 export function isDocumentNode(el: any): el is Document {
40 export const isDocumentNode = (el: unknown): el is Document => isNode(el) && el.nodeType === 9;
49 return isNode(el) && el.nodeType === 9;
50 }
51
41
52 export function isDocumentTypeNode(el: any): el is DocumentType {
42 export const isDocumentTypeNode = (el: unknown): el is DocumentType => isNode(el) && el.nodeType === 10;
53 return isNode(el) && el.nodeType === 10;
54 }
55
43
56 export function isDocumentFragmentNode(el: any): el is DocumentFragment {
44 export const isDocumentFragmentNode = (el: any): el is DocumentFragment => isNode(el) && el.nodeType === 11;
57 return isNode(el) && el.nodeType === 11;
58 }
59
45
60 export function isWidget(v: any): v is _WidgetBase {
46 export const isWidget = (v: unknown): v is _WidgetBase => !!(v && "domNode" in (v as _WidgetBase));
61 return v && "domNode" in v;
62 }
63
47
64 export function isRendition(v: any): v is Rendition {
48 export const isRendition = (v: unknown): v is Rendition => !!(v && typeof (v as Rendition).getDomNode === "function");
65 return v && typeof v.getDomElement === "function";
66 }
67
49
68 /**
50 /**
69 * @deprecated use isRendition
51 * @deprecated use isRendition
70 */
52 */
71 export const isBuildContext = isRendition;
53 export const isBuildContext = isRendition;
72
54
73 export function isPlainObject(v: object) {
55 export const isPlainObject = (v: object) => {
74 if (typeof v !== "object")
56 if (typeof v !== "object")
75 return false;
57 return false;
76
58
@@ -78,23 +60,21 export function isPlainObject(v: object)
78 return !vp || vp === Object.prototype;
60 return !vp || vp === Object.prototype;
79 }
61 }
80
62
81 export function isWidgetConstructor(v: any): v is _WidgetBaseConstructor {
63 export const isWidgetConstructor = (v: unknown): v is _WidgetBaseConstructor =>
82 return typeof v === "function" && v.prototype && (
64 typeof v === "function" && v.prototype && (
83 "domNode" in v.prototype ||
65 "domNode" in v.prototype ||
84 "buildRendering" in v.prototype
66 "buildRendering" in v.prototype
85 );
67 );
86 }
68
87
69
88 /** Tests whether the specified node is placed in visible dom.
70 /** Tests whether the specified node is placed in visible dom.
89 * @param {Node} node The node to test
71 * @param {Node} node The node to test
90 */
72 */
91 export function isInPage(node: Node) {
73 export const isInPage = (node: Node) => node === document.body ? false : document.body.contains(node);
92 return (node === document.body) ? false : document.body.contains(node);
93 }
94
74
95 export function isRecursivelyDestroyable(target: any): target is IRecursivelyDestroyable {
75 export const isRecursivelyDestroyable = (target: unknown): target is IRecursivelyDestroyable =>
96 return target && typeof target.destroyRecursive === "function";
76 !!(target && typeof (target as IRecursivelyDestroyable).destroyRecursive === "function");
97 }
77
98
78
99
79
100 /** Destroys DOM Node with all contained widgets.
80 /** Destroys DOM Node with all contained widgets.
@@ -103,7 +83,7 export function isRecursivelyDestroyable
103 *
83 *
104 * @param target DOM Node or widget to destroy
84 * @param target DOM Node or widget to destroy
105 */
85 */
106 export function destroy(target: Node | IDestroyable | IRecursivelyDestroyable) {
86 export const destroy = (target: Node | IDestroyable | IRecursivelyDestroyable) => {
107 if (isRecursivelyDestroyable(target)) {
87 if (isRecursivelyDestroyable(target)) {
108 target.destroyRecursive();
88 target.destroyRecursive();
109 } else if (isDestroyable(target)) {
89 } else if (isDestroyable(target)) {
@@ -113,21 +93,28 export function destroy(target: Node | I
113 const w = registry.byNode(target);
93 const w = registry.byNode(target);
114 if (w) {
94 if (w) {
115 w.destroyRecursive();
95 w.destroyRecursive();
96 return;
116 } else {
97 } else {
117 registry.findWidgets(target).forEach(destroy);
98 emptyNode(target);
118 dom.destroy(target);
119 }
99 }
120 }
100 }
101 const parent = target.parentNode;
102 if (parent)
103 parent.removeChild(target);
104
121 }
105 }
122 }
106 }
123
107
124 /** Empties a content of the specified node and destroys all contained widgets.
108 /** Empties a content of the specified node and destroys all contained widgets.
125 *
109 *
126 * @param target DOM node to .
110 * @param target DOM node to empty.
127 */
111 */
128 export function emptyNode(target: Node) {
112 export const emptyNode = (target: Node) => {
129 registry.findWidgets(target).forEach(destroy);
113 registry.findWidgets(target).forEach(destroy);
130 dom.empty(target);
114
115 for (let c; c = target.lastChild;) { // intentional assignment
116 target.removeChild(c);
117 }
131 }
118 }
132
119
133 /** This function starts all widgets inside the DOM node if the target is a node
120 /** This function starts all widgets inside the DOM node if the target is a node
@@ -136,7 +123,7 export function emptyNode(target: Node)
136 *
123 *
137 * @param target DOM node to find and start widgets or the widget itself.
124 * @param target DOM node to find and start widgets or the widget itself.
138 */
125 */
139 export function startupWidgets(target: Node | _WidgetBase, skipNode?: Node) {
126 export const startupWidgets = (target: Node | _WidgetBase, skipNode?: Node) => {
140 if (isNode(target)) {
127 if (isNode(target)) {
141 if (isElementNode(target)) {
128 if (isElementNode(target)) {
142 const w = registry.byNode(target);
129 const w = registry.byNode(target);
@@ -153,9 +140,75 export function startupWidgets(target: N
153 }
140 }
154 }
141 }
155
142
156 export function locateNode(node: Node): DojoNodeLocation {
143 /** Places the specified DOM node at the specified location.
157 const next = node.nextSibling;
144 *
158 return next ?
145 * @param node The node which should be placed
159 [next, "before"] :
146 * @param refNodeOrId The reference node where the created
160 [node.parentNode, "last"];
147 * DOM should be placed.
161 } No newline at end of file
148 * @param position Optional parameter, specifies the
149 * position relative to refNode. Default is "last" (i.e. last child).
150 */
151 export const placeAt = (node: Node, refNodeOrId: string | Node, position: DojoNodePosition = "last") => {
152 const ref = typeof refNodeOrId == "string" ? document.getElementById(refNodeOrId) : refNodeOrId;
153 if (!ref)
154 return;
155
156 const parent = ref.parentNode;
157
158 if (typeof position == "number") {
159 if (ref.childNodes.length <= position) {
160 ref.appendChild(node);
161 } else {
162 ref.insertBefore(node, ref.childNodes[position]);
163 }
164 } else {
165 switch (position) {
166 case "before":
167 parent && parent.insertBefore(node, ref);
168 break;
169 case "after":
170 parent && parent.insertBefore(node, ref.nextSibling);
171 break;
172 case "first":
173 ref.insertBefore(node, ref.firstChild);
174 break;
175 case "last":
176 ref.appendChild(node);
177 break;
178 case "only":
179 emptyNode(ref);
180 ref.appendChild(node);
181 break;
182 case "replace":
183 if (parent)
184 parent.replaceChild(node, ref);
185 destroy(ref);
186 break;
187 }
188 }
189 }
190
191 /** Collects nodes from collection to an array.
192 *
193 * @param collection The collection of nodes.
194 * @returns The array of nodes.
195 */
196 export const collectNodes = (collection: NodeListOf<ChildNode>) => {
197 const items = [];
198 for (let i = 0, n = collection.length; i < n; i++) {
199 items.push(collection[i]);
200 }
201 return items;
202 };
203
204
205 export const isMounted = (node: Node) => {
206 if (node.parentNode) {
207 const parentWidget = registry.getEnclosingWidget(node.parentNode);
208 if (parentWidget && parentWidget._started)
209 return true;
210 }
211 if (isInPage(node))
212 return true;
213 return false;
214 }; No newline at end of file
1 NO CONTENT: file renamed from djx/src/main/typings/css.d.ts to djx/src/main/typings/css-plugin.d.ts
NO CONTENT: file renamed from djx/src/main/typings/css.d.ts to djx/src/main/typings/css-plugin.d.ts
@@ -1,8 +1,10
1 /// <reference path="./css.d.ts"/>
1 /// <reference path="./css-plugin.d.ts"/>
2
2
3 declare namespace JSX {
3 declare namespace JSX {
4
4
5 interface DjxIntrinsicAttributes {
5 type Ref<T> = ((value: T | undefined) => void);
6
7 interface DjxIntrinsicAttributes<E> {
6 /** alias for className */
8 /** alias for className */
7 class: string;
9 class: string;
8
10
@@ -14,6 +16,8 declare namespace JSX {
14 /** specifies handlers map for the events */
16 /** specifies handlers map for the events */
15 "data-dojo-attach-event": string;
17 "data-dojo-attach-event": string;
16
18
19 ref: Ref<E>;
20
17 /** @deprecated */
21 /** @deprecated */
18 [attr: string]: any;
22 [attr: string]: any;
19 }
23 }
@@ -56,7 +60,7 declare namespace JSX {
56
60
57 type LaxElement<E extends object> =
61 type LaxElement<E extends object> =
58 Pick<E, AssignableElementAttrNames<E>> &
62 Pick<E, AssignableElementAttrNames<E>> &
59 DjxIntrinsicAttributes;
63 DjxIntrinsicAttributes<E>;
60
64
61 type LaxIntrinsicElementsMap = {
65 type LaxIntrinsicElementsMap = {
62 [tag in keyof HTMLElementTagNameMap]: LaxElement<HTMLElementTagNameMap[tag]>
66 [tag in keyof HTMLElementTagNameMap]: LaxElement<HTMLElementTagNameMap[tag]>
@@ -65,4 +69,13 declare namespace JSX {
65 type IntrinsicElements = {
69 type IntrinsicElements = {
66 [tag in keyof LaxIntrinsicElementsMap]: RecursivePartial<LaxIntrinsicElementsMap[tag]>;
70 [tag in keyof LaxIntrinsicElementsMap]: RecursivePartial<LaxIntrinsicElementsMap[tag]>;
67 }
71 }
72
73 interface ElementChildrenAttribute {
74 children: {};
68 }
75 }
76
77 interface IntrinsicClassAttributes<T> {
78 ref?: (value: T) => void;
79 children?: unknown;
80 }
81 }
@@ -1,1 +1,2
1 import "./DeclareTests"; No newline at end of file
1 import "./declare-tests";
2 import "./observable-tests"; No newline at end of file
@@ -30,10 +30,10 export class MyWidget extends djbase(Djx
30 counter = 0;
30 counter = 0;
31
31
32 render() {
32 render() {
33 const Frame = (props: any) => <div>{props.children}</div>;
33 const Frame = ({children, ref}: {ref: JSX.Ref<HTMLDivElement>, children: any[]}) => <div ref={ref} >{children}</div>;
34 return <div className="myWidget" onsubmit={e => this._onSubmit(e)} tabIndex={3} style={{ alignContent: "center", border: "1px solid" }} >
34 return <div className="myWidget" onsubmit={e => this._onSubmit(e)} tabIndex={3} style={{ alignContent: "center", border: "1px solid" }} >
35 <h1 data-dojo-attach-point="titleNode"></h1>
35 <h1 data-dojo-attach-point="titleNode"></h1>
36 <Frame>
36 <Frame ref={ v => {}}>
37 <span class="up-button" onclick={e => this._onIncClick(e)}>[+]</span>
37 <span class="up-button" onclick={e => this._onIncClick(e)}>[+]</span>
38 <span class="down-button" onclick={() => this._onDecClick()}>[-]</span>
38 <span class="down-button" onclick={() => this._onDecClick()}>[-]</span>
39 </Frame>
39 </Frame>
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
@@ -1,5 +1,5
1 distributionBase=GRADLE_USER_HOME
1 distributionBase=GRADLE_USER_HOME
2 distributionPath=wrapper/dists
2 distributionPath=wrapper/dists
3 distributionUrl=https\://services.gradle.org/distributions/gradle-6.1-bin.zip
3 distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
4 zipStoreBase=GRADLE_USER_HOME
4 zipStoreBase=GRADLE_USER_HOME
5 zipStorePath=wrapper/dists
5 zipStorePath=wrapper/dists
@@ -154,19 +154,19 if [ "$cygwin" = "true" -o "$msys" = "tr
154 else
154 else
155 eval `echo args$i`="\"$arg\""
155 eval `echo args$i`="\"$arg\""
156 fi
156 fi
157 i=$((i+1))
157 i=`expr $i + 1`
158 done
158 done
159 case $i in
159 case $i in
160 (0) set -- ;;
160 0) set -- ;;
161 (1) set -- "$args0" ;;
161 1) set -- "$args0" ;;
162 (2) set -- "$args0" "$args1" ;;
162 2) set -- "$args0" "$args1" ;;
163 (3) set -- "$args0" "$args1" "$args2" ;;
163 3) set -- "$args0" "$args1" "$args2" ;;
164 (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
164 4) set -- "$args0" "$args1" "$args2" "$args3" ;;
165 (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
165 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
166 (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
166 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
167 (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
167 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
168 (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
168 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
169 (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
169 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
170 esac
170 esac
171 fi
171 fi
172
172
@@ -175,14 +175,9 save () {
175 for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
175 for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
176 echo " "
176 echo " "
177 }
177 }
178 APP_ARGS=$(save "$@")
178 APP_ARGS=`save "$@"`
179
179
180 # Collect all arguments for the java command, following the shell quoting and substitution rules
180 # Collect all arguments for the java command, following the shell quoting and substitution rules
181 eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
181 eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
182
182
183 # by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
184 if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
185 cd "$(dirname "$0")"
186 fi
187
188 exec "$JAVACMD" "$@"
183 exec "$JAVACMD" "$@"
@@ -14,4 +14,5
14
14
15 rootProject.name = 'implabjs-djx'
15 rootProject.name = 'implabjs-djx'
16
16
17 include 'djx' No newline at end of file
17 include 'djx'
18 include 'playground' No newline at end of file
@@ -1,12 +0,0
1 import { Baz } from "./mock/Baz";
2
3 // tslint:disable-next-line: no-console
4 console.log("Declare tests");
5
6 const baz = new Baz();
7
8 const data: string[] = [];
9 baz.writeHello(data);
10
11 // tslint:disable-next-line: no-console
12 console.log(data.join("\n"));
@@ -1,148 +0,0
1 import { stringify } from "yaml";
2
3 export interface TapWriter {
4 version(): void;
5 plan(n: number): void;
6 fail(e: any): void;
7 ok(msg: string): void;
8 skip(msg: string): void;
9 bailOut(msg: string): void;
10 comment(msg: string): void;
11 yaml(data: any): void;
12 end(): void;
13 }
14
15 enum TapState {
16 Init,
17 VersionWritten,
18 Ready,
19 ReadyWithoutPlan,
20 End
21 }
22
23 export abstract class AbstractTapWriter implements TapWriter {
24 private _state = TapState.Init;
25 private _version = 13;
26 private _testIndex = 1;
27
28 private _moveVersion() {
29 switch (this._state) {
30 case TapState.Init:
31 this._state = TapState.VersionWritten;
32 break;
33 default:
34 throw new Error("Invalid operation");
35 }
36
37 }
38
39 private _movePlan() {
40 switch (this._state) {
41 case TapState.Init:
42 case TapState.VersionWritten:
43 this._state = TapState.Ready;
44 break;
45 case TapState.ReadyWithoutPlan:
46 this._state = TapState.End;
47 break;
48 default:
49 throw new Error("Invalid operation");
50 }
51 }
52
53 private _moveTestResult() {
54 switch (this._state) {
55 case TapState.Init:
56 case TapState.VersionWritten:
57 this._state = TapState.ReadyWithoutPlan;
58 break;
59 case TapState.Ready:
60 case TapState.ReadyWithoutPlan:
61 break;
62 default:
63 throw new Error("Invalid operation");
64 }
65 }
66
67 private _moveEnd() {
68 switch (this._state) {
69 case TapState.End:
70 throw new Error("Invalid operation");
71 default:
72 this._state = TapState.End;
73 }
74 }
75
76 private _moveDiag() {
77 switch (this._state) {
78 case TapState.Init:
79 case TapState.VersionWritten:
80 this._state = TapState.ReadyWithoutPlan;
81 break;
82 case TapState.Ready:
83 case TapState.ReadyWithoutPlan:
84 break;
85 default:
86 throw new Error("Invalid operation");
87 }
88 }
89
90 version() {
91 this._moveVersion();
92
93 this._writeLine(`TAP version ${this._version}`);
94 }
95
96 plan(n: number) {
97 this._movePlan();
98
99 this._writeLine(`1..${n}`);
100 }
101
102 fail(e: any) {
103 this._moveTestResult();
104
105 this._writeText(`not ok ${this._testIndex} ${e}`);
106 this._testIndex++;
107 }
108
109 ok(msg: string) {
110 this._moveTestResult();
111
112 this._writeText(`ok ${this._testIndex} ${msg}`);
113 this._testIndex++;
114 }
115 skip(msg: string) {
116 this._moveTestResult();
117
118 this._writeText(`ok ${this._testIndex} # SKIPPED: ${msg}`);
119 this._testIndex++;
120 }
121 bailOut(msg: string) {
122 this._moveEnd();
123
124 this._writeText(`Bail out! ${msg}`);
125 }
126 comment(msg: string) {
127 this._moveDiag();
128
129 this._writeText(`# ${msg}`);
130 }
131 yaml(data: any) {
132 this._moveDiag();
133
134 this._writeLine(" ---");
135 stringify(data).split("\r\n?").forEach(line => this._writeLine(" " + line));
136 this._writeLine(" ...");
137 }
138 end() {
139 this._moveEnd();
140 }
141
142 private _writeText(text: string) {
143 text.split("\r\n?").forEach((line, i) => this._writeLine(i ? "# " + line : line));
144 }
145
146 abstract _writeLine(text: string): void;
147
148 }
@@ -1,60 +0,0
1 import { IObservable, ICancellation, IDestroyable } from "@implab/core-amd/interfaces";
2 import { Cancellation } from "@implab/core-amd/Cancellation";
3 import { TraceEvent, LogLevel, WarnLevel, DebugLevel, TraceSource } from "@implab/core-amd/log/TraceSource";
4 import { argumentNotNull, destroy } from "@implab/core-amd/safe";
5 import { TapWriter } from "./Tap";
6
7
8
9 export class TapeWriter implements IDestroyable {
10
11 private readonly _t: TapWriter;
12
13 private readonly _subscriptions = new Array<IDestroyable>();
14 private _destroyed = false;
15
16 constructor(t: TapWriter) {
17 argumentNotNull(t, "test");
18 this._t = t;
19 }
20
21 writeEvents(source: IObservable<TraceEvent>, ct: ICancellation = Cancellation.none) {
22 if (!this._destroyed) {
23 const subscription = source.on(this.writeEvent.bind(this));
24 if (ct.isSupported()) {
25 ct.register(subscription.destroy.bind(subscription));
26 }
27 this._subscriptions.push(subscription);
28 }
29 }
30
31 writeEvent(next: TraceEvent) {
32 if (next.level >= DebugLevel) {
33 this._t.comment(`DEBUG ${next.source.id} ${next}`);
34 } else if (next.level >= LogLevel) {
35 this._t.comment(`LOG ${next.source.id} ${next}`);
36 } else if (next.level >= WarnLevel) {
37 this._t.comment(`WARN ${next.source.id} ${next}`);
38 } else {
39 this._t.comment(`ERROR ${next.source.id} ${next}`);
40 }
41 }
42
43 destroy() {
44 if (this._destroyed)
45 return;
46 this._destroyed = true;
47 this._subscriptions.forEach(destroy);
48 }
49 }
50
51 type TestCallback = (ok: (msg: string) => void, fail: (msg: string) => void, trace: TraceSource) => void;
52 type AsyncTestCallback = (trace: TraceSource) => PromiseLike<void>;
53
54 export function test(name: string, cb: TestCallback | AsyncTestCallback) {
55
56 }
57
58 export function run() {
59
60 }
@@ -1,18 +0,0
1 import { AbstractTapWriter } from "./Tap";
2 import { TextWriter } from "@implab/core-amd/interfaces";
3
4 export class TextTapWriter extends AbstractTapWriter {
5
6 private readonly _writer: TextWriter;
7
8 constructor(writer: TextWriter) {
9 super();
10
11 this._writer = writer;
12 }
13
14 _writeLine(text: string) {
15 this._writer.writeLine(text);
16 }
17
18 } No newline at end of file
@@ -1,16 +0,0
1 import { test } from "./TestTraits";
2 import { delay } from "@implab/core-amd/safe";
3 import { assert } from "chai";
4
5 test("simple", (ok, fail, log) => {
6 setTimeout(() => {
7 // end should be called after the last assertion
8 ok("async assert");
9 }, 100);
10 });
11
12 test("simple", async (log, fail) => {
13 await delay(0);
14
15 assert.ok(true); // everything is fine
16 });
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now