aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore6
-rw-r--r--Cargo.lock341
-rw-r--r--Cargo.toml26
-rw-r--r--flake.lock126
-rw-r--r--flake.nix96
-rw-r--r--license19
-rw-r--r--readme.txt18
-rw-r--r--rust-toolchain.toml6
-rw-r--r--src/lib.rs150
-rw-r--r--src/utils.rs10
-rwxr-xr-xwww/.bin/create-wasm-app.js24
-rw-r--r--www/.gitignore2
-rw-r--r--www/bootstrap.js5
-rw-r--r--www/index.html91
-rw-r--r--www/index.js128
-rw-r--r--www/package-lock.json13458
-rw-r--r--www/package.json43
-rw-r--r--www/webpack.config.js22
18 files changed, 14571 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0873c73
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
1/target
2**/*.rs.bk
3bin/
4pkg/
5wasm-pack.log
6.direnv
diff --git a/Cargo.lock b/Cargo.lock
new file mode 100644
index 0000000..85a4b2c
--- /dev/null
+++ b/Cargo.lock
@@ -0,0 +1,341 @@
1# This file is automatically @generated by Cargo.
2# It is not intended for manual editing.
3version = 3
4
5[[package]]
6name = "autocfg"
7version = "1.0.1"
8source = "registry+https://github.com/rust-lang/crates.io-index"
9checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
10
11[[package]]
12name = "bumpalo"
13version = "3.7.0"
14source = "registry+https://github.com/rust-lang/crates.io-index"
15checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631"
16
17[[package]]
18name = "cbitset"
19version = "0.2.0"
20source = "registry+https://github.com/rust-lang/crates.io-index"
21checksum = "29b6ad25ae296159fb0da12b970b2fe179b234584d7cd294c891e2bbb284466b"
22dependencies = [
23 "num-traits",
24]
25
26[[package]]
27name = "cfg-if"
28version = "0.1.10"
29source = "registry+https://github.com/rust-lang/crates.io-index"
30checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
31
32[[package]]
33name = "cfg-if"
34version = "1.0.0"
35source = "registry+https://github.com/rust-lang/crates.io-index"
36checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
37
38[[package]]
39name = "console_error_panic_hook"
40version = "0.1.6"
41source = "registry+https://github.com/rust-lang/crates.io-index"
42checksum = "b8d976903543e0c48546a91908f21588a680a8c8f984df9a5d69feccb2b2a211"
43dependencies = [
44 "cfg-if 0.1.10",
45 "wasm-bindgen",
46]
47
48[[package]]
49name = "countme"
50version = "2.0.4"
51source = "registry+https://github.com/rust-lang/crates.io-index"
52checksum = "328b822bdcba4d4e402be8d9adb6eebf269f969f8eadef977a553ff3c4fbcb58"
53
54[[package]]
55name = "cstea"
56version = "0.1.0"
57dependencies = [
58 "console_error_panic_hook",
59 "js-sys",
60 "rnix",
61 "wasm-bindgen",
62 "wasm-bindgen-test",
63 "wee_alloc",
64]
65
66[[package]]
67name = "hashbrown"
68version = "0.9.1"
69source = "registry+https://github.com/rust-lang/crates.io-index"
70checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04"
71
72[[package]]
73name = "js-sys"
74version = "0.3.51"
75source = "registry+https://github.com/rust-lang/crates.io-index"
76checksum = "83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062"
77dependencies = [
78 "wasm-bindgen",
79]
80
81[[package]]
82name = "lazy_static"
83version = "1.4.0"
84source = "registry+https://github.com/rust-lang/crates.io-index"
85checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
86
87[[package]]
88name = "libc"
89version = "0.2.97"
90source = "registry+https://github.com/rust-lang/crates.io-index"
91checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6"
92
93[[package]]
94name = "log"
95version = "0.4.14"
96source = "registry+https://github.com/rust-lang/crates.io-index"
97checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
98dependencies = [
99 "cfg-if 1.0.0",
100]
101
102[[package]]
103name = "memoffset"
104version = "0.6.4"
105source = "registry+https://github.com/rust-lang/crates.io-index"
106checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9"
107dependencies = [
108 "autocfg",
109]
110
111[[package]]
112name = "memory_units"
113version = "0.4.0"
114source = "registry+https://github.com/rust-lang/crates.io-index"
115checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3"
116
117[[package]]
118name = "num-traits"
119version = "0.2.14"
120source = "registry+https://github.com/rust-lang/crates.io-index"
121checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
122dependencies = [
123 "autocfg",
124]
125
126[[package]]
127name = "proc-macro2"
128version = "1.0.27"
129source = "registry+https://github.com/rust-lang/crates.io-index"
130checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038"
131dependencies = [
132 "unicode-xid",
133]
134
135[[package]]
136name = "quote"
137version = "1.0.9"
138source = "registry+https://github.com/rust-lang/crates.io-index"
139checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
140dependencies = [
141 "proc-macro2",
142]
143
144[[package]]
145name = "rnix"
146version = "0.9.0"
147source = "registry+https://github.com/rust-lang/crates.io-index"
148checksum = "1b37f8af07a0354606141df076458660af7e22238e4117a041c21c548080addd"
149dependencies = [
150 "cbitset",
151 "rowan",
152 "smol_str",
153]
154
155[[package]]
156name = "rowan"
157version = "0.12.6"
158source = "registry+https://github.com/rust-lang/crates.io-index"
159checksum = "a1b36e449f3702f3b0c821411db1cbdf30fb451726a9456dce5dabcd44420043"
160dependencies = [
161 "countme",
162 "hashbrown",
163 "memoffset",
164 "rustc-hash",
165 "text-size",
166]
167
168[[package]]
169name = "rustc-hash"
170version = "1.1.0"
171source = "registry+https://github.com/rust-lang/crates.io-index"
172checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
173
174[[package]]
175name = "scoped-tls"
176version = "1.0.0"
177source = "registry+https://github.com/rust-lang/crates.io-index"
178checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2"
179
180[[package]]
181name = "smol_str"
182version = "0.1.17"
183source = "registry+https://github.com/rust-lang/crates.io-index"
184checksum = "6ca0f7ce3a29234210f0f4f0b56f8be2e722488b95cb522077943212da3b32eb"
185
186[[package]]
187name = "syn"
188version = "1.0.73"
189source = "registry+https://github.com/rust-lang/crates.io-index"
190checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7"
191dependencies = [
192 "proc-macro2",
193 "quote",
194 "unicode-xid",
195]
196
197[[package]]
198name = "text-size"
199version = "1.1.0"
200source = "registry+https://github.com/rust-lang/crates.io-index"
201checksum = "288cb548dbe72b652243ea797201f3d481a0609a967980fcc5b2315ea811560a"
202
203[[package]]
204name = "unicode-xid"
205version = "0.2.2"
206source = "registry+https://github.com/rust-lang/crates.io-index"
207checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
208
209[[package]]
210name = "wasm-bindgen"
211version = "0.2.74"
212source = "registry+https://github.com/rust-lang/crates.io-index"
213checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd"
214dependencies = [
215 "cfg-if 1.0.0",
216 "wasm-bindgen-macro",
217]
218
219[[package]]
220name = "wasm-bindgen-backend"
221version = "0.2.74"
222source = "registry+https://github.com/rust-lang/crates.io-index"
223checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900"
224dependencies = [
225 "bumpalo",
226 "lazy_static",
227 "log",
228 "proc-macro2",
229 "quote",
230 "syn",
231 "wasm-bindgen-shared",
232]
233
234[[package]]
235name = "wasm-bindgen-futures"
236version = "0.4.24"
237source = "registry+https://github.com/rust-lang/crates.io-index"
238checksum = "5fba7978c679d53ce2d0ac80c8c175840feb849a161664365d1287b41f2e67f1"
239dependencies = [
240 "cfg-if 1.0.0",
241 "js-sys",
242 "wasm-bindgen",
243 "web-sys",
244]
245
246[[package]]
247name = "wasm-bindgen-macro"
248version = "0.2.74"
249source = "registry+https://github.com/rust-lang/crates.io-index"
250checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4"
251dependencies = [
252 "quote",
253 "wasm-bindgen-macro-support",
254]
255
256[[package]]
257name = "wasm-bindgen-macro-support"
258version = "0.2.74"
259source = "registry+https://github.com/rust-lang/crates.io-index"
260checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97"
261dependencies = [
262 "proc-macro2",
263 "quote",
264 "syn",
265 "wasm-bindgen-backend",
266 "wasm-bindgen-shared",
267]
268
269[[package]]
270name = "wasm-bindgen-shared"
271version = "0.2.74"
272source = "registry+https://github.com/rust-lang/crates.io-index"
273checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f"
274
275[[package]]
276name = "wasm-bindgen-test"
277version = "0.3.24"
278source = "registry+https://github.com/rust-lang/crates.io-index"
279checksum = "8cab416a9b970464c2882ed92d55b0c33046b08e0bdc9d59b3b718acd4e1bae8"
280dependencies = [
281 "console_error_panic_hook",
282 "js-sys",
283 "scoped-tls",
284 "wasm-bindgen",
285 "wasm-bindgen-futures",
286 "wasm-bindgen-test-macro",
287]
288
289[[package]]
290name = "wasm-bindgen-test-macro"
291version = "0.3.24"
292source = "registry+https://github.com/rust-lang/crates.io-index"
293checksum = "dd4543fc6cf3541ef0d98bf720104cc6bd856d7eba449fd2aa365ef4fed0e782"
294dependencies = [
295 "proc-macro2",
296 "quote",
297]
298
299[[package]]
300name = "web-sys"
301version = "0.3.51"
302source = "registry+https://github.com/rust-lang/crates.io-index"
303checksum = "e828417b379f3df7111d3a2a9e5753706cae29c41f7c4029ee9fd77f3e09e582"
304dependencies = [
305 "js-sys",
306 "wasm-bindgen",
307]
308
309[[package]]
310name = "wee_alloc"
311version = "0.4.5"
312source = "registry+https://github.com/rust-lang/crates.io-index"
313checksum = "dbb3b5a6b2bb17cb6ad44a2e68a43e8d2722c997da10e928665c72ec6c0a0b8e"
314dependencies = [
315 "cfg-if 0.1.10",
316 "libc",
317 "memory_units",
318 "winapi",
319]
320
321[[package]]
322name = "winapi"
323version = "0.3.9"
324source = "registry+https://github.com/rust-lang/crates.io-index"
325checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
326dependencies = [
327 "winapi-i686-pc-windows-gnu",
328 "winapi-x86_64-pc-windows-gnu",
329]
330
331[[package]]
332name = "winapi-i686-pc-windows-gnu"
333version = "0.4.0"
334source = "registry+https://github.com/rust-lang/crates.io-index"
335checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
336
337[[package]]
338name = "winapi-x86_64-pc-windows-gnu"
339version = "0.4.0"
340source = "registry+https://github.com/rust-lang/crates.io-index"
341checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/Cargo.toml b/Cargo.toml
new file mode 100644
index 0000000..edd775f
--- /dev/null
+++ b/Cargo.toml
@@ -0,0 +1,26 @@
1[package]
2name = "cstea"
3version = "0.1.0"
4authors = ["Akshay <[email protected]>"]
5edition = "2018"
6
7[lib]
8crate-type = ["cdylib", "rlib"]
9
10[features]
11default = ["console_error_panic_hook", "wee_alloc"]
12
13[dependencies]
14wasm-bindgen = "0.2.63"
15rnix = "0.9.0"
16console_error_panic_hook = { version = "0.1.6", optional = true }
17wee_alloc = { version = "0.4.5", optional = true }
18js-sys = "0.3.51"
19
20[dev-dependencies]
21wasm-bindgen-test = "0.3.13"
22
23[profile.release]
24# Tell `rustc` to optimize for small code size.
25opt-level = "z"
26lto = true
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..a157a7e
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,126 @@
1{
2 "nodes": {
3 "flake-compat": {
4 "flake": false,
5 "locked": {
6 "lastModified": 1606424373,
7 "narHash": "sha256-oq8d4//CJOrVj+EcOaSXvMebvuTkmBJuT5tzlfewUnQ=",
8 "owner": "edolstra",
9 "repo": "flake-compat",
10 "rev": "99f1c2157fba4bfe6211a321fd0ee43199025dbf",
11 "type": "github"
12 },
13 "original": {
14 "owner": "edolstra",
15 "repo": "flake-compat",
16 "type": "github"
17 }
18 },
19 "gitignore": {
20 "flake": false,
21 "locked": {
22 "lastModified": 1611672876,
23 "narHash": "sha256-qHu3uZ/o9jBHiA3MEKHJ06k7w4heOhA+4HCSIvflRxo=",
24 "owner": "hercules-ci",
25 "repo": "gitignore",
26 "rev": "211907489e9f198594c0eb0ca9256a1949c9d412",
27 "type": "github"
28 },
29 "original": {
30 "owner": "hercules-ci",
31 "repo": "gitignore",
32 "type": "github"
33 }
34 },
35 "mozillapkgs": {
36 "flake": false,
37 "locked": {
38 "lastModified": 1612892239,
39 "narHash": "sha256-jwrdJvaDl+kCRH3LFYuL9KweXO7fCTXxLovKja6xqbk=",
40 "owner": "andersk",
41 "repo": "nixpkgs-mozilla",
42 "rev": "3499e085fb6ae1a846bcf425fa9c98a3b77480da",
43 "type": "github"
44 },
45 "original": {
46 "owner": "andersk",
47 "ref": "stdenv.lib",
48 "repo": "nixpkgs-mozilla",
49 "type": "github"
50 }
51 },
52 "naersk": {
53 "inputs": {
54 "nixpkgs": "nixpkgs"
55 },
56 "locked": {
57 "lastModified": 1623324658,
58 "narHash": "sha256-TjWmZPH/xbUi7Xuj2EigB9sTOpqsiFmnv7m6+QgTDrA=",
59 "owner": "nmattia",
60 "repo": "naersk",
61 "rev": "4f7426c362809e472d03c369d3674317c32b6863",
62 "type": "github"
63 },
64 "original": {
65 "owner": "nmattia",
66 "repo": "naersk",
67 "type": "github"
68 }
69 },
70 "nixpkgs": {
71 "locked": {
72 "lastModified": 1623400243,
73 "narHash": "sha256-HRcjn4ljt3aWUUWpap3MfigXwP1wwl3BNMi5+z4D1Uc=",
74 "owner": "NixOS",
75 "repo": "nixpkgs",
76 "rev": "29d5b177af78dccbe1d8ff8cf6212973aeef2f23",
77 "type": "github"
78 },
79 "original": {
80 "id": "nixpkgs",
81 "type": "indirect"
82 }
83 },
84 "nixpkgs_2": {
85 "locked": {
86 "lastModified": 1623400243,
87 "narHash": "sha256-HRcjn4ljt3aWUUWpap3MfigXwP1wwl3BNMi5+z4D1Uc=",
88 "owner": "NixOS",
89 "repo": "nixpkgs",
90 "rev": "29d5b177af78dccbe1d8ff8cf6212973aeef2f23",
91 "type": "github"
92 },
93 "original": {
94 "id": "nixpkgs",
95 "type": "indirect"
96 }
97 },
98 "root": {
99 "inputs": {
100 "flake-compat": "flake-compat",
101 "gitignore": "gitignore",
102 "mozillapkgs": "mozillapkgs",
103 "naersk": "naersk",
104 "nixpkgs": "nixpkgs_2",
105 "utils": "utils"
106 }
107 },
108 "utils": {
109 "locked": {
110 "lastModified": 1622445595,
111 "narHash": "sha256-m+JRe6Wc5OZ/mKw2bB3+Tl0ZbtyxxxfnAWln8Q5qs+Y=",
112 "owner": "numtide",
113 "repo": "flake-utils",
114 "rev": "7d706970d94bc5559077eb1a6600afddcd25a7c8",
115 "type": "github"
116 },
117 "original": {
118 "owner": "numtide",
119 "repo": "flake-utils",
120 "type": "github"
121 }
122 }
123 },
124 "root": "root",
125 "version": 7
126}
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..5e833d3
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,96 @@
1{
2 inputs = {
3 utils.url = "github:numtide/flake-utils";
4 naersk.url = "github:nmattia/naersk";
5 mozillapkgs = {
6 url = "github:andersk/nixpkgs-mozilla/stdenv.lib";
7 flake = false;
8 };
9 gitignore = {
10 url = "github:hercules-ci/gitignore";
11 flake = false;
12 };
13 flake-compat = {
14 url = "github:edolstra/flake-compat";
15 flake = false;
16 };
17 };
18
19 outputs = { self, nixpkgs, utils, naersk, mozillapkgs, gitignore, ... }:
20 utils.lib.eachDefaultSystem (system:
21 let
22 pkgs = nixpkgs.legacyPackages."${system}";
23 lib = pkgs.lib;
24 stdenv = pkgs.stdenv;
25 darwin = pkgs.darwin;
26 inherit (import gitignore { inherit (pkgs) lib; }) gitignoreSource;
27
28 # Get a specific rust version
29 mozilla = pkgs.callPackage (mozillapkgs + "/package-set.nix") { };
30 chanspec = {
31 date = "2021-03-31";
32 channel = "nightly";
33 sha256 = "oK5ebje09MRn988saJMT3Zze/tRE7u9zTeFPV1CEeLc="; # set zeros after modifying channel or date
34 };
35
36 rustChannel = mozilla.rustChannelOf chanspec;
37 rust = rustChannel.rust.override {
38 targets = [ "wasm32-unknown-unknown" ];
39 extensions = [ ];
40 };
41 rust-src = rustChannel.rust-src;
42
43 naersk-lib = naersk.lib."${system}".override {
44 cargo = rust;
45 rustc = rust;
46 };
47
48 nativeBuildInputs = with pkgs; [
49 nixUnstable
50 ];
51
52 buildInputs = pkgs.lib.optionals pkgs.stdenv.isDarwin [
53 darwin.apple_sdk.frameworks.Security
54 darwin.libiconv
55 ];
56
57 in
58 rec {
59 packages.cstea = naersk-lib.buildPackage {
60 pname = "cstea";
61 version = "0.1.0";
62 root = gitignoreSource ./.;
63 inherit nativeBuildInputs buildInputs;
64 };
65 defaultPackage = packages.cstea;
66 apps.cstea = utils.lib.mkApp {
67 drv = packages.cstea;
68 };
69 apps.check = {
70 type = "app";
71 program = "${pkgs.cargo-watch}/bin/cargo-watch";
72 };
73 defaultApp = apps.cstea;
74 devShell = pkgs.mkShell {
75 nativeBuildInputs = nativeBuildInputs ++ [
76 rust
77 rust-src
78 ] ++ (with pkgs; [
79 rust-analyzer
80 rustfmt
81 cargo
82 cargo-watch
83
84 miniserve
85 wasm-pack
86 cargo-generate
87 nodePackages.npm
88 nodejs
89 ]);
90 inherit buildInputs;
91 RUST_SRC_PATH = "${rust-src}/lib/rustlib/src/rust/library";
92 RUST_LOG = "info";
93 RUST_BACKTRACE = 1;
94 };
95 });
96}
diff --git a/license b/license
new file mode 100644
index 0000000..069a66a
--- /dev/null
+++ b/license
@@ -0,0 +1,19 @@
1Copyright 2021 Akshay Oppiliappan <[email protected]>
2
3Permission is hereby granted, free of charge, to any person obtaining a copy of
4this software and associated documentation files (the "Software"), to deal in
5the Software without restriction, including without limitation the rights to
6use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7of the Software, and to permit persons to whom the Software is furnished to do
8so, subject to the following conditions:
9
10The above copyright notice and this permission notice shall be included in all
11copies or substantial portions of the Software.
12
13THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19SOFTWARE.
diff --git a/readme.txt b/readme.txt
new file mode 100644
index 0000000..5d6e34c
--- /dev/null
+++ b/readme.txt
@@ -0,0 +1,18 @@
1explore nix csts, entirely in your browser. syntax elements
2are extracted using the nix-community/rnix-parser crate, and
3exposed to js via wasm.
4
5
6build:
7
8 $ nix shell
9 $ wasm-pack build
10 $ cd www && npm run build
11
12
13run:
14
15 $ cd www && npm run serve
16
17
18try it out at https://cstea-nix.peppe.rs
diff --git a/rust-toolchain.toml b/rust-toolchain.toml
new file mode 100644
index 0000000..3fec65f
--- /dev/null
+++ b/rust-toolchain.toml
@@ -0,0 +1,6 @@
1[toolchain]
2channel = "nightly"
3components = [ "rustfmt", "rustc-dev" ]
4targets = [ "wasm32-unknown-unknown" ]
5profile = "minimal"
6
diff --git a/src/lib.rs b/src/lib.rs
new file mode 100644
index 0000000..37ac261
--- /dev/null
+++ b/src/lib.rs
@@ -0,0 +1,150 @@
1mod utils;
2
3use js_sys::Array;
4use rnix::{parser::ParseError, NodeOrToken, SyntaxElement};
5use wasm_bindgen::prelude::*;
6
7use std::{convert::From, str::FromStr};
8
9#[cfg(feature = "wee_alloc")]
10#[global_allocator]
11static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT;
12
13// wrapper type to pass syntax elements to JS
14#[wasm_bindgen]
15#[derive(Debug, Clone)]
16pub struct SynNode {
17 node: SyntaxElement,
18}
19
20impl SynNode {
21 pub fn new(node: SyntaxElement) -> Self {
22 Self { node }
23 }
24}
25
26#[wasm_bindgen]
27impl SynNode {
28 pub fn children(&self) -> Vec<JsValue> {
29 match &self.node {
30 NodeOrToken::Node(n) => n
31 .children_with_tokens()
32 .map(SynNode::new)
33 .map(JsValue::from)
34 .collect(),
35 NodeOrToken::Token(_) => vec![],
36 }
37 }
38
39 pub fn is_token(&self) -> bool {
40 self.node.as_token().is_some()
41 }
42
43 pub fn to_string(&self) -> String {
44 format!("{:?} {:?}", self.node.kind(), self.node.text_range(),)
45 }
46
47 pub fn range(&self) -> TextRange {
48 let r = self.node.text_range();
49 (r.start().into(), r.end().into()).into()
50 }
51
52 pub fn kind(&self) -> String {
53 format!("{:?}", self.node.kind())
54 }
55
56 pub fn text(&self) -> String {
57 match &self.node {
58 NodeOrToken::Node(_) => "".into(),
59 NodeOrToken::Token(t) => format!("{:?}", t.text()),
60 }
61 }
62
63 pub fn from_str(s: &str) -> Result<JsValue, JsValue> {
64 FromStr::from_str(s)
65 .map(|p: SynNode| JsValue::from(p))
66 .map_err(JsValue::from)
67 }
68}
69
70impl FromStr for SynNode {
71 type Err = Array;
72 fn from_str(s: &str) -> Result<Self, Array> {
73 let source_file = rnix::parse(s);
74 if source_file.errors().is_empty() {
75 Ok(Self {
76 node: NodeOrToken::Node(source_file.as_result().unwrap().node().clone()),
77 })
78 } else {
79 Err(source_file
80 .errors()
81 .iter()
82 .map(SynErr::new)
83 .map(JsValue::from)
84 .collect())
85 }
86 }
87}
88
89#[wasm_bindgen]
90#[derive(Debug, Clone)]
91struct SynErr {
92 err: ParseError,
93}
94
95impl SynErr {
96 pub fn new(err: &ParseError) -> Self {
97 Self { err: err.clone() }
98 }
99}
100
101#[wasm_bindgen]
102impl SynErr {
103 pub fn to_string(&self) -> String {
104 self.err.to_string()
105 }
106}
107
108#[wasm_bindgen]
109pub struct TextRange {
110 start: u32,
111 end: u32,
112}
113
114impl From<(u32, u32)> for TextRange {
115 fn from((start, end): (u32, u32)) -> Self {
116 TextRange { start, end }
117 }
118}
119
120impl TextRange {
121 pub fn to_line_col(&self, source: &str) -> (u32, u32) {
122 let end = self.end() as usize;
123 let line = &source[..end].chars().filter(|&c| c == '\n').count() + 1;
124 let col = &source[..end].rfind('\n').map(|c| end - c).unwrap_or(end);
125 (line as u32, *col as u32)
126 }
127}
128
129#[wasm_bindgen]
130impl TextRange {
131 pub fn start(&self) -> u32 {
132 self.start
133 }
134
135 pub fn end(&self) -> u32 {
136 self.end
137 }
138
139 pub fn line(&self, source: &str) -> u32 {
140 self.to_line_col(source).0
141 }
142
143 pub fn col(&self, source: &str) -> u32 {
144 self.to_line_col(source).1
145 }
146
147 pub fn to_string(&self) -> String {
148 format!("{}..{}", self.start, self.end)
149 }
150}
diff --git a/src/utils.rs b/src/utils.rs
new file mode 100644
index 0000000..b1d7929
--- /dev/null
+++ b/src/utils.rs
@@ -0,0 +1,10 @@
1pub fn set_panic_hook() {
2 // When the `console_error_panic_hook` feature is enabled, we can call the
3 // `set_panic_hook` function at least once during initialization, and then
4 // we will get better error messages if our code ever panics.
5 //
6 // For more details see
7 // https://github.com/rustwasm/console_error_panic_hook#readme
8 #[cfg(feature = "console_error_panic_hook")]
9 console_error_panic_hook::set_once();
10}
diff --git a/www/.bin/create-wasm-app.js b/www/.bin/create-wasm-app.js
new file mode 100755
index 0000000..2f42973
--- /dev/null
+++ b/www/.bin/create-wasm-app.js
@@ -0,0 +1,24 @@
1#!/usr/bin/env node
2
3const { spawn } = require("child_process");
4const fs = require("fs");
5
6let folderName = '.';
7
8if (process.argv.length >= 3) {
9 folderName = process.argv[2];
10 if (!fs.existsSync(folderName)) {
11 fs.mkdirSync(folderName);
12 }
13}
14
15const clone = spawn("git", ["clone", "https://github.com/rustwasm/create-wasm-app.git", folderName]);
16
17clone.on("close", code => {
18 if (code !== 0) {
19 console.error("cloning the template failed!")
20 process.exit(code);
21 } else {
22 console.log("🦀 Rust + 🕸 Wasm = ❤");
23 }
24});
diff --git a/www/.gitignore b/www/.gitignore
new file mode 100644
index 0000000..f06235c
--- /dev/null
+++ b/www/.gitignore
@@ -0,0 +1,2 @@
1node_modules
2dist
diff --git a/www/bootstrap.js b/www/bootstrap.js
new file mode 100644
index 0000000..7934d62
--- /dev/null
+++ b/www/bootstrap.js
@@ -0,0 +1,5 @@
1// A dependency graph that contains any wasm must all be imported
2// asynchronously. This `bootstrap.js` file does the single async import, so
3// that no one else needs to worry about it again.
4import("./index.js")
5 .catch(e => console.error("Error importing `index.js`:", e));
diff --git a/www/index.html b/www/index.html
new file mode 100644
index 0000000..827a583
--- /dev/null
+++ b/www/index.html
@@ -0,0 +1,91 @@
1<!DOCTYPE html>
2<html>
3 <head>
4 <meta charset="utf-8">
5 <title>CSTea</title>
6 <link rel="preconnect" href="https://fonts.gstatic.com">
7 <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&display=swap" rel="stylesheet">
8 </head>
9 <style>
10
11html, body {
12 margin: 0;
13 font-family: 'IBM Plex Mono', monospace !important;
14 font-size: 14px;
15}
16
17.grid-container {
18 width: 100%;
19 display: grid;
20 grid-template-columns: 1fr 1fr;
21}
22
23.syntax-node {
24 padding-left: 5px;
25 margin-left: 20px;
26 background-color: #2c313a;
27}
28
29.syntax-node:hover {
30 background-color: #545c6933;
31}
32
33.syntax-err {
34 color: #e06c75;
35}
36
37.header {
38 text-align: center;
39 padding: 12px 0;
40}
41
42#cst, #source-code, .header,
43a, a:hover, a:visited {
44 background-color: #282c34;
45 color: #a3aab6;
46}
47
48#cst, #source-code {
49 height: 100vh;
50 overflow: scroll;
51}
52
53.cm-editor * {
54 font-family: 'IBM Plex Mono', monospace;
55}
56
57pre {
58 padding: 0px;
59 margin: 0px;
60 font-family: 'IBM Plex Mono', monospace;
61}
62
63span.kind {
64 color: #a3aab6;
65}
66
67span.range {
68 font-size: 11px;
69 color: #a3aab688;
70}
71
72span.token-text {
73 color: #98c379;
74}
75
76 </style>
77 <body>
78 <noscript>This page contains webassembly and javascript content, please enable javascript in your browser.</noscript>
79 <script src="./bootstrap.js"></script>
80 <div class="header">
81 explore nix csts
82 · <a href="https://git.peppe.rs/web/cstea-nix/about">src</a>
83 · <a href="https://git.peppe.rs/web/cstea-nix/plain/license">license</a>
84 </div>
85 <div class="grid-container">
86 <div id="source-code"></div>
87 <div id="cst">
88 </div>
89 </div>
90 </body>
91</html>
diff --git a/www/index.js b/www/index.js
new file mode 100644
index 0000000..8a4971d
--- /dev/null
+++ b/www/index.js
@@ -0,0 +1,128 @@
1import {SynNode} from "cstea";
2import {EditorState, EditorView, basicSetup} from "@codemirror/basic-setup"
3import {Decoration, DecorationSet} from "@codemirror/view"
4import {StateField, StateEffect} from "@codemirror/state"
5import {oneDark, oneDarkTheme, oneDarkHighlightStyle} from "@codemirror/theme-one-dark"
6import file from '!raw-loader!../flake.nix'
7
8let cst = document.getElementById('cst');
9let view = new EditorView({
10 state: EditorState.create({
11 doc: file,
12 extensions: [
13 basicSetup,
14 EditorView.updateListener.of((v) => {
15 if (v.docChanged) {
16 doRender()
17 }
18 }),
19 oneDark,
20 oneDarkTheme,
21 oneDarkHighlightStyle.extension
22 ]
23 }),
24 parent: document.getElementById('source-code'),
25})
26
27const doHighlight = StateEffect.define()
28
29const highlightField = StateField.define({
30 create() {
31 return Decoration.none;
32 },
33 update(highlight, tr) {
34 for (let e of tr.effects) if (e.is(doHighlight)) {
35 return (Decoration.none).update({
36 add: [hlMark.range(e.value.from, e.value.to)]
37 });
38 }
39 return Decoration.none;
40 },
41 provide: f => EditorView.decorations.from(f)
42})
43
44const hlMark = Decoration.mark({class: "cm-highlight"})
45
46const hlTheme = EditorView.baseTheme({
47 ".cm-highlight": {
48 backgroundColor: "#ff3299aa"
49 }
50})
51
52function highlightArea(view, textRange) {
53 let effects = [doHighlight.of({from: textRange.start(), to: textRange.end()})];
54 if (!view.state.field(highlightField, false)) {
55 effects.push(StateEffect.appendConfig.of([highlightField, hlTheme]));
56 }
57 view.dispatch({effects});
58}
59
60function render_cst(synRoot) {
61 let nodeDiv = document.createElement("div");
62 nodeDiv.className = "syntax-node";
63 let r = synRoot.range();
64 let synText = synTextHtml(synRoot);
65 synText.onmouseover = () => {
66 highlightArea(view, r);
67 let sourceFile = view.state.doc.toString();
68 view.scrollPosIntoView(r.start());
69 }
70 nodeDiv.appendChild(synText);
71 if (!synRoot.is_token()) {
72 synRoot.children().forEach(node => {
73 nodeDiv.appendChild(render_cst(node));
74 });
75 }
76 return nodeDiv;
77}
78
79function synTextHtml(node) {
80 let kind = document.createElement("span");
81 kind.innerText = ` ${node.kind()} `
82 kind.className = "kind";
83
84 let text = document.createElement("span");
85 text.innerText = ` ${node.text()} `
86 text.className = "token-text";
87
88 let range = document.createElement("span");
89 range.innerText = ` ${node.range().to_string()} `
90 range.className = "range";
91
92 let d = document.createElement("div");
93 d.appendChild(kind);
94 d.appendChild(text);
95 d.appendChild(range);
96
97 return d;
98}
99
100function wrap(s, tag) {
101 let t = document.createElement(tag);
102 t.innerText = s;
103 return t;
104}
105
106function render_err(errorList) {
107 let errDiv = document.createElement("div");
108 errDiv.className = "syntax-err";
109 errorList.forEach(err => {
110 let sourceFile = view.state.doc.toString();
111 errDiv.appendChild(wrap(err.to_string(), "pre"));
112 // highlightArea(view, err.range());
113 });
114 return errDiv;
115}
116
117function doRender() {
118 let sourceFile = view.state.doc.toString();
119 cst.innerHTML = "";
120 try {
121 let synRoot = SynNode.from_str(sourceFile);
122 cst.appendChild(render_cst(synRoot));
123 } catch (synError) {
124 cst.appendChild(render_err(synError));
125 }
126}
127
128doRender();
diff --git a/www/package-lock.json b/www/package-lock.json
new file mode 100644
index 0000000..761bfcf
--- /dev/null
+++ b/www/package-lock.json
@@ -0,0 +1,13458 @@
1{
2 "name": "cstea",
3 "version": "0.1.0",
4 "lockfileVersion": 2,
5 "requires": true,
6 "packages": {
7 "": {
8 "name": "cstea",
9 "version": "0.1.0",
10 "license": "(MIT OR Apache-2.0)",
11 "dependencies": {
12 "@codemirror/basic-setup": "^0.18.2",
13 "@codemirror/lang-rust": "^0.18.0",
14 "@codemirror/theme-one-dark": "^0.18.1",
15 "cstea": "file:../pkg"
16 },
17 "bin": {
18 "create-wasm-app": ".bin/create-wasm-app.js"
19 },
20 "devDependencies": {
21 "copy-webpack-plugin": "^5.0.0",
22 "hello-wasm-pack": "^0.1.0",
23 "raw-loader": "^4.0.2",
24 "webpack": "^4.29.3",
25 "webpack-cli": "^3.1.0",
26 "webpack-dev-server": "^3.1.5"
27 }
28 },
29 "../pkg": {
30 "name": "cstea",
31 "version": "0.1.0"
32 },
33 "node_modules/@codemirror/autocomplete": {
34 "version": "0.18.6",
35 "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-0.18.6.tgz",
36 "integrity": "sha512-pKKv1caMxgdOx4/oyPN47oRwM8G0w5z2kDPXfSEpOsxPEkYMbkvimoDp8UEfUbyScc7m4OEkfXkiC0A3B0/g4w==",
37 "dependencies": {
38 "@codemirror/language": "^0.18.0",
39 "@codemirror/state": "^0.18.0",
40 "@codemirror/text": "^0.18.0",
41 "@codemirror/tooltip": "^0.18.4",
42 "@codemirror/view": "^0.18.0",
43 "lezer-tree": "^0.13.0"
44 }
45 },
46 "node_modules/@codemirror/basic-setup": {
47 "version": "0.18.2",
48 "resolved": "https://registry.npmjs.org/@codemirror/basic-setup/-/basic-setup-0.18.2.tgz",
49 "integrity": "sha512-4UNFQ4jhU7wKxJH23AJcZW6Ho54VXUpmbtFnN5amIdtGci4ZLvci4M7JKgKFraHmKfDIYQnSzN8d8ohXR7CRhw==",
50 "dependencies": {
51 "@codemirror/autocomplete": "^0.18.0",
52 "@codemirror/closebrackets": "^0.18.0",
53 "@codemirror/commands": "^0.18.0",
54 "@codemirror/comment": "^0.18.0",
55 "@codemirror/fold": "^0.18.0",
56 "@codemirror/gutter": "^0.18.3",
57 "@codemirror/highlight": "^0.18.0",
58 "@codemirror/history": "^0.18.0",
59 "@codemirror/language": "^0.18.0",
60 "@codemirror/lint": "^0.18.0",
61 "@codemirror/matchbrackets": "^0.18.0",
62 "@codemirror/rectangular-selection": "^0.18.0",
63 "@codemirror/search": "^0.18.0",
64 "@codemirror/state": "^0.18.0",
65 "@codemirror/view": "^0.18.0"
66 }
67 },
68 "node_modules/@codemirror/closebrackets": {
69 "version": "0.18.0",
70 "resolved": "https://registry.npmjs.org/@codemirror/closebrackets/-/closebrackets-0.18.0.tgz",
71 "integrity": "sha512-O1RAgUkzF4nq/B8IyXenZKZ1rJi2Mc7I6y4IhWhELiTnjyQy7YdAthTsJ40mNr8kZ6gRbasYe3K7TraITElZJA==",
72 "dependencies": {
73 "@codemirror/language": "^0.18.0",
74 "@codemirror/rangeset": "^0.18.0",
75 "@codemirror/state": "^0.18.0",
76 "@codemirror/text": "^0.18.0",
77 "@codemirror/view": "^0.18.0"
78 }
79 },
80 "node_modules/@codemirror/commands": {
81 "version": "0.18.2",
82 "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-0.18.2.tgz",
83 "integrity": "sha512-NeIpsQe5yUIhG7sD1HPaw/9TO5V7miMKwGwhT/0tkgkmgnMtJcgnguM1gjaUlaZ09BBJO6s61D8JHNDUvBI6tA==",
84 "dependencies": {
85 "@codemirror/language": "^0.18.0",
86 "@codemirror/matchbrackets": "^0.18.0",
87 "@codemirror/state": "^0.18.0",
88 "@codemirror/text": "^0.18.0",
89 "@codemirror/view": "^0.18.0",
90 "lezer-tree": "^0.13.0"
91 }
92 },
93 "node_modules/@codemirror/comment": {
94 "version": "0.18.1",
95 "resolved": "https://registry.npmjs.org/@codemirror/comment/-/comment-0.18.1.tgz",
96 "integrity": "sha512-Inhqs0F24WE28Fcp1dBZghwixBGv1HDwY9MjE0d5tpMY/IPGI6uT30fGyHAXrir6hUqk7eJRkO4UYnODGOnoIA==",
97 "dependencies": {
98 "@codemirror/state": "^0.18.0",
99 "@codemirror/text": "^0.18.0",
100 "@codemirror/view": "^0.18.0"
101 }
102 },
103 "node_modules/@codemirror/fold": {
104 "version": "0.18.1",
105 "resolved": "https://registry.npmjs.org/@codemirror/fold/-/fold-0.18.1.tgz",
106 "integrity": "sha512-vvMUgDeSmeVow7/75YoNTERxPsdnIBeEw1JL2YVpLyscsUlalqwuxdhiHDLT5zjAu6JvMoTC103mwqgAYwM9tA==",
107 "dependencies": {
108 "@codemirror/gutter": "^0.18.0",
109 "@codemirror/language": "^0.18.0",
110 "@codemirror/rangeset": "^0.18.0",
111 "@codemirror/state": "^0.18.0",
112 "@codemirror/view": "^0.18.0"
113 }
114 },
115 "node_modules/@codemirror/gutter": {
116 "version": "0.18.4",
117 "resolved": "https://registry.npmjs.org/@codemirror/gutter/-/gutter-0.18.4.tgz",
118 "integrity": "sha512-Sf2IWshMi9zwVVqpGmd2NRplY0qfrE2IiBEII9n2gB9M8hgIMg5GCyhdnsUDsOm0gcSut65W62vV7/DfYJHQCA==",
119 "dependencies": {
120 "@codemirror/rangeset": "^0.18.3",
121 "@codemirror/state": "^0.18.0",
122 "@codemirror/view": "^0.18.0"
123 }
124 },
125 "node_modules/@codemirror/highlight": {
126 "version": "0.18.4",
127 "resolved": "https://registry.npmjs.org/@codemirror/highlight/-/highlight-0.18.4.tgz",
128 "integrity": "sha512-3azJntqWrShOIq/0kVcdMc9k7ACL0LQErgK+A6aWXmCj5Mx0gShq+Iajy8AMQ2zB0v3nhCBgFaniL1LLD5m5hQ==",
129 "dependencies": {
130 "@codemirror/language": "^0.18.0",
131 "@codemirror/rangeset": "^0.18.0",
132 "@codemirror/state": "^0.18.0",
133 "@codemirror/view": "^0.18.0",
134 "lezer-tree": "^0.13.0",
135 "style-mod": "^4.0.0"
136 }
137 },
138 "node_modules/@codemirror/history": {
139 "version": "0.18.1",
140 "resolved": "https://registry.npmjs.org/@codemirror/history/-/history-0.18.1.tgz",
141 "integrity": "sha512-Aad3p4zs6UYKCUMXYjh7cvPK0ajuL+rMib9yBZ61w81LLl6OkM31Xrn9J6CLJmPxCwP3OJFiqBmNSBQ05oIsTw==",
142 "dependencies": {
143 "@codemirror/state": "^0.18.3",
144 "@codemirror/view": "^0.18.0"
145 }
146 },
147 "node_modules/@codemirror/lang-rust": {
148 "version": "0.18.0",
149 "resolved": "https://registry.npmjs.org/@codemirror/lang-rust/-/lang-rust-0.18.0.tgz",
150 "integrity": "sha512-qlzSzDmiUr4UsgQvyRSchMC4xZGX/1FfsikWOC/NL4m7peqlZLWrvzve0z/WNsLvbEC/E+GiiftxdUsqFYsJAg==",
151 "dependencies": {
152 "@codemirror/highlight": "^0.18.0",
153 "@codemirror/language": "^0.18.0",
154 "lezer-rust": "^0.13.0"
155 }
156 },
157 "node_modules/@codemirror/language": {
158 "version": "0.18.2",
159 "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-0.18.2.tgz",
160 "integrity": "sha512-2Kz0Xyfvt1Ex2KfTUcYZ3IBxpnFCqHaJijwZknGBT7JXv9dwbOPs9SfPfL4oxVuDIHZx8JTPfoV3LTTJrm8M3Q==",
161 "dependencies": {
162 "@codemirror/state": "^0.18.0",
163 "@codemirror/text": "^0.18.0",
164 "@codemirror/view": "^0.18.0",
165 "lezer": "^0.13.4",
166 "lezer-tree": "^0.13.0"
167 }
168 },
169 "node_modules/@codemirror/lint": {
170 "version": "0.18.4",
171 "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-0.18.4.tgz",
172 "integrity": "sha512-H77qYfZOmo1kKf0ZQagzk/JRGVhIpwP0hq1TSO6DFC1WLjW6gcsFJO5NDMS86enm0KX0w4/IkA7PItz2mjmHhQ==",
173 "dependencies": {
174 "@codemirror/panel": "^0.18.1",
175 "@codemirror/state": "^0.18.0",
176 "@codemirror/tooltip": "^0.18.4",
177 "@codemirror/view": "^0.18.0",
178 "crelt": "^1.0.5"
179 }
180 },
181 "node_modules/@codemirror/matchbrackets": {
182 "version": "0.18.0",
183 "resolved": "https://registry.npmjs.org/@codemirror/matchbrackets/-/matchbrackets-0.18.0.tgz",
184 "integrity": "sha512-dPDopnZVkD54sSYdmQbyQbPdiuIA83p7XxX6Hp1ScEkOjukwCiFXiA/84x10FUTsQpUYp8bDzm7gwII119bGIw==",
185 "dependencies": {
186 "@codemirror/language": "^0.18.0",
187 "@codemirror/state": "^0.18.0",
188 "@codemirror/view": "^0.18.0",
189 "lezer-tree": "^0.13.0"
190 }
191 },
192 "node_modules/@codemirror/panel": {
193 "version": "0.18.2",
194 "resolved": "https://registry.npmjs.org/@codemirror/panel/-/panel-0.18.2.tgz",
195 "integrity": "sha512-ea/g2aAKtfmie1kD7C8GDutD/5u+uzRJr/varUiAbHKr1sAdjtz5xYvC3GBAMYMan1GOh0vD5zP1yEupJl3b3Q==",
196 "dependencies": {
197 "@codemirror/state": "^0.18.0",
198 "@codemirror/view": "^0.18.0"
199 }
200 },
201 "node_modules/@codemirror/rangeset": {
202 "version": "0.18.3",
203 "resolved": "https://registry.npmjs.org/@codemirror/rangeset/-/rangeset-0.18.3.tgz",
204 "integrity": "sha512-p6bPVr6Cw0yh/QSelsg0RoNaG4btuzZo7YMT+WFwZsjbr7+X0dVpd2vqLAHIeDUfvOzrEI/dXXPKLpZZgYeU+g==",
205 "dependencies": {
206 "@codemirror/state": "^0.18.0"
207 }
208 },
209 "node_modules/@codemirror/rectangular-selection": {
210 "version": "0.18.0",
211 "resolved": "https://registry.npmjs.org/@codemirror/rectangular-selection/-/rectangular-selection-0.18.0.tgz",
212 "integrity": "sha512-BQ4pp2zhXCVZNqct5LtLR3AOWVseENBF/3oOgBmwsCKH7c11NfTqIqgWG5EW8NLOXp8HP8cDm3np8eWez0VkGQ==",
213 "dependencies": {
214 "@codemirror/state": "^0.18.0",
215 "@codemirror/text": "^0.18.0",
216 "@codemirror/view": "^0.18.0"
217 }
218 },
219 "node_modules/@codemirror/search": {
220 "version": "0.18.4",
221 "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-0.18.4.tgz",
222 "integrity": "sha512-3chVkMPzl+pTUSqtimTicebhti4SLpvkj03pQx2aPZScXxIiYuDk4cLdIJK9omjmO1+oycRKbOrqvG7iZJJwMg==",
223 "dependencies": {
224 "@codemirror/panel": "^0.18.1",
225 "@codemirror/rangeset": "^0.18.0",
226 "@codemirror/state": "^0.18.6",
227 "@codemirror/text": "^0.18.0",
228 "@codemirror/view": "^0.18.0",
229 "crelt": "^1.0.5"
230 }
231 },
232 "node_modules/@codemirror/state": {
233 "version": "0.18.7",
234 "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-0.18.7.tgz",
235 "integrity": "sha512-cVyTiAC9vv90NKmGOfNtBjyIem3BqKui1L5Hfcxurp8K9votQj2oH9COcgWPnQ2Xs64yC70tEuTt9DF1pj5PFQ==",
236 "dependencies": {
237 "@codemirror/text": "^0.18.0"
238 }
239 },
240 "node_modules/@codemirror/text": {
241 "version": "0.18.0",
242 "resolved": "https://registry.npmjs.org/@codemirror/text/-/text-0.18.0.tgz",
243 "integrity": "sha512-HMzHNIAbjCiCf3tEJMRg6ul01KPuXxQGNiHlHgAnqPguq/CX+L4Nvj5JlWQAI91Pupk18zhmM1c6eaazX4YeTg=="
244 },
245 "node_modules/@codemirror/theme-one-dark": {
246 "version": "0.18.1",
247 "resolved": "https://registry.npmjs.org/@codemirror/theme-one-dark/-/theme-one-dark-0.18.1.tgz",
248 "integrity": "sha512-0XRfWYDfwUlPlN8yrO7bDB+EuHFqUNhTJwgp2iIixZWejuZQK0NxKmjuhkiGsEz25w7toM12uUsNJ5mo7iFQcA==",
249 "dependencies": {
250 "@codemirror/highlight": "^0.18.0",
251 "@codemirror/state": "^0.18.0",
252 "@codemirror/view": "^0.18.0"
253 }
254 },
255 "node_modules/@codemirror/tooltip": {
256 "version": "0.18.4",
257 "resolved": "https://registry.npmjs.org/@codemirror/tooltip/-/tooltip-0.18.4.tgz",
258 "integrity": "sha512-LDlDOSEfjoG24uapLN7exK3Z3JchYFKUwWqo1x/9YdlAkmD1ik7cMSQZboCquP1uJVcXhtbpKmaO6vENGVaarg==",
259 "dependencies": {
260 "@codemirror/state": "^0.18.0",
261 "@codemirror/view": "^0.18.0"
262 }
263 },
264 "node_modules/@codemirror/view": {
265 "version": "0.18.16",
266 "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-0.18.16.tgz",
267 "integrity": "sha512-5sFdVXV4Gdw8/JfyjzIAVL+IrLIGPoXrqs+fZmu3rPMQEnw7u/EkG2aKxnwf/IdDPLLVK6FDRWoddaZ25VIjdQ==",
268 "dependencies": {
269 "@codemirror/rangeset": "^0.18.2",
270 "@codemirror/state": "^0.18.0",
271 "@codemirror/text": "^0.18.0",
272 "style-mod": "^4.0.0",
273 "w3c-keyname": "^2.2.4"
274 }
275 },
276 "node_modules/@types/events": {
277 "version": "3.0.0",
278 "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
279 "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==",
280 "dev": true
281 },
282 "node_modules/@types/glob": {
283 "version": "7.1.1",
284 "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
285 "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
286 "dev": true,
287 "dependencies": {
288 "@types/events": "*",
289 "@types/minimatch": "*",
290 "@types/node": "*"
291 }
292 },
293 "node_modules/@types/json-schema": {
294 "version": "7.0.7",
295 "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz",
296 "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==",
297 "dev": true
298 },
299 "node_modules/@types/minimatch": {
300 "version": "3.0.3",
301 "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
302 "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
303 "dev": true
304 },
305 "node_modules/@types/node": {
306 "version": "13.13.5",
307 "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.5.tgz",
308 "integrity": "sha512-3ySmiBYJPqgjiHA7oEaIo2Rzz0HrOZ7yrNO5HWyaE5q0lQ3BppDZ3N53Miz8bw2I7gh1/zir2MGVZBvpb1zq9g==",
309 "dev": true
310 },
311 "node_modules/@webassemblyjs/ast": {
312 "version": "1.9.0",
313 "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
314 "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
315 "dev": true,
316 "dependencies": {
317 "@webassemblyjs/helper-module-context": "1.9.0",
318 "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
319 "@webassemblyjs/wast-parser": "1.9.0"
320 }
321 },
322 "node_modules/@webassemblyjs/floating-point-hex-parser": {
323 "version": "1.9.0",
324 "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
325 "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
326 "dev": true
327 },
328 "node_modules/@webassemblyjs/helper-api-error": {
329 "version": "1.9.0",
330 "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
331 "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
332 "dev": true
333 },
334 "node_modules/@webassemblyjs/helper-buffer": {
335 "version": "1.9.0",
336 "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
337 "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
338 "dev": true
339 },
340 "node_modules/@webassemblyjs/helper-code-frame": {
341 "version": "1.9.0",
342 "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
343 "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
344 "dev": true,
345 "dependencies": {
346 "@webassemblyjs/wast-printer": "1.9.0"
347 }
348 },
349 "node_modules/@webassemblyjs/helper-fsm": {
350 "version": "1.9.0",
351 "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
352 "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
353 "dev": true
354 },
355 "node_modules/@webassemblyjs/helper-module-context": {
356 "version": "1.9.0",
357 "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
358 "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
359 "dev": true,
360 "dependencies": {
361 "@webassemblyjs/ast": "1.9.0"
362 }
363 },
364 "node_modules/@webassemblyjs/helper-wasm-bytecode": {
365 "version": "1.9.0",
366 "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
367 "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
368 "dev": true
369 },
370 "node_modules/@webassemblyjs/helper-wasm-section": {
371 "version": "1.9.0",
372 "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
373 "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
374 "dev": true,
375 "dependencies": {
376 "@webassemblyjs/ast": "1.9.0",
377 "@webassemblyjs/helper-buffer": "1.9.0",
378 "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
379 "@webassemblyjs/wasm-gen": "1.9.0"
380 }
381 },
382 "node_modules/@webassemblyjs/ieee754": {
383 "version": "1.9.0",
384 "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
385 "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
386 "dev": true,
387 "dependencies": {
388 "@xtuc/ieee754": "^1.2.0"
389 }
390 },
391 "node_modules/@webassemblyjs/leb128": {
392 "version": "1.9.0",
393 "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
394 "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
395 "dev": true,
396 "dependencies": {
397 "@xtuc/long": "4.2.2"
398 }
399 },
400 "node_modules/@webassemblyjs/utf8": {
401 "version": "1.9.0",
402 "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
403 "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
404 "dev": true
405 },
406 "node_modules/@webassemblyjs/wasm-edit": {
407 "version": "1.9.0",
408 "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
409 "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
410 "dev": true,
411 "dependencies": {
412 "@webassemblyjs/ast": "1.9.0",
413 "@webassemblyjs/helper-buffer": "1.9.0",
414 "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
415 "@webassemblyjs/helper-wasm-section": "1.9.0",
416 "@webassemblyjs/wasm-gen": "1.9.0",
417 "@webassemblyjs/wasm-opt": "1.9.0",
418 "@webassemblyjs/wasm-parser": "1.9.0",
419 "@webassemblyjs/wast-printer": "1.9.0"
420 }
421 },
422 "node_modules/@webassemblyjs/wasm-gen": {
423 "version": "1.9.0",
424 "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
425 "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
426 "dev": true,
427 "dependencies": {
428 "@webassemblyjs/ast": "1.9.0",
429 "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
430 "@webassemblyjs/ieee754": "1.9.0",
431 "@webassemblyjs/leb128": "1.9.0",
432 "@webassemblyjs/utf8": "1.9.0"
433 }
434 },
435 "node_modules/@webassemblyjs/wasm-opt": {
436 "version": "1.9.0",
437 "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
438 "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
439 "dev": true,
440 "dependencies": {
441 "@webassemblyjs/ast": "1.9.0",
442 "@webassemblyjs/helper-buffer": "1.9.0",
443 "@webassemblyjs/wasm-gen": "1.9.0",
444 "@webassemblyjs/wasm-parser": "1.9.0"
445 }
446 },
447 "node_modules/@webassemblyjs/wasm-parser": {
448 "version": "1.9.0",
449 "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
450 "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
451 "dev": true,
452 "dependencies": {
453 "@webassemblyjs/ast": "1.9.0",
454 "@webassemblyjs/helper-api-error": "1.9.0",
455 "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
456 "@webassemblyjs/ieee754": "1.9.0",
457 "@webassemblyjs/leb128": "1.9.0",
458 "@webassemblyjs/utf8": "1.9.0"
459 }
460 },
461 "node_modules/@webassemblyjs/wast-parser": {
462 "version": "1.9.0",
463 "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
464 "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
465 "dev": true,
466 "dependencies": {
467 "@webassemblyjs/ast": "1.9.0",
468 "@webassemblyjs/floating-point-hex-parser": "1.9.0",
469 "@webassemblyjs/helper-api-error": "1.9.0",
470 "@webassemblyjs/helper-code-frame": "1.9.0",
471 "@webassemblyjs/helper-fsm": "1.9.0",
472 "@xtuc/long": "4.2.2"
473 }
474 },
475 "node_modules/@webassemblyjs/wast-printer": {
476 "version": "1.9.0",
477 "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
478 "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
479 "dev": true,
480 "dependencies": {
481 "@webassemblyjs/ast": "1.9.0",
482 "@webassemblyjs/wast-parser": "1.9.0",
483 "@xtuc/long": "4.2.2"
484 }
485 },
486 "node_modules/@xtuc/ieee754": {
487 "version": "1.2.0",
488 "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
489 "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
490 "dev": true
491 },
492 "node_modules/@xtuc/long": {
493 "version": "4.2.2",
494 "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
495 "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
496 "dev": true
497 },
498 "node_modules/accepts": {
499 "version": "1.3.7",
500 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
501 "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
502 "dev": true,
503 "dependencies": {
504 "mime-types": "~2.1.24",
505 "negotiator": "0.6.2"
506 },
507 "engines": {
508 "node": ">= 0.6"
509 }
510 },
511 "node_modules/acorn": {
512 "version": "6.4.1",
513 "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
514 "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
515 "dev": true,
516 "bin": {
517 "acorn": "bin/acorn"
518 },
519 "engines": {
520 "node": ">=0.4.0"
521 }
522 },
523 "node_modules/ajv": {
524 "version": "6.12.6",
525 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
526 "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
527 "dev": true,
528 "dependencies": {
529 "fast-deep-equal": "^3.1.1",
530 "fast-json-stable-stringify": "^2.0.0",
531 "json-schema-traverse": "^0.4.1",
532 "uri-js": "^4.2.2"
533 },
534 "funding": {
535 "type": "github",
536 "url": "https://github.com/sponsors/epoberezkin"
537 }
538 },
539 "node_modules/ajv-errors": {
540 "version": "1.0.0",
541 "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.0.tgz",
542 "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk=",
543 "dev": true
544 },
545 "node_modules/ajv-keywords": {
546 "version": "3.5.2",
547 "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
548 "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
549 "dev": true,
550 "peerDependencies": {
551 "ajv": "^6.9.1"
552 }
553 },
554 "node_modules/ansi-colors": {
555 "version": "3.2.3",
556 "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
557 "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==",
558 "dev": true,
559 "engines": {
560 "node": ">=6"
561 }
562 },
563 "node_modules/ansi-html": {
564 "version": "0.0.7",
565 "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
566 "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
567 "dev": true,
568 "engines": [
569 "node >= 0.8.0"
570 ],
571 "bin": {
572 "ansi-html": "bin/ansi-html"
573 }
574 },
575 "node_modules/ansi-regex": {
576 "version": "2.1.1",
577 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
578 "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
579 "dev": true,
580 "engines": {
581 "node": ">=0.10.0"
582 }
583 },
584 "node_modules/ansi-styles": {
585 "version": "3.2.1",
586 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
587 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
588 "dev": true,
589 "dependencies": {
590 "color-convert": "^1.9.0"
591 },
592 "engines": {
593 "node": ">=4"
594 }
595 },
596 "node_modules/anymatch": {
597 "version": "2.0.0",
598 "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
599 "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
600 "dev": true,
601 "dependencies": {
602 "micromatch": "^3.1.4",
603 "normalize-path": "^2.1.1"
604 }
605 },
606 "node_modules/aproba": {
607 "version": "1.2.0",
608 "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
609 "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
610 "dev": true
611 },
612 "node_modules/arr-diff": {
613 "version": "4.0.0",
614 "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
615 "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
616 "dev": true,
617 "engines": {
618 "node": ">=0.10.0"
619 }
620 },
621 "node_modules/arr-flatten": {
622 "version": "1.1.0",
623 "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
624 "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
625 "dev": true,
626 "engines": {
627 "node": ">=0.10.0"
628 }
629 },
630 "node_modules/arr-union": {
631 "version": "3.1.0",
632 "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
633 "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
634 "dev": true,
635 "engines": {
636 "node": ">=0.10.0"
637 }
638 },
639 "node_modules/array-flatten": {
640 "version": "2.1.2",
641 "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
642 "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
643 "dev": true
644 },
645 "node_modules/array-union": {
646 "version": "1.0.2",
647 "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
648 "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
649 "dev": true,
650 "dependencies": {
651 "array-uniq": "^1.0.1"
652 },
653 "engines": {
654 "node": ">=0.10.0"
655 }
656 },
657 "node_modules/array-uniq": {
658 "version": "1.0.3",
659 "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
660 "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
661 "dev": true,
662 "engines": {
663 "node": ">=0.10.0"
664 }
665 },
666 "node_modules/array-unique": {
667 "version": "0.3.2",
668 "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
669 "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
670 "dev": true,
671 "engines": {
672 "node": ">=0.10.0"
673 }
674 },
675 "node_modules/asn1.js": {
676 "version": "4.10.1",
677 "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
678 "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
679 "dev": true,
680 "dependencies": {
681 "bn.js": "^4.0.0",
682 "inherits": "^2.0.1",
683 "minimalistic-assert": "^1.0.0"
684 }
685 },
686 "node_modules/assert": {
687 "version": "1.5.0",
688 "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
689 "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
690 "dev": true,
691 "dependencies": {
692 "object-assign": "^4.1.1",
693 "util": "0.10.3"
694 }
695 },
696 "node_modules/assert/node_modules/inherits": {
697 "version": "2.0.1",
698 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
699 "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
700 "dev": true
701 },
702 "node_modules/assert/node_modules/util": {
703 "version": "0.10.3",
704 "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
705 "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
706 "dev": true,
707 "dependencies": {
708 "inherits": "2.0.1"
709 }
710 },
711 "node_modules/assign-symbols": {
712 "version": "1.0.0",
713 "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
714 "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
715 "dev": true,
716 "engines": {
717 "node": ">=0.10.0"
718 }
719 },
720 "node_modules/async": {
721 "version": "2.6.3",
722 "resolved": "http://registry.npmjs.org/async/-/async-2.6.3.tgz",
723 "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
724 "dev": true,
725 "dependencies": {
726 "lodash": "^4.17.14"
727 }
728 },
729 "node_modules/async-each": {
730 "version": "1.0.1",
731 "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
732 "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
733 "dev": true
734 },
735 "node_modules/async-limiter": {
736 "version": "1.0.1",
737 "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
738 "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
739 "dev": true
740 },
741 "node_modules/atob": {
742 "version": "2.1.1",
743 "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz",
744 "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=",
745 "dev": true,
746 "bin": {
747 "atob": "bin/atob.js"
748 },
749 "engines": {
750 "node": ">= 4.5.0"
751 }
752 },
753 "node_modules/balanced-match": {
754 "version": "1.0.0",
755 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
756 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
757 "dev": true
758 },
759 "node_modules/base": {
760 "version": "0.11.2",
761 "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
762 "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
763 "dev": true,
764 "dependencies": {
765 "cache-base": "^1.0.1",
766 "class-utils": "^0.3.5",
767 "component-emitter": "^1.2.1",
768 "define-property": "^1.0.0",
769 "isobject": "^3.0.1",
770 "mixin-deep": "^1.2.0",
771 "pascalcase": "^0.1.1"
772 },
773 "engines": {
774 "node": ">=0.10.0"
775 }
776 },
777 "node_modules/base/node_modules/define-property": {
778 "version": "1.0.0",
779 "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
780 "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
781 "dev": true,
782 "dependencies": {
783 "is-descriptor": "^1.0.0"
784 },
785 "engines": {
786 "node": ">=0.10.0"
787 }
788 },
789 "node_modules/base/node_modules/is-accessor-descriptor": {
790 "version": "1.0.0",
791 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
792 "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
793 "dev": true,
794 "dependencies": {
795 "kind-of": "^6.0.0"
796 },
797 "engines": {
798 "node": ">=0.10.0"
799 }
800 },
801 "node_modules/base/node_modules/is-data-descriptor": {
802 "version": "1.0.0",
803 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
804 "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
805 "dev": true,
806 "dependencies": {
807 "kind-of": "^6.0.0"
808 },
809 "engines": {
810 "node": ">=0.10.0"
811 }
812 },
813 "node_modules/base/node_modules/is-descriptor": {
814 "version": "1.0.2",
815 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
816 "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
817 "dev": true,
818 "dependencies": {
819 "is-accessor-descriptor": "^1.0.0",
820 "is-data-descriptor": "^1.0.0",
821 "kind-of": "^6.0.2"
822 },
823 "engines": {
824 "node": ">=0.10.0"
825 }
826 },
827 "node_modules/base64-js": {
828 "version": "1.3.1",
829 "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
830 "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
831 "dev": true
832 },
833 "node_modules/batch": {
834 "version": "0.6.1",
835 "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
836 "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
837 "dev": true
838 },
839 "node_modules/big.js": {
840 "version": "5.2.2",
841 "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
842 "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
843 "dev": true,
844 "engines": {
845 "node": "*"
846 }
847 },
848 "node_modules/binary-extensions": {
849 "version": "1.11.0",
850 "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
851 "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=",
852 "dev": true,
853 "engines": {
854 "node": ">=0.10.0"
855 }
856 },
857 "node_modules/bluebird": {
858 "version": "3.7.1",
859 "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz",
860 "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==",
861 "dev": true
862 },
863 "node_modules/bn.js": {
864 "version": "4.11.8",
865 "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
866 "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
867 "dev": true
868 },
869 "node_modules/body-parser": {
870 "version": "1.19.0",
871 "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
872 "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
873 "dev": true,
874 "dependencies": {
875 "bytes": "3.1.0",
876 "content-type": "~1.0.4",
877 "debug": "2.6.9",
878 "depd": "~1.1.2",
879 "http-errors": "1.7.2",
880 "iconv-lite": "0.4.24",
881 "on-finished": "~2.3.0",
882 "qs": "6.7.0",
883 "raw-body": "2.4.0",
884 "type-is": "~1.6.17"
885 },
886 "engines": {
887 "node": ">= 0.8"
888 }
889 },
890 "node_modules/body-parser/node_modules/bytes": {
891 "version": "3.1.0",
892 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
893 "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
894 "dev": true,
895 "engines": {
896 "node": ">= 0.8"
897 }
898 },
899 "node_modules/body-parser/node_modules/debug": {
900 "version": "2.6.9",
901 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
902 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
903 "dev": true,
904 "dependencies": {
905 "ms": "2.0.0"
906 }
907 },
908 "node_modules/bonjour": {
909 "version": "3.5.0",
910 "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
911 "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
912 "dev": true,
913 "dependencies": {
914 "array-flatten": "^2.1.0",
915 "deep-equal": "^1.0.1",
916 "dns-equal": "^1.0.0",
917 "dns-txt": "^2.0.2",
918 "multicast-dns": "^6.0.1",
919 "multicast-dns-service-types": "^1.1.0"
920 }
921 },
922 "node_modules/brace-expansion": {
923 "version": "1.1.11",
924 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
925 "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
926 "dev": true,
927 "dependencies": {
928 "balanced-match": "^1.0.0",
929 "concat-map": "0.0.1"
930 }
931 },
932 "node_modules/braces": {
933 "version": "2.3.2",
934 "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
935 "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
936 "dev": true,
937 "dependencies": {
938 "arr-flatten": "^1.1.0",
939 "array-unique": "^0.3.2",
940 "extend-shallow": "^2.0.1",
941 "fill-range": "^4.0.0",
942 "isobject": "^3.0.1",
943 "repeat-element": "^1.1.2",
944 "snapdragon": "^0.8.1",
945 "snapdragon-node": "^2.0.1",
946 "split-string": "^3.0.2",
947 "to-regex": "^3.0.1"
948 },
949 "engines": {
950 "node": ">=0.10.0"
951 }
952 },
953 "node_modules/braces/node_modules/extend-shallow": {
954 "version": "2.0.1",
955 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
956 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
957 "dev": true,
958 "dependencies": {
959 "is-extendable": "^0.1.0"
960 },
961 "engines": {
962 "node": ">=0.10.0"
963 }
964 },
965 "node_modules/brorand": {
966 "version": "1.1.0",
967 "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
968 "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
969 "dev": true
970 },
971 "node_modules/browserify-aes": {
972 "version": "1.2.0",
973 "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
974 "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
975 "dev": true,
976 "dependencies": {
977 "buffer-xor": "^1.0.3",
978 "cipher-base": "^1.0.0",
979 "create-hash": "^1.1.0",
980 "evp_bytestokey": "^1.0.3",
981 "inherits": "^2.0.1",
982 "safe-buffer": "^5.0.1"
983 }
984 },
985 "node_modules/browserify-cipher": {
986 "version": "1.0.1",
987 "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
988 "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
989 "dev": true,
990 "dependencies": {
991 "browserify-aes": "^1.0.4",
992 "browserify-des": "^1.0.0",
993 "evp_bytestokey": "^1.0.0"
994 }
995 },
996 "node_modules/browserify-des": {
997 "version": "1.0.2",
998 "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
999 "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
1000 "dev": true,
1001 "dependencies": {
1002 "cipher-base": "^1.0.1",
1003 "des.js": "^1.0.0",
1004 "inherits": "^2.0.1",
1005 "safe-buffer": "^5.1.2"
1006 }
1007 },
1008 "node_modules/browserify-rsa": {
1009 "version": "4.0.1",
1010 "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
1011 "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
1012 "dev": true,
1013 "dependencies": {
1014 "bn.js": "^4.1.0",
1015 "randombytes": "^2.0.1"
1016 }
1017 },
1018 "node_modules/browserify-sign": {
1019 "version": "4.0.4",
1020 "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
1021 "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
1022 "dev": true,
1023 "dependencies": {
1024 "bn.js": "^4.1.1",
1025 "browserify-rsa": "^4.0.0",
1026 "create-hash": "^1.1.0",
1027 "create-hmac": "^1.1.2",
1028 "elliptic": "^6.0.0",
1029 "inherits": "^2.0.1",
1030 "parse-asn1": "^5.0.0"
1031 }
1032 },
1033 "node_modules/browserify-zlib": {
1034 "version": "0.2.0",
1035 "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
1036 "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
1037 "dev": true,
1038 "dependencies": {
1039 "pako": "~1.0.5"
1040 }
1041 },
1042 "node_modules/buffer": {
1043 "version": "4.9.2",
1044 "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
1045 "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
1046 "dev": true,
1047 "dependencies": {
1048 "base64-js": "^1.0.2",
1049 "ieee754": "^1.1.4",
1050 "isarray": "^1.0.0"
1051 }
1052 },
1053 "node_modules/buffer-from": {
1054 "version": "1.1.1",
1055 "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
1056 "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
1057 "dev": true
1058 },
1059 "node_modules/buffer-indexof": {
1060 "version": "1.1.1",
1061 "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
1062 "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==",
1063 "dev": true
1064 },
1065 "node_modules/buffer-xor": {
1066 "version": "1.0.3",
1067 "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
1068 "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
1069 "dev": true
1070 },
1071 "node_modules/builtin-status-codes": {
1072 "version": "3.0.0",
1073 "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
1074 "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
1075 "dev": true
1076 },
1077 "node_modules/bytes": {
1078 "version": "3.0.0",
1079 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
1080 "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
1081 "dev": true,
1082 "engines": {
1083 "node": ">= 0.8"
1084 }
1085 },
1086 "node_modules/cacache": {
1087 "version": "12.0.3",
1088 "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
1089 "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
1090 "dev": true,
1091 "dependencies": {
1092 "bluebird": "^3.5.5",
1093 "chownr": "^1.1.1",
1094 "figgy-pudding": "^3.5.1",
1095 "glob": "^7.1.4",
1096 "graceful-fs": "^4.1.15",
1097 "infer-owner": "^1.0.3",
1098 "lru-cache": "^5.1.1",
1099 "mississippi": "^3.0.0",
1100 "mkdirp": "^0.5.1",
1101 "move-concurrently": "^1.0.1",
1102 "promise-inflight": "^1.0.1",
1103 "rimraf": "^2.6.3",
1104 "ssri": "^6.0.1",
1105 "unique-filename": "^1.1.1",
1106 "y18n": "^4.0.0"
1107 }
1108 },
1109 "node_modules/cacache/node_modules/glob": {
1110 "version": "7.1.4",
1111 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
1112 "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
1113 "dev": true,
1114 "dependencies": {
1115 "fs.realpath": "^1.0.0",
1116 "inflight": "^1.0.4",
1117 "inherits": "2",
1118 "minimatch": "^3.0.4",
1119 "once": "^1.3.0",
1120 "path-is-absolute": "^1.0.0"
1121 },
1122 "engines": {
1123 "node": "*"
1124 }
1125 },
1126 "node_modules/cacache/node_modules/graceful-fs": {
1127 "version": "4.2.2",
1128 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
1129 "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==",
1130 "dev": true
1131 },
1132 "node_modules/cacache/node_modules/rimraf": {
1133 "version": "2.7.1",
1134 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
1135 "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
1136 "dev": true,
1137 "dependencies": {
1138 "glob": "^7.1.3"
1139 },
1140 "bin": {
1141 "rimraf": "bin.js"
1142 }
1143 },
1144 "node_modules/cache-base": {
1145 "version": "1.0.1",
1146 "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
1147 "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
1148 "dev": true,
1149 "dependencies": {
1150 "collection-visit": "^1.0.0",
1151 "component-emitter": "^1.2.1",
1152 "get-value": "^2.0.6",
1153 "has-value": "^1.0.0",
1154 "isobject": "^3.0.1",
1155 "set-value": "^2.0.0",
1156 "to-object-path": "^0.3.0",
1157 "union-value": "^1.0.0",
1158 "unset-value": "^1.0.0"
1159 },
1160 "engines": {
1161 "node": ">=0.10.0"
1162 }
1163 },
1164 "node_modules/camelcase": {
1165 "version": "5.3.1",
1166 "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
1167 "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
1168 "dev": true,
1169 "engines": {
1170 "node": ">=6"
1171 }
1172 },
1173 "node_modules/chalk": {
1174 "version": "2.4.2",
1175 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
1176 "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
1177 "dev": true,
1178 "dependencies": {
1179 "ansi-styles": "^3.2.1",
1180 "escape-string-regexp": "^1.0.5",
1181 "supports-color": "^5.3.0"
1182 },
1183 "engines": {
1184 "node": ">=4"
1185 }
1186 },
1187 "node_modules/chalk/node_modules/supports-color": {
1188 "version": "5.5.0",
1189 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1190 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1191 "dev": true,
1192 "dependencies": {
1193 "has-flag": "^3.0.0"
1194 },
1195 "engines": {
1196 "node": ">=4"
1197 }
1198 },
1199 "node_modules/chokidar": {
1200 "version": "2.1.8",
1201 "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
1202 "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
1203 "dev": true,
1204 "dependencies": {
1205 "anymatch": "^2.0.0",
1206 "async-each": "^1.0.1",
1207 "braces": "^2.3.2",
1208 "glob-parent": "^3.1.0",
1209 "inherits": "^2.0.3",
1210 "is-binary-path": "^1.0.0",
1211 "is-glob": "^4.0.0",
1212 "normalize-path": "^3.0.0",
1213 "path-is-absolute": "^1.0.0",
1214 "readdirp": "^2.2.1",
1215 "upath": "^1.1.1"
1216 },
1217 "optionalDependencies": {
1218 "fsevents": "^1.2.7"
1219 }
1220 },
1221 "node_modules/chokidar/node_modules/normalize-path": {
1222 "version": "3.0.0",
1223 "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
1224 "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
1225 "dev": true,
1226 "engines": {
1227 "node": ">=0.10.0"
1228 }
1229 },
1230 "node_modules/chownr": {
1231 "version": "1.1.1",
1232 "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz",
1233 "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
1234 "dev": true
1235 },
1236 "node_modules/chrome-trace-event": {
1237 "version": "1.0.2",
1238 "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz",
1239 "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==",
1240 "dev": true,
1241 "dependencies": {
1242 "tslib": "^1.9.0"
1243 },
1244 "engines": {
1245 "node": ">=6.0"
1246 }
1247 },
1248 "node_modules/cipher-base": {
1249 "version": "1.0.4",
1250 "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
1251 "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
1252 "dev": true,
1253 "dependencies": {
1254 "inherits": "^2.0.1",
1255 "safe-buffer": "^5.0.1"
1256 }
1257 },
1258 "node_modules/class-utils": {
1259 "version": "0.3.6",
1260 "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
1261 "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
1262 "dev": true,
1263 "dependencies": {
1264 "arr-union": "^3.1.0",
1265 "define-property": "^0.2.5",
1266 "isobject": "^3.0.0",
1267 "static-extend": "^0.1.1"
1268 },
1269 "engines": {
1270 "node": ">=0.10.0"
1271 }
1272 },
1273 "node_modules/class-utils/node_modules/define-property": {
1274 "version": "0.2.5",
1275 "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1276 "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1277 "dev": true,
1278 "dependencies": {
1279 "is-descriptor": "^0.1.0"
1280 },
1281 "engines": {
1282 "node": ">=0.10.0"
1283 }
1284 },
1285 "node_modules/cliui": {
1286 "version": "5.0.0",
1287 "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
1288 "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
1289 "dev": true,
1290 "dependencies": {
1291 "string-width": "^3.1.0",
1292 "strip-ansi": "^5.2.0",
1293 "wrap-ansi": "^5.1.0"
1294 }
1295 },
1296 "node_modules/cliui/node_modules/ansi-regex": {
1297 "version": "4.1.0",
1298 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
1299 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
1300 "dev": true,
1301 "engines": {
1302 "node": ">=6"
1303 }
1304 },
1305 "node_modules/cliui/node_modules/strip-ansi": {
1306 "version": "5.2.0",
1307 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
1308 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
1309 "dev": true,
1310 "dependencies": {
1311 "ansi-regex": "^4.1.0"
1312 },
1313 "engines": {
1314 "node": ">=6"
1315 }
1316 },
1317 "node_modules/collection-visit": {
1318 "version": "1.0.0",
1319 "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
1320 "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
1321 "dev": true,
1322 "dependencies": {
1323 "map-visit": "^1.0.0",
1324 "object-visit": "^1.0.0"
1325 },
1326 "engines": {
1327 "node": ">=0.10.0"
1328 }
1329 },
1330 "node_modules/color-convert": {
1331 "version": "1.9.3",
1332 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
1333 "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
1334 "dev": true,
1335 "dependencies": {
1336 "color-name": "1.1.3"
1337 }
1338 },
1339 "node_modules/color-name": {
1340 "version": "1.1.3",
1341 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
1342 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
1343 "dev": true
1344 },
1345 "node_modules/commander": {
1346 "version": "2.20.3",
1347 "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
1348 "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
1349 "dev": true
1350 },
1351 "node_modules/commondir": {
1352 "version": "1.0.1",
1353 "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
1354 "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
1355 "dev": true
1356 },
1357 "node_modules/component-emitter": {
1358 "version": "1.2.1",
1359 "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
1360 "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
1361 "dev": true
1362 },
1363 "node_modules/compressible": {
1364 "version": "2.0.18",
1365 "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
1366 "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
1367 "dev": true,
1368 "dependencies": {
1369 "mime-db": ">= 1.43.0 < 2"
1370 },
1371 "engines": {
1372 "node": ">= 0.6"
1373 }
1374 },
1375 "node_modules/compression": {
1376 "version": "1.7.4",
1377 "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
1378 "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
1379 "dev": true,
1380 "dependencies": {
1381 "accepts": "~1.3.5",
1382 "bytes": "3.0.0",
1383 "compressible": "~2.0.16",
1384 "debug": "2.6.9",
1385 "on-headers": "~1.0.2",
1386 "safe-buffer": "5.1.2",
1387 "vary": "~1.1.2"
1388 },
1389 "engines": {
1390 "node": ">= 0.8.0"
1391 }
1392 },
1393 "node_modules/compression/node_modules/debug": {
1394 "version": "2.6.9",
1395 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1396 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1397 "dev": true,
1398 "dependencies": {
1399 "ms": "2.0.0"
1400 }
1401 },
1402 "node_modules/concat-map": {
1403 "version": "0.0.1",
1404 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1405 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
1406 "dev": true
1407 },
1408 "node_modules/concat-stream": {
1409 "version": "1.6.2",
1410 "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
1411 "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
1412 "dev": true,
1413 "engines": [
1414 "node >= 0.8"
1415 ],
1416 "dependencies": {
1417 "buffer-from": "^1.0.0",
1418 "inherits": "^2.0.3",
1419 "readable-stream": "^2.2.2",
1420 "typedarray": "^0.0.6"
1421 }
1422 },
1423 "node_modules/connect-history-api-fallback": {
1424 "version": "1.6.0",
1425 "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
1426 "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
1427 "dev": true,
1428 "engines": {
1429 "node": ">=0.8"
1430 }
1431 },
1432 "node_modules/console-browserify": {
1433 "version": "1.2.0",
1434 "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
1435 "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
1436 "dev": true
1437 },
1438 "node_modules/constants-browserify": {
1439 "version": "1.0.0",
1440 "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
1441 "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
1442 "dev": true
1443 },
1444 "node_modules/content-disposition": {
1445 "version": "0.5.3",
1446 "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
1447 "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
1448 "dev": true,
1449 "dependencies": {
1450 "safe-buffer": "5.1.2"
1451 },
1452 "engines": {
1453 "node": ">= 0.6"
1454 }
1455 },
1456 "node_modules/content-type": {
1457 "version": "1.0.4",
1458 "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
1459 "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
1460 "dev": true,
1461 "engines": {
1462 "node": ">= 0.6"
1463 }
1464 },
1465 "node_modules/cookie": {
1466 "version": "0.4.0",
1467 "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
1468 "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
1469 "dev": true,
1470 "engines": {
1471 "node": ">= 0.6"
1472 }
1473 },
1474 "node_modules/cookie-signature": {
1475 "version": "1.0.6",
1476 "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
1477 "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
1478 "dev": true
1479 },
1480 "node_modules/copy-concurrently": {
1481 "version": "1.0.5",
1482 "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
1483 "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
1484 "dev": true,
1485 "dependencies": {
1486 "aproba": "^1.1.1",
1487 "fs-write-stream-atomic": "^1.0.8",
1488 "iferr": "^0.1.5",
1489 "mkdirp": "^0.5.1",
1490 "rimraf": "^2.5.4",
1491 "run-queue": "^1.0.0"
1492 }
1493 },
1494 "node_modules/copy-descriptor": {
1495 "version": "0.1.1",
1496 "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
1497 "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
1498 "dev": true,
1499 "engines": {
1500 "node": ">=0.10.0"
1501 }
1502 },
1503 "node_modules/copy-webpack-plugin": {
1504 "version": "5.1.1",
1505 "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz",
1506 "integrity": "sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg==",
1507 "dev": true,
1508 "dependencies": {
1509 "cacache": "^12.0.3",
1510 "find-cache-dir": "^2.1.0",
1511 "glob-parent": "^3.1.0",
1512 "globby": "^7.1.1",
1513 "is-glob": "^4.0.1",
1514 "loader-utils": "^1.2.3",
1515 "minimatch": "^3.0.4",
1516 "normalize-path": "^3.0.0",
1517 "p-limit": "^2.2.1",
1518 "schema-utils": "^1.0.0",
1519 "serialize-javascript": "^2.1.2",
1520 "webpack-log": "^2.0.0"
1521 },
1522 "engines": {
1523 "node": ">= 6.9.0"
1524 }
1525 },
1526 "node_modules/copy-webpack-plugin/node_modules/globby": {
1527 "version": "7.1.1",
1528 "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
1529 "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
1530 "dev": true,
1531 "dependencies": {
1532 "array-union": "^1.0.1",
1533 "dir-glob": "^2.0.0",
1534 "glob": "^7.1.2",
1535 "ignore": "^3.3.5",
1536 "pify": "^3.0.0",
1537 "slash": "^1.0.0"
1538 },
1539 "engines": {
1540 "node": ">=4"
1541 }
1542 },
1543 "node_modules/copy-webpack-plugin/node_modules/is-glob": {
1544 "version": "4.0.1",
1545 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
1546 "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
1547 "dev": true,
1548 "dependencies": {
1549 "is-extglob": "^2.1.1"
1550 },
1551 "engines": {
1552 "node": ">=0.10.0"
1553 }
1554 },
1555 "node_modules/copy-webpack-plugin/node_modules/normalize-path": {
1556 "version": "3.0.0",
1557 "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
1558 "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
1559 "dev": true,
1560 "engines": {
1561 "node": ">=0.10.0"
1562 }
1563 },
1564 "node_modules/copy-webpack-plugin/node_modules/p-limit": {
1565 "version": "2.2.1",
1566 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
1567 "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
1568 "dev": true,
1569 "dependencies": {
1570 "p-try": "^2.0.0"
1571 },
1572 "engines": {
1573 "node": ">=6"
1574 }
1575 },
1576 "node_modules/copy-webpack-plugin/node_modules/serialize-javascript": {
1577 "version": "2.1.2",
1578 "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz",
1579 "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==",
1580 "dev": true
1581 },
1582 "node_modules/core-util-is": {
1583 "version": "1.0.2",
1584 "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
1585 "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
1586 "dev": true
1587 },
1588 "node_modules/create-ecdh": {
1589 "version": "4.0.3",
1590 "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
1591 "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
1592 "dev": true,
1593 "dependencies": {
1594 "bn.js": "^4.1.0",
1595 "elliptic": "^6.0.0"
1596 }
1597 },
1598 "node_modules/create-hash": {
1599 "version": "1.2.0",
1600 "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
1601 "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
1602 "dev": true,
1603 "dependencies": {
1604 "cipher-base": "^1.0.1",
1605 "inherits": "^2.0.1",
1606 "md5.js": "^1.3.4",
1607 "ripemd160": "^2.0.1",
1608 "sha.js": "^2.4.0"
1609 }
1610 },
1611 "node_modules/create-hmac": {
1612 "version": "1.1.7",
1613 "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
1614 "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
1615 "dev": true,
1616 "dependencies": {
1617 "cipher-base": "^1.0.3",
1618 "create-hash": "^1.1.0",
1619 "inherits": "^2.0.1",
1620 "ripemd160": "^2.0.0",
1621 "safe-buffer": "^5.0.1",
1622 "sha.js": "^2.4.8"
1623 }
1624 },
1625 "node_modules/crelt": {
1626 "version": "1.0.5",
1627 "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz",
1628 "integrity": "sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA=="
1629 },
1630 "node_modules/cross-spawn": {
1631 "version": "6.0.5",
1632 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
1633 "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
1634 "dev": true,
1635 "dependencies": {
1636 "nice-try": "^1.0.4",
1637 "path-key": "^2.0.1",
1638 "semver": "^5.5.0",
1639 "shebang-command": "^1.2.0",
1640 "which": "^1.2.9"
1641 },
1642 "engines": {
1643 "node": ">=4.8"
1644 }
1645 },
1646 "node_modules/crypto-browserify": {
1647 "version": "3.12.0",
1648 "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
1649 "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
1650 "dev": true,
1651 "dependencies": {
1652 "browserify-cipher": "^1.0.0",
1653 "browserify-sign": "^4.0.0",
1654 "create-ecdh": "^4.0.0",
1655 "create-hash": "^1.1.0",
1656 "create-hmac": "^1.1.0",
1657 "diffie-hellman": "^5.0.0",
1658 "inherits": "^2.0.1",
1659 "pbkdf2": "^3.0.3",
1660 "public-encrypt": "^4.0.0",
1661 "randombytes": "^2.0.0",
1662 "randomfill": "^1.0.3"
1663 },
1664 "engines": {
1665 "node": "*"
1666 }
1667 },
1668 "node_modules/cstea": {
1669 "resolved": "../pkg",
1670 "link": true
1671 },
1672 "node_modules/cyclist": {
1673 "version": "0.2.2",
1674 "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
1675 "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=",
1676 "dev": true
1677 },
1678 "node_modules/debug": {
1679 "version": "4.1.1",
1680 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
1681 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
1682 "dev": true,
1683 "dependencies": {
1684 "ms": "^2.1.1"
1685 }
1686 },
1687 "node_modules/debug/node_modules/ms": {
1688 "version": "2.1.2",
1689 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1690 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
1691 "dev": true
1692 },
1693 "node_modules/decamelize": {
1694 "version": "1.2.0",
1695 "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
1696 "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
1697 "dev": true,
1698 "engines": {
1699 "node": ">=0.10.0"
1700 }
1701 },
1702 "node_modules/decode-uri-component": {
1703 "version": "0.2.0",
1704 "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
1705 "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
1706 "dev": true,
1707 "engines": {
1708 "node": ">=0.10"
1709 }
1710 },
1711 "node_modules/deep-equal": {
1712 "version": "1.1.1",
1713 "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
1714 "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
1715 "dev": true,
1716 "dependencies": {
1717 "is-arguments": "^1.0.4",
1718 "is-date-object": "^1.0.1",
1719 "is-regex": "^1.0.4",
1720 "object-is": "^1.0.1",
1721 "object-keys": "^1.1.1",
1722 "regexp.prototype.flags": "^1.2.0"
1723 }
1724 },
1725 "node_modules/default-gateway": {
1726 "version": "4.2.0",
1727 "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz",
1728 "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==",
1729 "dev": true,
1730 "dependencies": {
1731 "execa": "^1.0.0",
1732 "ip-regex": "^2.1.0"
1733 },
1734 "engines": {
1735 "node": ">=6"
1736 }
1737 },
1738 "node_modules/define-properties": {
1739 "version": "1.1.3",
1740 "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
1741 "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
1742 "dev": true,
1743 "dependencies": {
1744 "object-keys": "^1.0.12"
1745 },
1746 "engines": {
1747 "node": ">= 0.4"
1748 }
1749 },
1750 "node_modules/define-property": {
1751 "version": "2.0.2",
1752 "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
1753 "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
1754 "dev": true,
1755 "dependencies": {
1756 "is-descriptor": "^1.0.2",
1757 "isobject": "^3.0.1"
1758 },
1759 "engines": {
1760 "node": ">=0.10.0"
1761 }
1762 },
1763 "node_modules/define-property/node_modules/is-accessor-descriptor": {
1764 "version": "1.0.0",
1765 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1766 "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1767 "dev": true,
1768 "dependencies": {
1769 "kind-of": "^6.0.0"
1770 },
1771 "engines": {
1772 "node": ">=0.10.0"
1773 }
1774 },
1775 "node_modules/define-property/node_modules/is-data-descriptor": {
1776 "version": "1.0.0",
1777 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1778 "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1779 "dev": true,
1780 "dependencies": {
1781 "kind-of": "^6.0.0"
1782 },
1783 "engines": {
1784 "node": ">=0.10.0"
1785 }
1786 },
1787 "node_modules/define-property/node_modules/is-descriptor": {
1788 "version": "1.0.2",
1789 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1790 "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1791 "dev": true,
1792 "dependencies": {
1793 "is-accessor-descriptor": "^1.0.0",
1794 "is-data-descriptor": "^1.0.0",
1795 "kind-of": "^6.0.2"
1796 },
1797 "engines": {
1798 "node": ">=0.10.0"
1799 }
1800 },
1801 "node_modules/del": {
1802 "version": "4.1.1",
1803 "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
1804 "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==",
1805 "dev": true,
1806 "dependencies": {
1807 "@types/glob": "^7.1.1",
1808 "globby": "^6.1.0",
1809 "is-path-cwd": "^2.0.0",
1810 "is-path-in-cwd": "^2.0.0",
1811 "p-map": "^2.0.0",
1812 "pify": "^4.0.1",
1813 "rimraf": "^2.6.3"
1814 },
1815 "engines": {
1816 "node": ">=6"
1817 }
1818 },
1819 "node_modules/del/node_modules/glob": {
1820 "version": "7.1.6",
1821 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
1822 "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
1823 "dev": true,
1824 "dependencies": {
1825 "fs.realpath": "^1.0.0",
1826 "inflight": "^1.0.4",
1827 "inherits": "2",
1828 "minimatch": "^3.0.4",
1829 "once": "^1.3.0",
1830 "path-is-absolute": "^1.0.0"
1831 },
1832 "engines": {
1833 "node": "*"
1834 }
1835 },
1836 "node_modules/del/node_modules/pify": {
1837 "version": "4.0.1",
1838 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
1839 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
1840 "dev": true,
1841 "engines": {
1842 "node": ">=6"
1843 }
1844 },
1845 "node_modules/del/node_modules/rimraf": {
1846 "version": "2.7.1",
1847 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
1848 "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
1849 "dev": true,
1850 "dependencies": {
1851 "glob": "^7.1.3"
1852 },
1853 "bin": {
1854 "rimraf": "bin.js"
1855 }
1856 },
1857 "node_modules/depd": {
1858 "version": "1.1.2",
1859 "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
1860 "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
1861 "dev": true,
1862 "engines": {
1863 "node": ">= 0.6"
1864 }
1865 },
1866 "node_modules/des.js": {
1867 "version": "1.0.1",
1868 "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
1869 "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
1870 "dev": true,
1871 "dependencies": {
1872 "inherits": "^2.0.1",
1873 "minimalistic-assert": "^1.0.0"
1874 }
1875 },
1876 "node_modules/destroy": {
1877 "version": "1.0.4",
1878 "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
1879 "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
1880 "dev": true
1881 },
1882 "node_modules/detect-file": {
1883 "version": "1.0.0",
1884 "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
1885 "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
1886 "dev": true,
1887 "engines": {
1888 "node": ">=0.10.0"
1889 }
1890 },
1891 "node_modules/detect-node": {
1892 "version": "2.0.4",
1893 "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
1894 "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
1895 "dev": true
1896 },
1897 "node_modules/diffie-hellman": {
1898 "version": "5.0.3",
1899 "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
1900 "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
1901 "dev": true,
1902 "dependencies": {
1903 "bn.js": "^4.1.0",
1904 "miller-rabin": "^4.0.0",
1905 "randombytes": "^2.0.0"
1906 }
1907 },
1908 "node_modules/dir-glob": {
1909 "version": "2.2.2",
1910 "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
1911 "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==",
1912 "dev": true,
1913 "dependencies": {
1914 "path-type": "^3.0.0"
1915 },
1916 "engines": {
1917 "node": ">=4"
1918 }
1919 },
1920 "node_modules/dns-equal": {
1921 "version": "1.0.0",
1922 "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
1923 "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
1924 "dev": true
1925 },
1926 "node_modules/dns-packet": {
1927 "version": "1.3.1",
1928 "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz",
1929 "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==",
1930 "dev": true,
1931 "dependencies": {
1932 "ip": "^1.1.0",
1933 "safe-buffer": "^5.0.1"
1934 }
1935 },
1936 "node_modules/dns-txt": {
1937 "version": "2.0.2",
1938 "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
1939 "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
1940 "dev": true,
1941 "dependencies": {
1942 "buffer-indexof": "^1.0.0"
1943 }
1944 },
1945 "node_modules/domain-browser": {
1946 "version": "1.2.0",
1947 "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
1948 "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
1949 "dev": true,
1950 "engines": {
1951 "node": ">=0.4",
1952 "npm": ">=1.2"
1953 }
1954 },
1955 "node_modules/duplexify": {
1956 "version": "3.6.0",
1957 "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz",
1958 "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==",
1959 "dev": true,
1960 "dependencies": {
1961 "end-of-stream": "^1.0.0",
1962 "inherits": "^2.0.1",
1963 "readable-stream": "^2.0.0",
1964 "stream-shift": "^1.0.0"
1965 }
1966 },
1967 "node_modules/ee-first": {
1968 "version": "1.1.1",
1969 "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
1970 "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
1971 "dev": true
1972 },
1973 "node_modules/elliptic": {
1974 "version": "6.5.2",
1975 "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz",
1976 "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==",
1977 "dev": true,
1978 "dependencies": {
1979 "bn.js": "^4.4.0",
1980 "brorand": "^1.0.1",
1981 "hash.js": "^1.0.0",
1982 "hmac-drbg": "^1.0.0",
1983 "inherits": "^2.0.1",
1984 "minimalistic-assert": "^1.0.0",
1985 "minimalistic-crypto-utils": "^1.0.0"
1986 }
1987 },
1988 "node_modules/emoji-regex": {
1989 "version": "7.0.3",
1990 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
1991 "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
1992 "dev": true
1993 },
1994 "node_modules/emojis-list": {
1995 "version": "2.1.0",
1996 "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
1997 "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
1998 "dev": true,
1999 "engines": {
2000 "node": ">= 0.10"
2001 }
2002 },
2003 "node_modules/encodeurl": {
2004 "version": "1.0.2",
2005 "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
2006 "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
2007 "dev": true,
2008 "engines": {
2009 "node": ">= 0.8"
2010 }
2011 },
2012 "node_modules/end-of-stream": {
2013 "version": "1.4.1",
2014 "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
2015 "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
2016 "dev": true,
2017 "dependencies": {
2018 "once": "^1.4.0"
2019 }
2020 },
2021 "node_modules/enhanced-resolve": {
2022 "version": "4.1.0",
2023 "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz",
2024 "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==",
2025 "dev": true,
2026 "dependencies": {
2027 "graceful-fs": "^4.1.2",
2028 "memory-fs": "^0.4.0",
2029 "tapable": "^1.0.0"
2030 },
2031 "engines": {
2032 "node": ">=6.9.0"
2033 }
2034 },
2035 "node_modules/errno": {
2036 "version": "0.1.7",
2037 "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
2038 "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
2039 "dev": true,
2040 "dependencies": {
2041 "prr": "~1.0.1"
2042 },
2043 "bin": {
2044 "errno": "cli.js"
2045 }
2046 },
2047 "node_modules/es-abstract": {
2048 "version": "1.17.5",
2049 "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
2050 "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
2051 "dev": true,
2052 "dependencies": {
2053 "es-to-primitive": "^1.2.1",
2054 "function-bind": "^1.1.1",
2055 "has": "^1.0.3",
2056 "has-symbols": "^1.0.1",
2057 "is-callable": "^1.1.5",
2058 "is-regex": "^1.0.5",
2059 "object-inspect": "^1.7.0",
2060 "object-keys": "^1.1.1",
2061 "object.assign": "^4.1.0",
2062 "string.prototype.trimleft": "^2.1.1",
2063 "string.prototype.trimright": "^2.1.1"
2064 },
2065 "engines": {
2066 "node": ">= 0.4"
2067 }
2068 },
2069 "node_modules/es-to-primitive": {
2070 "version": "1.2.1",
2071 "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
2072 "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
2073 "dev": true,
2074 "dependencies": {
2075 "is-callable": "^1.1.4",
2076 "is-date-object": "^1.0.1",
2077 "is-symbol": "^1.0.2"
2078 },
2079 "engines": {
2080 "node": ">= 0.4"
2081 }
2082 },
2083 "node_modules/escape-html": {
2084 "version": "1.0.3",
2085 "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
2086 "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
2087 "dev": true
2088 },
2089 "node_modules/escape-string-regexp": {
2090 "version": "1.0.5",
2091 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
2092 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
2093 "dev": true,
2094 "engines": {
2095 "node": ">=0.8.0"
2096 }
2097 },
2098 "node_modules/eslint-scope": {
2099 "version": "4.0.3",
2100 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
2101 "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
2102 "dev": true,
2103 "dependencies": {
2104 "esrecurse": "^4.1.0",
2105 "estraverse": "^4.1.1"
2106 },
2107 "engines": {
2108 "node": ">=4.0.0"
2109 }
2110 },
2111 "node_modules/esrecurse": {
2112 "version": "4.2.1",
2113 "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
2114 "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
2115 "dev": true,
2116 "dependencies": {
2117 "estraverse": "^4.1.0"
2118 },
2119 "engines": {
2120 "node": ">=4.0"
2121 }
2122 },
2123 "node_modules/estraverse": {
2124 "version": "4.3.0",
2125 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
2126 "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
2127 "dev": true,
2128 "engines": {
2129 "node": ">=4.0"
2130 }
2131 },
2132 "node_modules/etag": {
2133 "version": "1.8.1",
2134 "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
2135 "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
2136 "dev": true,
2137 "engines": {
2138 "node": ">= 0.6"
2139 }
2140 },
2141 "node_modules/eventemitter3": {
2142 "version": "4.0.2",
2143 "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.2.tgz",
2144 "integrity": "sha512-c8VhEv9UueTlJtfhTx5mbt94l/N1nrfN8j3H1kgl/APEv/y4E95ny3lABssobpcX+4vy/fBtrdhWi44VxTSsog==",
2145 "dev": true
2146 },
2147 "node_modules/events": {
2148 "version": "3.1.0",
2149 "resolved": "http://registry.npmjs.org/events/-/events-3.1.0.tgz",
2150 "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==",
2151 "dev": true,
2152 "engines": {
2153 "node": ">=0.8.x"
2154 }
2155 },
2156 "node_modules/eventsource": {
2157 "version": "1.0.7",
2158 "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz",
2159 "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==",
2160 "dev": true,
2161 "dependencies": {
2162 "original": "^1.0.0"
2163 },
2164 "engines": {
2165 "node": ">=0.12.0"
2166 }
2167 },
2168 "node_modules/evp_bytestokey": {
2169 "version": "1.0.3",
2170 "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
2171 "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
2172 "dev": true,
2173 "dependencies": {
2174 "md5.js": "^1.3.4",
2175 "safe-buffer": "^5.1.1"
2176 }
2177 },
2178 "node_modules/execa": {
2179 "version": "1.0.0",
2180 "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
2181 "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
2182 "dev": true,
2183 "dependencies": {
2184 "cross-spawn": "^6.0.0",
2185 "get-stream": "^4.0.0",
2186 "is-stream": "^1.1.0",
2187 "npm-run-path": "^2.0.0",
2188 "p-finally": "^1.0.0",
2189 "signal-exit": "^3.0.0",
2190 "strip-eof": "^1.0.0"
2191 },
2192 "engines": {
2193 "node": ">=6"
2194 }
2195 },
2196 "node_modules/expand-brackets": {
2197 "version": "2.1.4",
2198 "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
2199 "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
2200 "dev": true,
2201 "dependencies": {
2202 "debug": "^2.3.3",
2203 "define-property": "^0.2.5",
2204 "extend-shallow": "^2.0.1",
2205 "posix-character-classes": "^0.1.0",
2206 "regex-not": "^1.0.0",
2207 "snapdragon": "^0.8.1",
2208 "to-regex": "^3.0.1"
2209 },
2210 "engines": {
2211 "node": ">=0.10.0"
2212 }
2213 },
2214 "node_modules/expand-brackets/node_modules/debug": {
2215 "version": "2.6.9",
2216 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
2217 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
2218 "dev": true,
2219 "dependencies": {
2220 "ms": "2.0.0"
2221 }
2222 },
2223 "node_modules/expand-brackets/node_modules/define-property": {
2224 "version": "0.2.5",
2225 "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
2226 "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
2227 "dev": true,
2228 "dependencies": {
2229 "is-descriptor": "^0.1.0"
2230 },
2231 "engines": {
2232 "node": ">=0.10.0"
2233 }
2234 },
2235 "node_modules/expand-brackets/node_modules/extend-shallow": {
2236 "version": "2.0.1",
2237 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2238 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2239 "dev": true,
2240 "dependencies": {
2241 "is-extendable": "^0.1.0"
2242 },
2243 "engines": {
2244 "node": ">=0.10.0"
2245 }
2246 },
2247 "node_modules/expand-tilde": {
2248 "version": "2.0.2",
2249 "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
2250 "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
2251 "dev": true,
2252 "dependencies": {
2253 "homedir-polyfill": "^1.0.1"
2254 },
2255 "engines": {
2256 "node": ">=0.10.0"
2257 }
2258 },
2259 "node_modules/express": {
2260 "version": "4.17.1",
2261 "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
2262 "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
2263 "dev": true,
2264 "dependencies": {
2265 "accepts": "~1.3.7",
2266 "array-flatten": "1.1.1",
2267 "body-parser": "1.19.0",
2268 "content-disposition": "0.5.3",
2269 "content-type": "~1.0.4",
2270 "cookie": "0.4.0",
2271 "cookie-signature": "1.0.6",
2272 "debug": "2.6.9",
2273 "depd": "~1.1.2",
2274 "encodeurl": "~1.0.2",
2275 "escape-html": "~1.0.3",
2276 "etag": "~1.8.1",
2277 "finalhandler": "~1.1.2",
2278 "fresh": "0.5.2",
2279 "merge-descriptors": "1.0.1",
2280 "methods": "~1.1.2",
2281 "on-finished": "~2.3.0",
2282 "parseurl": "~1.3.3",
2283 "path-to-regexp": "0.1.7",
2284 "proxy-addr": "~2.0.5",
2285 "qs": "6.7.0",
2286 "range-parser": "~1.2.1",
2287 "safe-buffer": "5.1.2",
2288 "send": "0.17.1",
2289 "serve-static": "1.14.1",
2290 "setprototypeof": "1.1.1",
2291 "statuses": "~1.5.0",
2292 "type-is": "~1.6.18",
2293 "utils-merge": "1.0.1",
2294 "vary": "~1.1.2"
2295 },
2296 "engines": {
2297 "node": ">= 0.10.0"
2298 }
2299 },
2300 "node_modules/express/node_modules/array-flatten": {
2301 "version": "1.1.1",
2302 "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
2303 "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
2304 "dev": true
2305 },
2306 "node_modules/express/node_modules/debug": {
2307 "version": "2.6.9",
2308 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
2309 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
2310 "dev": true,
2311 "dependencies": {
2312 "ms": "2.0.0"
2313 }
2314 },
2315 "node_modules/extend-shallow": {
2316 "version": "3.0.2",
2317 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
2318 "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
2319 "dev": true,
2320 "dependencies": {
2321 "assign-symbols": "^1.0.0",
2322 "is-extendable": "^1.0.1"
2323 },
2324 "engines": {
2325 "node": ">=0.10.0"
2326 }
2327 },
2328 "node_modules/extend-shallow/node_modules/is-extendable": {
2329 "version": "1.0.1",
2330 "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
2331 "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
2332 "dev": true,
2333 "dependencies": {
2334 "is-plain-object": "^2.0.4"
2335 },
2336 "engines": {
2337 "node": ">=0.10.0"
2338 }
2339 },
2340 "node_modules/extglob": {
2341 "version": "2.0.4",
2342 "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
2343 "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
2344 "dev": true,
2345 "dependencies": {
2346 "array-unique": "^0.3.2",
2347 "define-property": "^1.0.0",
2348 "expand-brackets": "^2.1.4",
2349 "extend-shallow": "^2.0.1",
2350 "fragment-cache": "^0.2.1",
2351 "regex-not": "^1.0.0",
2352 "snapdragon": "^0.8.1",
2353 "to-regex": "^3.0.1"
2354 },
2355 "engines": {
2356 "node": ">=0.10.0"
2357 }
2358 },
2359 "node_modules/extglob/node_modules/define-property": {
2360 "version": "1.0.0",
2361 "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
2362 "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
2363 "dev": true,
2364 "dependencies": {
2365 "is-descriptor": "^1.0.0"
2366 },
2367 "engines": {
2368 "node": ">=0.10.0"
2369 }
2370 },
2371 "node_modules/extglob/node_modules/extend-shallow": {
2372 "version": "2.0.1",
2373 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2374 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2375 "dev": true,
2376 "dependencies": {
2377 "is-extendable": "^0.1.0"
2378 },
2379 "engines": {
2380 "node": ">=0.10.0"
2381 }
2382 },
2383 "node_modules/extglob/node_modules/is-accessor-descriptor": {
2384 "version": "1.0.0",
2385 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
2386 "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
2387 "dev": true,
2388 "dependencies": {
2389 "kind-of": "^6.0.0"
2390 },
2391 "engines": {
2392 "node": ">=0.10.0"
2393 }
2394 },
2395 "node_modules/extglob/node_modules/is-data-descriptor": {
2396 "version": "1.0.0",
2397 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
2398 "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
2399 "dev": true,
2400 "dependencies": {
2401 "kind-of": "^6.0.0"
2402 },
2403 "engines": {
2404 "node": ">=0.10.0"
2405 }
2406 },
2407 "node_modules/extglob/node_modules/is-descriptor": {
2408 "version": "1.0.2",
2409 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
2410 "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
2411 "dev": true,
2412 "dependencies": {
2413 "is-accessor-descriptor": "^1.0.0",
2414 "is-data-descriptor": "^1.0.0",
2415 "kind-of": "^6.0.2"
2416 },
2417 "engines": {
2418 "node": ">=0.10.0"
2419 }
2420 },
2421 "node_modules/fast-deep-equal": {
2422 "version": "3.1.3",
2423 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
2424 "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
2425 "dev": true
2426 },
2427 "node_modules/fast-json-stable-stringify": {
2428 "version": "2.0.0",
2429 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
2430 "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
2431 "dev": true
2432 },
2433 "node_modules/faye-websocket": {
2434 "version": "0.10.0",
2435 "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
2436 "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
2437 "dev": true,
2438 "dependencies": {
2439 "websocket-driver": ">=0.5.1"
2440 },
2441 "engines": {
2442 "node": ">=0.4.0"
2443 }
2444 },
2445 "node_modules/figgy-pudding": {
2446 "version": "3.5.1",
2447 "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
2448 "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==",
2449 "dev": true
2450 },
2451 "node_modules/fill-range": {
2452 "version": "4.0.0",
2453 "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
2454 "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
2455 "dev": true,
2456 "dependencies": {
2457 "extend-shallow": "^2.0.1",
2458 "is-number": "^3.0.0",
2459 "repeat-string": "^1.6.1",
2460 "to-regex-range": "^2.1.0"
2461 },
2462 "engines": {
2463 "node": ">=0.10.0"
2464 }
2465 },
2466 "node_modules/fill-range/node_modules/extend-shallow": {
2467 "version": "2.0.1",
2468 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2469 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2470 "dev": true,
2471 "dependencies": {
2472 "is-extendable": "^0.1.0"
2473 },
2474 "engines": {
2475 "node": ">=0.10.0"
2476 }
2477 },
2478 "node_modules/finalhandler": {
2479 "version": "1.1.2",
2480 "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
2481 "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
2482 "dev": true,
2483 "dependencies": {
2484 "debug": "2.6.9",
2485 "encodeurl": "~1.0.2",
2486 "escape-html": "~1.0.3",
2487 "on-finished": "~2.3.0",
2488 "parseurl": "~1.3.3",
2489 "statuses": "~1.5.0",
2490 "unpipe": "~1.0.0"
2491 },
2492 "engines": {
2493 "node": ">= 0.8"
2494 }
2495 },
2496 "node_modules/finalhandler/node_modules/debug": {
2497 "version": "2.6.9",
2498 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
2499 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
2500 "dev": true,
2501 "dependencies": {
2502 "ms": "2.0.0"
2503 }
2504 },
2505 "node_modules/find-cache-dir": {
2506 "version": "2.1.0",
2507 "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
2508 "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
2509 "dev": true,
2510 "dependencies": {
2511 "commondir": "^1.0.1",
2512 "make-dir": "^2.0.0",
2513 "pkg-dir": "^3.0.0"
2514 },
2515 "engines": {
2516 "node": ">=6"
2517 }
2518 },
2519 "node_modules/find-up": {
2520 "version": "3.0.0",
2521 "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
2522 "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
2523 "dev": true,
2524 "dependencies": {
2525 "locate-path": "^3.0.0"
2526 },
2527 "engines": {
2528 "node": ">=6"
2529 }
2530 },
2531 "node_modules/findup-sync": {
2532 "version": "3.0.0",
2533 "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
2534 "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==",
2535 "dev": true,
2536 "dependencies": {
2537 "detect-file": "^1.0.0",
2538 "is-glob": "^4.0.0",
2539 "micromatch": "^3.0.4",
2540 "resolve-dir": "^1.0.1"
2541 },
2542 "engines": {
2543 "node": ">= 0.10"
2544 }
2545 },
2546 "node_modules/flush-write-stream": {
2547 "version": "1.0.3",
2548 "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz",
2549 "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
2550 "dev": true,
2551 "dependencies": {
2552 "inherits": "^2.0.1",
2553 "readable-stream": "^2.0.4"
2554 }
2555 },
2556 "node_modules/follow-redirects": {
2557 "version": "1.11.0",
2558 "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.11.0.tgz",
2559 "integrity": "sha512-KZm0V+ll8PfBrKwMzdo5D13b1bur9Iq9Zd/RMmAoQQcl2PxxFml8cxXPaaPYVbV0RjNjq1CU7zIzAOqtUPudmA==",
2560 "dev": true,
2561 "dependencies": {
2562 "debug": "^3.0.0"
2563 },
2564 "engines": {
2565 "node": ">=4.0"
2566 }
2567 },
2568 "node_modules/follow-redirects/node_modules/debug": {
2569 "version": "3.2.6",
2570 "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
2571 "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
2572 "dev": true,
2573 "dependencies": {
2574 "ms": "^2.1.1"
2575 }
2576 },
2577 "node_modules/follow-redirects/node_modules/ms": {
2578 "version": "2.1.2",
2579 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
2580 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
2581 "dev": true
2582 },
2583 "node_modules/for-in": {
2584 "version": "1.0.2",
2585 "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
2586 "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
2587 "dev": true,
2588 "engines": {
2589 "node": ">=0.10.0"
2590 }
2591 },
2592 "node_modules/forwarded": {
2593 "version": "0.1.2",
2594 "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
2595 "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
2596 "dev": true,
2597 "engines": {
2598 "node": ">= 0.6"
2599 }
2600 },
2601 "node_modules/fragment-cache": {
2602 "version": "0.2.1",
2603 "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
2604 "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
2605 "dev": true,
2606 "dependencies": {
2607 "map-cache": "^0.2.2"
2608 },
2609 "engines": {
2610 "node": ">=0.10.0"
2611 }
2612 },
2613 "node_modules/fresh": {
2614 "version": "0.5.2",
2615 "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
2616 "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
2617 "dev": true,
2618 "engines": {
2619 "node": ">= 0.6"
2620 }
2621 },
2622 "node_modules/from2": {
2623 "version": "2.3.0",
2624 "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
2625 "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
2626 "dev": true,
2627 "dependencies": {
2628 "inherits": "^2.0.1",
2629 "readable-stream": "^2.0.0"
2630 }
2631 },
2632 "node_modules/fs-write-stream-atomic": {
2633 "version": "1.0.10",
2634 "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
2635 "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
2636 "dev": true,
2637 "dependencies": {
2638 "graceful-fs": "^4.1.2",
2639 "iferr": "^0.1.5",
2640 "imurmurhash": "^0.1.4",
2641 "readable-stream": "1 || 2"
2642 }
2643 },
2644 "node_modules/fs.realpath": {
2645 "version": "1.0.0",
2646 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
2647 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
2648 "dev": true
2649 },
2650 "node_modules/fsevents": {
2651 "version": "1.2.9",
2652 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
2653 "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
2654 "bundleDependencies": [
2655 "node-pre-gyp"
2656 ],
2657 "dev": true,
2658 "hasInstallScript": true,
2659 "optional": true,
2660 "os": [
2661 "darwin"
2662 ],
2663 "dependencies": {
2664 "nan": "^2.12.1",
2665 "node-pre-gyp": "^0.12.0"
2666 },
2667 "engines": {
2668 "node": ">=4.0"
2669 }
2670 },
2671 "node_modules/fsevents/node_modules/abbrev": {
2672 "version": "1.1.1",
2673 "dev": true,
2674 "inBundle": true,
2675 "license": "ISC",
2676 "optional": true
2677 },
2678 "node_modules/fsevents/node_modules/ansi-regex": {
2679 "version": "2.1.1",
2680 "dev": true,
2681 "inBundle": true,
2682 "license": "MIT",
2683 "optional": true,
2684 "engines": {
2685 "node": ">=0.10.0"
2686 }
2687 },
2688 "node_modules/fsevents/node_modules/aproba": {
2689 "version": "1.2.0",
2690 "dev": true,
2691 "inBundle": true,
2692 "license": "ISC",
2693 "optional": true
2694 },
2695 "node_modules/fsevents/node_modules/are-we-there-yet": {
2696 "version": "1.1.5",
2697 "dev": true,
2698 "inBundle": true,
2699 "license": "ISC",
2700 "optional": true,
2701 "dependencies": {
2702 "delegates": "^1.0.0",
2703 "readable-stream": "^2.0.6"
2704 }
2705 },
2706 "node_modules/fsevents/node_modules/balanced-match": {
2707 "version": "1.0.0",
2708 "dev": true,
2709 "inBundle": true,
2710 "license": "MIT",
2711 "optional": true
2712 },
2713 "node_modules/fsevents/node_modules/brace-expansion": {
2714 "version": "1.1.11",
2715 "dev": true,
2716 "inBundle": true,
2717 "license": "MIT",
2718 "optional": true,
2719 "dependencies": {
2720 "balanced-match": "^1.0.0",
2721 "concat-map": "0.0.1"
2722 }
2723 },
2724 "node_modules/fsevents/node_modules/chownr": {
2725 "version": "1.1.1",
2726 "dev": true,
2727 "inBundle": true,
2728 "license": "ISC",
2729 "optional": true
2730 },
2731 "node_modules/fsevents/node_modules/code-point-at": {
2732 "version": "1.1.0",
2733 "dev": true,
2734 "inBundle": true,
2735 "license": "MIT",
2736 "optional": true,
2737 "engines": {
2738 "node": ">=0.10.0"
2739 }
2740 },
2741 "node_modules/fsevents/node_modules/concat-map": {
2742 "version": "0.0.1",
2743 "dev": true,
2744 "inBundle": true,
2745 "license": "MIT",
2746 "optional": true
2747 },
2748 "node_modules/fsevents/node_modules/console-control-strings": {
2749 "version": "1.1.0",
2750 "dev": true,
2751 "inBundle": true,
2752 "license": "ISC",
2753 "optional": true
2754 },
2755 "node_modules/fsevents/node_modules/core-util-is": {
2756 "version": "1.0.2",
2757 "dev": true,
2758 "inBundle": true,
2759 "license": "MIT",
2760 "optional": true
2761 },
2762 "node_modules/fsevents/node_modules/debug": {
2763 "version": "4.1.1",
2764 "dev": true,
2765 "inBundle": true,
2766 "license": "MIT",
2767 "optional": true,
2768 "dependencies": {
2769 "ms": "^2.1.1"
2770 }
2771 },
2772 "node_modules/fsevents/node_modules/deep-extend": {
2773 "version": "0.6.0",
2774 "dev": true,
2775 "inBundle": true,
2776 "license": "MIT",
2777 "optional": true,
2778 "engines": {
2779 "node": ">=4.0.0"
2780 }
2781 },
2782 "node_modules/fsevents/node_modules/delegates": {
2783 "version": "1.0.0",
2784 "dev": true,
2785 "inBundle": true,
2786 "license": "MIT",
2787 "optional": true
2788 },
2789 "node_modules/fsevents/node_modules/detect-libc": {
2790 "version": "1.0.3",
2791 "dev": true,
2792 "inBundle": true,
2793 "license": "Apache-2.0",
2794 "optional": true,
2795 "bin": {
2796 "detect-libc": "bin/detect-libc.js"
2797 },
2798 "engines": {
2799 "node": ">=0.10"
2800 }
2801 },
2802 "node_modules/fsevents/node_modules/fs-minipass": {
2803 "version": "1.2.5",
2804 "dev": true,
2805 "inBundle": true,
2806 "license": "ISC",
2807 "optional": true,
2808 "dependencies": {
2809 "minipass": "^2.2.1"
2810 }
2811 },
2812 "node_modules/fsevents/node_modules/fs.realpath": {
2813 "version": "1.0.0",
2814 "dev": true,
2815 "inBundle": true,
2816 "license": "ISC",
2817 "optional": true
2818 },
2819 "node_modules/fsevents/node_modules/gauge": {
2820 "version": "2.7.4",
2821 "dev": true,
2822 "inBundle": true,
2823 "license": "ISC",
2824 "optional": true,
2825 "dependencies": {
2826 "aproba": "^1.0.3",
2827 "console-control-strings": "^1.0.0",
2828 "has-unicode": "^2.0.0",
2829 "object-assign": "^4.1.0",
2830 "signal-exit": "^3.0.0",
2831 "string-width": "^1.0.1",
2832 "strip-ansi": "^3.0.1",
2833 "wide-align": "^1.1.0"
2834 }
2835 },
2836 "node_modules/fsevents/node_modules/glob": {
2837 "version": "7.1.3",
2838 "dev": true,
2839 "inBundle": true,
2840 "license": "ISC",
2841 "optional": true,
2842 "dependencies": {
2843 "fs.realpath": "^1.0.0",
2844 "inflight": "^1.0.4",
2845 "inherits": "2",
2846 "minimatch": "^3.0.4",
2847 "once": "^1.3.0",
2848 "path-is-absolute": "^1.0.0"
2849 },
2850 "engines": {
2851 "node": "*"
2852 }
2853 },
2854 "node_modules/fsevents/node_modules/has-unicode": {
2855 "version": "2.0.1",
2856 "dev": true,
2857 "inBundle": true,
2858 "license": "ISC",
2859 "optional": true
2860 },
2861 "node_modules/fsevents/node_modules/iconv-lite": {
2862 "version": "0.4.24",
2863 "dev": true,
2864 "inBundle": true,
2865 "license": "MIT",
2866 "optional": true,
2867 "dependencies": {
2868 "safer-buffer": ">= 2.1.2 < 3"
2869 },
2870 "engines": {
2871 "node": ">=0.10.0"
2872 }
2873 },
2874 "node_modules/fsevents/node_modules/ignore-walk": {
2875 "version": "3.0.1",
2876 "dev": true,
2877 "inBundle": true,
2878 "license": "ISC",
2879 "optional": true,
2880 "dependencies": {
2881 "minimatch": "^3.0.4"
2882 }
2883 },
2884 "node_modules/fsevents/node_modules/inflight": {
2885 "version": "1.0.6",
2886 "dev": true,
2887 "inBundle": true,
2888 "license": "ISC",
2889 "optional": true,
2890 "dependencies": {
2891 "once": "^1.3.0",
2892 "wrappy": "1"
2893 }
2894 },
2895 "node_modules/fsevents/node_modules/inherits": {
2896 "version": "2.0.3",
2897 "dev": true,
2898 "inBundle": true,
2899 "license": "ISC",
2900 "optional": true
2901 },
2902 "node_modules/fsevents/node_modules/ini": {
2903 "version": "1.3.5",
2904 "dev": true,
2905 "inBundle": true,
2906 "license": "ISC",
2907 "optional": true,
2908 "engines": {
2909 "node": "*"
2910 }
2911 },
2912 "node_modules/fsevents/node_modules/is-fullwidth-code-point": {
2913 "version": "1.0.0",
2914 "dev": true,
2915 "inBundle": true,
2916 "license": "MIT",
2917 "optional": true,
2918 "dependencies": {
2919 "number-is-nan": "^1.0.0"
2920 },
2921 "engines": {
2922 "node": ">=0.10.0"
2923 }
2924 },
2925 "node_modules/fsevents/node_modules/isarray": {
2926 "version": "1.0.0",
2927 "dev": true,
2928 "inBundle": true,
2929 "license": "MIT",
2930 "optional": true
2931 },
2932 "node_modules/fsevents/node_modules/minimatch": {
2933 "version": "3.0.4",
2934 "dev": true,
2935 "inBundle": true,
2936 "license": "ISC",
2937 "optional": true,
2938 "dependencies": {
2939 "brace-expansion": "^1.1.7"
2940 },
2941 "engines": {
2942 "node": "*"
2943 }
2944 },
2945 "node_modules/fsevents/node_modules/minimist": {
2946 "version": "0.0.8",
2947 "dev": true,
2948 "inBundle": true,
2949 "license": "MIT",
2950 "optional": true
2951 },
2952 "node_modules/fsevents/node_modules/minipass": {
2953 "version": "2.3.5",
2954 "dev": true,
2955 "inBundle": true,
2956 "license": "ISC",
2957 "optional": true,
2958 "dependencies": {
2959 "safe-buffer": "^5.1.2",
2960 "yallist": "^3.0.0"
2961 }
2962 },
2963 "node_modules/fsevents/node_modules/minizlib": {
2964 "version": "1.2.1",
2965 "dev": true,
2966 "inBundle": true,
2967 "license": "MIT",
2968 "optional": true,
2969 "dependencies": {
2970 "minipass": "^2.2.1"
2971 }
2972 },
2973 "node_modules/fsevents/node_modules/mkdirp": {
2974 "version": "0.5.1",
2975 "dev": true,
2976 "inBundle": true,
2977 "license": "MIT",
2978 "optional": true,
2979 "dependencies": {
2980 "minimist": "0.0.8"
2981 },
2982 "bin": {
2983 "mkdirp": "bin/cmd.js"
2984 }
2985 },
2986 "node_modules/fsevents/node_modules/ms": {
2987 "version": "2.1.1",
2988 "dev": true,
2989 "inBundle": true,
2990 "license": "MIT",
2991 "optional": true
2992 },
2993 "node_modules/fsevents/node_modules/nan": {
2994 "version": "2.13.2",
2995 "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz",
2996 "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==",
2997 "dev": true,
2998 "optional": true
2999 },
3000 "node_modules/fsevents/node_modules/needle": {
3001 "version": "2.3.0",
3002 "dev": true,
3003 "inBundle": true,
3004 "license": "MIT",
3005 "optional": true,
3006 "dependencies": {
3007 "debug": "^4.1.0",
3008 "iconv-lite": "^0.4.4",
3009 "sax": "^1.2.4"
3010 },
3011 "bin": {
3012 "needle": "bin/needle"
3013 },
3014 "engines": {
3015 "node": ">= 4.4.x"
3016 }
3017 },
3018 "node_modules/fsevents/node_modules/node-pre-gyp": {
3019 "version": "0.12.0",
3020 "dev": true,
3021 "inBundle": true,
3022 "license": "BSD-3-Clause",
3023 "optional": true,
3024 "dependencies": {
3025 "detect-libc": "^1.0.2",
3026 "mkdirp": "^0.5.1",
3027 "needle": "^2.2.1",
3028 "nopt": "^4.0.1",
3029 "npm-packlist": "^1.1.6",
3030 "npmlog": "^4.0.2",
3031 "rc": "^1.2.7",
3032 "rimraf": "^2.6.1",
3033 "semver": "^5.3.0",
3034 "tar": "^4"
3035 },
3036 "bin": {
3037 "node-pre-gyp": "bin/node-pre-gyp"
3038 }
3039 },
3040 "node_modules/fsevents/node_modules/nopt": {
3041 "version": "4.0.1",
3042 "dev": true,
3043 "inBundle": true,
3044 "license": "ISC",
3045 "optional": true,
3046 "dependencies": {
3047 "abbrev": "1",
3048 "osenv": "^0.1.4"
3049 },
3050 "bin": {
3051 "nopt": "bin/nopt.js"
3052 }
3053 },
3054 "node_modules/fsevents/node_modules/npm-bundled": {
3055 "version": "1.0.6",
3056 "dev": true,
3057 "inBundle": true,
3058 "license": "ISC",
3059 "optional": true
3060 },
3061 "node_modules/fsevents/node_modules/npm-packlist": {
3062 "version": "1.4.1",
3063 "dev": true,
3064 "inBundle": true,
3065 "license": "ISC",
3066 "optional": true,
3067 "dependencies": {
3068 "ignore-walk": "^3.0.1",
3069 "npm-bundled": "^1.0.1"
3070 }
3071 },
3072 "node_modules/fsevents/node_modules/npmlog": {
3073 "version": "4.1.2",
3074 "dev": true,
3075 "inBundle": true,
3076 "license": "ISC",
3077 "optional": true,
3078 "dependencies": {
3079 "are-we-there-yet": "~1.1.2",
3080 "console-control-strings": "~1.1.0",
3081 "gauge": "~2.7.3",
3082 "set-blocking": "~2.0.0"
3083 }
3084 },
3085 "node_modules/fsevents/node_modules/number-is-nan": {
3086 "version": "1.0.1",
3087 "dev": true,
3088 "inBundle": true,
3089 "license": "MIT",
3090 "optional": true,
3091 "engines": {
3092 "node": ">=0.10.0"
3093 }
3094 },
3095 "node_modules/fsevents/node_modules/object-assign": {
3096 "version": "4.1.1",
3097 "dev": true,
3098 "inBundle": true,
3099 "license": "MIT",
3100 "optional": true,
3101 "engines": {
3102 "node": ">=0.10.0"
3103 }
3104 },
3105 "node_modules/fsevents/node_modules/once": {
3106 "version": "1.4.0",
3107 "dev": true,
3108 "inBundle": true,
3109 "license": "ISC",
3110 "optional": true,
3111 "dependencies": {
3112 "wrappy": "1"
3113 }
3114 },
3115 "node_modules/fsevents/node_modules/os-homedir": {
3116 "version": "1.0.2",
3117 "dev": true,
3118 "inBundle": true,
3119 "license": "MIT",
3120 "optional": true,
3121 "engines": {
3122 "node": ">=0.10.0"
3123 }
3124 },
3125 "node_modules/fsevents/node_modules/os-tmpdir": {
3126 "version": "1.0.2",
3127 "dev": true,
3128 "inBundle": true,
3129 "license": "MIT",
3130 "optional": true,
3131 "engines": {
3132 "node": ">=0.10.0"
3133 }
3134 },
3135 "node_modules/fsevents/node_modules/osenv": {
3136 "version": "0.1.5",
3137 "dev": true,
3138 "inBundle": true,
3139 "license": "ISC",
3140 "optional": true,
3141 "dependencies": {
3142 "os-homedir": "^1.0.0",
3143 "os-tmpdir": "^1.0.0"
3144 }
3145 },
3146 "node_modules/fsevents/node_modules/path-is-absolute": {
3147 "version": "1.0.1",
3148 "dev": true,
3149 "inBundle": true,
3150 "license": "MIT",
3151 "optional": true,
3152 "engines": {
3153 "node": ">=0.10.0"
3154 }
3155 },
3156 "node_modules/fsevents/node_modules/process-nextick-args": {
3157 "version": "2.0.0",
3158 "dev": true,
3159 "inBundle": true,
3160 "license": "MIT",
3161 "optional": true
3162 },
3163 "node_modules/fsevents/node_modules/rc": {
3164 "version": "1.2.8",
3165 "dev": true,
3166 "inBundle": true,
3167 "license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
3168 "optional": true,
3169 "dependencies": {
3170 "deep-extend": "^0.6.0",
3171 "ini": "~1.3.0",
3172 "minimist": "^1.2.0",
3173 "strip-json-comments": "~2.0.1"
3174 },
3175 "bin": {
3176 "rc": "cli.js"
3177 }
3178 },
3179 "node_modules/fsevents/node_modules/rc/node_modules/minimist": {
3180 "version": "1.2.0",
3181 "dev": true,
3182 "inBundle": true,
3183 "license": "MIT",