on master help sign in
113 files changed+11044−19612
since splitsnapshots
unifiedsplit
.gitignore+1 .travis.yml+54 Cargo.lock+736−258 Cargo.toml+80−12 README.md+91−37 benches/benches.rs+118 build.sh+3−26 crates/js-api/Cargo.toml+22 crates/js-api/src/lib.rs+324 examples/counter/.gitignore−7 examples/counter/.travis.yml−11 examples/counter/crate/Cargo.toml → examples/counter/Cargo.toml+8−7 examples/counter/LICENSE-APACHE−201 examples/counter/LICENSE-MIT−25 examples/counter/README.md+12−20 examples/counter/crate/src/lib.rs−88 examples/counter/index.html+4 examples/counter/js/index.js−3 examples/counter/package-lock.json−5790 examples/counter/package.json−18 examples/counter/src/lib.rs+87 examples/counter/webpack.config.js−25 examples/game-of-life/Cargo.toml+29 examples/game-of-life/README.md+23 examples/game-of-life/index.html+44 examples/game-of-life/src/lib.rs+218 examples/hello-world/.bin/create-rust-webpack.js−38 examples/hello-world/.gitignore−7 examples/hello-world/.travis.yml−11 examples/hello-world/crate/Cargo.toml → examples/hello-world/Cargo.toml+6−7 examples/hello-world/LICENSE-APACHE−201 examples/hello-world/LICENSE-MIT−25 examples/hello-world/README.md+12−20 examples/hello-world/crate/src/lib.rs−45 examples/hello-world/index.html+4 examples/hello-world/js/index.js−3 examples/hello-world/package-lock.json−5790 examples/hello-world/package.json−21 examples/hello-world/src/lib.rs+42 examples/hello-world/webpack.config.js−25 examples/input-form/.gitignore−7 examples/input-form/.travis.yml−11 examples/input-form/crate/Cargo.toml → examples/input-form/Cargo.toml+6−7 examples/input-form/LICENSE-APACHE−201 examples/input-form/LICENSE-MIT−25 examples/input-form/README.md+13−20 examples/input-form/crate/src/lib.rs−75 examples/input-form/index.html+4 examples/input-form/js/index.js−3 examples/input-form/package-lock.json−5790 examples/input-form/package.json−18 examples/input-form/src/lib.rs+81 examples/input-form/webpack.config.js−25 examples/js-component/Cargo.toml+26 examples/js-component/README.md+23 examples/js-component/greeting.js+41 examples/js-component/index.html+14 examples/js-component/src/lib.rs+63 examples/moire/Cargo.toml+43 examples/moire/README.md+26 examples/moire/index.html+67 examples/moire/src/colors.rs+162 examples/moire/src/lib.rs+259 examples/sierpinski-triangle/Cargo.toml+28 examples/sierpinski-triangle/README.md+24 examples/sierpinski-triangle/ferris.png examples/sierpinski-triangle/index.html+69 examples/sierpinski-triangle/src/lib.rs+157 examples/todomvc/Cargo.toml+47 examples/todomvc/README.md+33 examples/todomvc/index.html+21 examples/todomvc/src/controller.rs+140 examples/todomvc/src/keys.rs+7 examples/todomvc/src/lib.rs+60 examples/todomvc/src/router.rs+68 examples/todomvc/src/todo.rs+229 examples/todomvc/src/todos.rs+300 examples/todomvc/src/utils.rs+32 examples/todomvc/src/visibility.rs+51 js/change-list-interpreter.js+377 js/change-list.js−180 js/package-lock.json−5 js/package.json−11 js/strace.js+80 publish.sh+11 src/builder.rs+1075 src/cached.rs+229 src/cached_set.rs+186 src/change_list.rs−235 src/change_list/emitter.rs+292 src/change_list/js.rs+40 src/change_list/mod.rs+353 src/change_list/strings.rs+66 src/change_list/traversal.rs+344 src/diff.rs+1125 src/events.rs+138 src/lib.rs+129−11 src/logging.rs+65 src/macros.rs−7 src/node.rs+243−66 src/render.rs+168 src/render_context.rs+104 src/strace.rs+22 src/vdom.rs+419−181 tests/web.rs−13 tests/web/cached.js+11 tests/web/cached.rs+289 tests/web/events.rs+250 tests/web/js_api.rs+153 tests/web/keyed.js+25 tests/web/keyed.rs+269 tests/web/main.rs+226 tests/web/render.rs+343
.gitignore+1
@@ -1,3 +1,4 @@
11/target
22**/*.rs.bk
33wasm-pack.log
4+/.vscode
.travis.ymlnew file+54
@@ -0,0 +1,54 @@
1+language: rust
2+sudo: false
3+
4+INSTALL_NODE_VIA_NVM: &INSTALL_NODE_VIA_NVM
5+ |
6+ rustup target add wasm32-unknown-unknown
7+ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
8+ source ~/.nvm/nvm.sh
9+ nvm install v10.5
10+
11+INSTALL_WASM_PPACK: &INSTALL_WASM_PACK
12+ |
13+ curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh -s -- -f
14+
15+install:
16+ - *INSTALL_NODE_VIA_NVM
17+ - *INSTALL_WASM_PACK
18+ - rustup target add wasm32-unknown-unknown
19+
20+matrix:
21+ include:
22+ - name: "build (stable)"
23+ rust: stable
24+ script: INSTALL=1 ./build.sh
25+ - name: "build (beta)"
26+ rust: beta
27+ script: INSTALL=1 ./build.sh
28+ - name: "headless browser tests (firefox)"
29+ rust: stable
30+ addons:
31+ firefox: latest
32+ script: wasm-pack test --firefox --headless -- --features xxx-unstable-internal-use-only
33+ - name: "native tests"
34+ rust: stable
35+ install: echo "no install"
36+ script: cargo test --all
37+
38+ # TODO: A bug in `rustc` is making `js-sys` broken on nightly:
39+ # https://github.com/rust-lang/rust/issues/69315
40+ # - name: "build (nightly)"
41+ # rust: nightly
42+ # script: INSTALL=1 ./build.sh
43+ # - name: "check native benches"
44+ # rust: nightly
45+ # install: echo "no install"
46+ # script: cargo check --benches --features xxx-unstable-internal-use-only
47+
48+ # TODO: `chromedriver` is complaining about ports or something. Temporarily
49+ # disable in CI until we figure it out.
50+ # - name: "headless browser tests (chrome)"
51+ # rust: stable
52+ # addons:
53+ # chrome: stable
54+ # script: wasm-pack test --chrome --headless -- --features xxx-unstable-internal-use-only
Cargo.lock+736−258
@@ -1,344 +1,779 @@
1+# This file is automatically @generated by Cargo.
2+# It is not intended for manual editing.
13[[package]]
2−name = "aho-corasick"
3−version = "0.6.9"
4+name = "anyhow"
5+version = "1.0.25"
46source = "registry+https://github.com/rust-lang/crates.io-index"
5−dependencies = [
6− "memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
7−]
87
98[[package]]
109name = "atty"
11−version = "0.2.11"
10+version = "0.2.13"
1211source = "registry+https://github.com/rust-lang/crates.io-index"
1312dependencies = [
14− "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
15− "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
16− "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
13+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
14+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
1715]
1816
1917[[package]]
20−name = "backtrace"
21−version = "0.3.9"
18+name = "autocfg"
19+version = "0.1.7"
20+source = "registry+https://github.com/rust-lang/crates.io-index"
21+
22+[[package]]
23+name = "bitflags"
24+version = "1.2.1"
2225source = "registry+https://github.com/rust-lang/crates.io-index"
23−dependencies = [
24− "backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
25− "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
26− "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
27− "rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
28− "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
29−]
3026
3127[[package]]
32−name = "backtrace-sys"
33−version = "0.1.24"
28+name = "bstr"
29+version = "0.2.8"
3430source = "registry+https://github.com/rust-lang/crates.io-index"
3531dependencies = [
36− "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
37− "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
32+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
33+ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
34+ "regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
35+ "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
3836]
3937
4038[[package]]
4139name = "bumpalo"
42−version = "1.1.0"
40+version = "2.6.0"
4341source = "registry+https://github.com/rust-lang/crates.io-index"
4442
4543[[package]]
46−name = "cc"
47−version = "1.0.25"
44+name = "byteorder"
45+version = "1.3.2"
46+source = "registry+https://github.com/rust-lang/crates.io-index"
47+
48+[[package]]
49+name = "cast"
50+version = "0.2.3"
4851source = "registry+https://github.com/rust-lang/crates.io-index"
52+dependencies = [
53+ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
54+]
4955
5056[[package]]
5157name = "cfg-if"
52−version = "0.1.6"
58+version = "0.1.10"
5359source = "registry+https://github.com/rust-lang/crates.io-index"
5460
61+[[package]]
62+name = "clap"
63+version = "2.33.0"
64+source = "registry+https://github.com/rust-lang/crates.io-index"
65+dependencies = [
66+ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
67+ "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
68+ "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
69+]
70+
5571[[package]]
5672name = "console_error_panic_hook"
57−version = "0.1.5"
73+version = "0.1.6"
74+source = "registry+https://github.com/rust-lang/crates.io-index"
75+dependencies = [
76+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
77+ "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
78+]
79+
80+[[package]]
81+name = "console_log"
82+version = "0.2.0"
83+source = "registry+https://github.com/rust-lang/crates.io-index"
84+dependencies = [
85+ "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
86+ "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
87+]
88+
89+[[package]]
90+name = "criterion"
91+version = "0.3.3"
5892source = "registry+https://github.com/rust-lang/crates.io-index"
5993dependencies = [
60− "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
61− "wasm-bindgen 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
94+ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
95+ "cast 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
96+ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
97+ "criterion-plot 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
98+ "csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
99+ "itertools 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
100+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
101+ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
102+ "oorandom 11.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
103+ "plotters 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
104+ "rayon 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
105+ "regex 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
106+ "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
107+ "serde_cbor 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
108+ "serde_derive 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
109+ "serde_json 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)",
110+ "tinytemplate 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
111+ "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
112+]
113+
114+[[package]]
115+name = "criterion-plot"
116+version = "0.4.3"
117+source = "registry+https://github.com/rust-lang/crates.io-index"
118+dependencies = [
119+ "cast 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
120+ "itertools 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
121+]
122+
123+[[package]]
124+name = "crossbeam-deque"
125+version = "0.7.2"
126+source = "registry+https://github.com/rust-lang/crates.io-index"
127+dependencies = [
128+ "crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
129+ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
130+]
131+
132+[[package]]
133+name = "crossbeam-epoch"
134+version = "0.8.0"
135+source = "registry+https://github.com/rust-lang/crates.io-index"
136+dependencies = [
137+ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
138+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
139+ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
140+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
141+ "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
142+ "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
143+]
144+
145+[[package]]
146+name = "crossbeam-queue"
147+version = "0.2.0"
148+source = "registry+https://github.com/rust-lang/crates.io-index"
149+dependencies = [
150+ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
151+]
152+
153+[[package]]
154+name = "crossbeam-utils"
155+version = "0.7.0"
156+source = "registry+https://github.com/rust-lang/crates.io-index"
157+dependencies = [
158+ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
159+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
160+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
161+]
162+
163+[[package]]
164+name = "csv"
165+version = "1.1.1"
166+source = "registry+https://github.com/rust-lang/crates.io-index"
167+dependencies = [
168+ "bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
169+ "csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
170+ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
171+ "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
172+ "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
173+]
174+
175+[[package]]
176+name = "csv-core"
177+version = "0.1.6"
178+source = "registry+https://github.com/rust-lang/crates.io-index"
179+dependencies = [
180+ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
62181]
63182
64183[[package]]
65184name = "dodrio"
66−version = "0.1.0"
185+version = "0.2.0"
67186dependencies = [
68− "bumpalo 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
69− "js-sys 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
70− "wasm-bindgen 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
71− "wasm-bindgen-test 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
72− "web-sys 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
187+ "bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
188+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
189+ "console_log 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
190+ "criterion 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
191+ "dodrio-js-api 0.2.0",
192+ "futures 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
193+ "fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
194+ "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
195+ "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
196+ "longest-increasing-subsequence 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
197+ "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
198+ "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
199+ "wasm-bindgen-futures 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
200+ "wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
201+ "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
73202]
74203
75204[[package]]
76205name = "dodrio-counter"
77206version = "0.1.0"
78207dependencies = [
79− "bumpalo 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
80− "console_error_panic_hook 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
81− "dodrio 0.1.0",
82− "wasm-bindgen 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
83− "wasm-bindgen-test 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
84− "web-sys 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
208+ "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
209+ "console_log 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
210+ "dodrio 0.2.0",
211+ "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
212+ "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
213+ "wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
214+ "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
215+]
216+
217+[[package]]
218+name = "dodrio-game-of-life"
219+version = "0.1.0"
220+dependencies = [
221+ "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
222+ "dodrio 0.2.0",
223+ "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
224+ "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
225+ "wasm-bindgen-futures 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
226+ "wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
227+ "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
85228]
86229
87230[[package]]
88231name = "dodrio-hello-world"
89232version = "0.1.0"
90233dependencies = [
91− "bumpalo 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
92− "console_error_panic_hook 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
93− "dodrio 0.1.0",
94− "wasm-bindgen 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
95− "wasm-bindgen-test 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
96− "web-sys 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
234+ "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
235+ "dodrio 0.2.0",
236+ "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
237+ "wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
238+ "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
97239]
98240
99241[[package]]
100242name = "dodrio-input-form"
101243version = "0.1.0"
102244dependencies = [
103− "bumpalo 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
104− "console_error_panic_hook 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
105− "dodrio 0.1.0",
106− "wasm-bindgen 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
107− "wasm-bindgen-test 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
108− "web-sys 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
245+ "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
246+ "dodrio 0.2.0",
247+ "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
248+ "wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
249+ "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
250+]
251+
252+[[package]]
253+name = "dodrio-js-api"
254+version = "0.2.0"
255+dependencies = [
256+ "dodrio 0.2.0",
257+ "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
258+ "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
259+ "wasm-bindgen-futures 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
260+ "wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
261+]
262+
263+[[package]]
264+name = "dodrio-js-component"
265+version = "0.1.0"
266+dependencies = [
267+ "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
268+ "dodrio 0.2.0",
269+ "dodrio-js-api 0.2.0",
270+ "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
271+ "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
272+ "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
109273]
110274
111275[[package]]
112−name = "env_logger"
113−version = "0.6.0"
276+name = "dodrio-moire"
277+version = "0.1.0"
278+dependencies = [
279+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
280+ "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
281+ "console_log 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
282+ "dodrio 0.2.0",
283+ "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
284+ "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
285+ "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
286+ "wasm-bindgen-futures 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
287+ "wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
288+ "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
289+]
290+
291+[[package]]
292+name = "dodrio-sierpinski"
293+version = "0.1.0"
294+dependencies = [
295+ "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
296+ "dodrio 0.2.0",
297+ "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
298+ "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
299+ "wasm-bindgen-futures 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
300+ "wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
301+ "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
302+]
303+
304+[[package]]
305+name = "dodrio-todomvc"
306+version = "0.1.0"
307+dependencies = [
308+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
309+ "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
310+ "console_log 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
311+ "dodrio 0.2.0",
312+ "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
313+ "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
314+ "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
315+ "serde_json 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)",
316+ "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
317+ "wasm-bindgen-futures 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
318+ "wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
319+ "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
320+]
321+
322+[[package]]
323+name = "either"
324+version = "1.5.3"
325+source = "registry+https://github.com/rust-lang/crates.io-index"
326+
327+[[package]]
328+name = "futures"
329+version = "0.3.5"
114330source = "registry+https://github.com/rust-lang/crates.io-index"
115331dependencies = [
116− "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
117− "humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
118− "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
119− "regex 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
120− "termcolor 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
332+ "futures-channel 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
333+ "futures-core 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
334+ "futures-executor 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
335+ "futures-io 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
336+ "futures-sink 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
337+ "futures-task 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
338+ "futures-util 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
121339]
122340
123341[[package]]
124−name = "failure"
125−version = "0.1.3"
342+name = "futures-channel"
343+version = "0.3.5"
126344source = "registry+https://github.com/rust-lang/crates.io-index"
127345dependencies = [
128− "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
129− "failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
346+ "futures-core 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
347+ "futures-sink 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
130348]
131349
132350[[package]]
133−name = "failure_derive"
134−version = "0.1.3"
351+name = "futures-core"
352+version = "0.3.5"
353+source = "registry+https://github.com/rust-lang/crates.io-index"
354+
355+[[package]]
356+name = "futures-executor"
357+version = "0.3.5"
135358source = "registry+https://github.com/rust-lang/crates.io-index"
136359dependencies = [
137− "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
138− "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
139− "syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)",
140− "synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
360+ "futures-core 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
361+ "futures-task 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
362+ "futures-util 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
141363]
142364
143365[[package]]
144−name = "futures"
145−version = "0.1.25"
366+name = "futures-io"
367+version = "0.3.5"
368+source = "registry+https://github.com/rust-lang/crates.io-index"
369+
370+[[package]]
371+name = "futures-macro"
372+version = "0.3.5"
373+source = "registry+https://github.com/rust-lang/crates.io-index"
374+dependencies = [
375+ "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
376+ "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
377+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
378+ "syn 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
379+]
380+
381+[[package]]
382+name = "futures-sink"
383+version = "0.3.5"
384+source = "registry+https://github.com/rust-lang/crates.io-index"
385+
386+[[package]]
387+name = "futures-task"
388+version = "0.3.5"
389+source = "registry+https://github.com/rust-lang/crates.io-index"
390+dependencies = [
391+ "once_cell 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
392+]
393+
394+[[package]]
395+name = "futures-util"
396+version = "0.3.5"
397+source = "registry+https://github.com/rust-lang/crates.io-index"
398+dependencies = [
399+ "futures-channel 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
400+ "futures-core 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
401+ "futures-io 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
402+ "futures-macro 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
403+ "futures-sink 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
404+ "futures-task 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
405+ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
406+ "pin-project 0.4.16 (registry+https://github.com/rust-lang/crates.io-index)",
407+ "pin-utils 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
408+ "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
409+ "proc-macro-nested 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
410+ "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
411+]
412+
413+[[package]]
414+name = "fxhash"
415+version = "0.2.1"
416+source = "registry+https://github.com/rust-lang/crates.io-index"
417+dependencies = [
418+ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
419+]
420+
421+[[package]]
422+name = "half"
423+version = "1.6.0"
146424source = "registry+https://github.com/rust-lang/crates.io-index"
147425
148426[[package]]
149427name = "heck"
150−version = "0.3.0"
428+version = "0.3.1"
151429source = "registry+https://github.com/rust-lang/crates.io-index"
152430dependencies = [
153− "unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
431+ "unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
154432]
155433
156434[[package]]
157−name = "humantime"
158−version = "1.2.0"
435+name = "hermit-abi"
436+version = "0.1.3"
159437source = "registry+https://github.com/rust-lang/crates.io-index"
160438dependencies = [
161− "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
439+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
162440]
163441
442+[[package]]
443+name = "itertools"
444+version = "0.9.0"
445+source = "registry+https://github.com/rust-lang/crates.io-index"
446+dependencies = [
447+ "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
448+]
449+
450+[[package]]
451+name = "itoa"
452+version = "0.4.4"
453+source = "registry+https://github.com/rust-lang/crates.io-index"
454+
164455[[package]]
165456name = "js-sys"
166−version = "0.3.8"
457+version = "0.3.32"
167458source = "registry+https://github.com/rust-lang/crates.io-index"
168459dependencies = [
169− "wasm-bindgen 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
460+ "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
170461]
171462
172463[[package]]
173464name = "lazy_static"
174−version = "1.2.0"
465+version = "1.4.0"
175466source = "registry+https://github.com/rust-lang/crates.io-index"
176467
177468[[package]]
178469name = "libc"
179−version = "0.2.44"
470+version = "0.2.66"
180471source = "registry+https://github.com/rust-lang/crates.io-index"
181472
182473[[package]]
183474name = "log"
184−version = "0.4.6"
475+version = "0.4.11"
185476source = "registry+https://github.com/rust-lang/crates.io-index"
186477dependencies = [
187− "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
478+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
188479]
189480
481+[[package]]
482+name = "longest-increasing-subsequence"
483+version = "0.1.0"
484+source = "registry+https://github.com/rust-lang/crates.io-index"
485+
190486[[package]]
191487name = "memchr"
192−version = "2.1.1"
488+version = "2.2.1"
193489source = "registry+https://github.com/rust-lang/crates.io-index"
194490dependencies = [
195− "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
196− "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
197− "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
491+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
492+]
493+
494+[[package]]
495+name = "memoffset"
496+version = "0.5.3"
497+source = "registry+https://github.com/rust-lang/crates.io-index"
498+dependencies = [
499+ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
198500]
199501
200502[[package]]
201503name = "nom"
202−version = "4.1.1"
504+version = "4.2.3"
203505source = "registry+https://github.com/rust-lang/crates.io-index"
204506dependencies = [
205− "memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
507+ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
508+ "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
206509]
207510
208511[[package]]
209−name = "proc-macro2"
210−version = "0.4.24"
512+name = "num-traits"
513+version = "0.2.10"
211514source = "registry+https://github.com/rust-lang/crates.io-index"
212515dependencies = [
213− "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
516+ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
214517]
215518
216519[[package]]
217−name = "quick-error"
218−version = "1.2.2"
520+name = "num_cpus"
521+version = "1.11.1"
219522source = "registry+https://github.com/rust-lang/crates.io-index"
523+dependencies = [
524+ "hermit-abi 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
525+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
526+]
527+
528+[[package]]
529+name = "once_cell"
530+version = "1.3.1"
531+source = "registry+https://github.com/rust-lang/crates.io-index"
532+
533+[[package]]
534+name = "oorandom"
535+version = "11.1.0"
536+source = "registry+https://github.com/rust-lang/crates.io-index"
537+
538+[[package]]
539+name = "pin-project"
540+version = "0.4.16"
541+source = "registry+https://github.com/rust-lang/crates.io-index"
542+dependencies = [
543+ "pin-project-internal 0.4.16 (registry+https://github.com/rust-lang/crates.io-index)",
544+]
545+
546+[[package]]
547+name = "pin-project-internal"
548+version = "0.4.16"
549+source = "registry+https://github.com/rust-lang/crates.io-index"
550+dependencies = [
551+ "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
552+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
553+ "syn 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
554+]
555+
556+[[package]]
557+name = "pin-utils"
558+version = "0.1.0"
559+source = "registry+https://github.com/rust-lang/crates.io-index"
560+
561+[[package]]
562+name = "plotters"
563+version = "0.2.12"
564+source = "registry+https://github.com/rust-lang/crates.io-index"
565+dependencies = [
566+ "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
567+ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
568+ "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
569+ "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
570+]
571+
572+[[package]]
573+name = "proc-macro-hack"
574+version = "0.5.11"
575+source = "registry+https://github.com/rust-lang/crates.io-index"
576+dependencies = [
577+ "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
578+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
579+ "syn 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
580+]
581+
582+[[package]]
583+name = "proc-macro-nested"
584+version = "0.1.3"
585+source = "registry+https://github.com/rust-lang/crates.io-index"
586+
587+[[package]]
588+name = "proc-macro2"
589+version = "1.0.18"
590+source = "registry+https://github.com/rust-lang/crates.io-index"
591+dependencies = [
592+ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
593+]
220594
221595[[package]]
222596name = "quote"
223−version = "0.6.10"
597+version = "1.0.2"
224598source = "registry+https://github.com/rust-lang/crates.io-index"
225599dependencies = [
226− "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
600+ "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
227601]
228602
229603[[package]]
230−name = "redox_syscall"
231−version = "0.1.43"
604+name = "rayon"
605+version = "1.3.0"
232606source = "registry+https://github.com/rust-lang/crates.io-index"
607+dependencies = [
608+ "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
609+ "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
610+ "rayon-core 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
611+]
233612
234613[[package]]
235−name = "redox_termios"
236−version = "0.1.1"
614+name = "rayon-core"
615+version = "1.7.0"
237616source = "registry+https://github.com/rust-lang/crates.io-index"
238617dependencies = [
239− "redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
618+ "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
619+ "crossbeam-queue 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
620+ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
621+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
622+ "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
240623]
241624
242625[[package]]
243626name = "regex"
244−version = "1.0.6"
627+version = "1.3.3"
245628source = "registry+https://github.com/rust-lang/crates.io-index"
246629dependencies = [
247− "aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
248− "memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
249− "regex-syntax 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
250− "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
251− "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
630+ "regex-syntax 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
631+]
632+
633+[[package]]
634+name = "regex-automata"
635+version = "0.1.8"
636+source = "registry+https://github.com/rust-lang/crates.io-index"
637+dependencies = [
638+ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
252639]
253640
254641[[package]]
255642name = "regex-syntax"
256−version = "0.6.3"
643+version = "0.6.13"
644+source = "registry+https://github.com/rust-lang/crates.io-index"
645+
646+[[package]]
647+name = "rustc_version"
648+version = "0.2.3"
257649source = "registry+https://github.com/rust-lang/crates.io-index"
258650dependencies = [
259− "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
651+ "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
260652]
261653
262654[[package]]
263−name = "rustc-demangle"
264−version = "0.1.9"
655+name = "ryu"
656+version = "1.0.2"
657+source = "registry+https://github.com/rust-lang/crates.io-index"
658+
659+[[package]]
660+name = "same-file"
661+version = "1.0.5"
265662source = "registry+https://github.com/rust-lang/crates.io-index"
663+dependencies = [
664+ "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
665+]
266666
267667[[package]]
268668name = "scoped-tls"
269−version = "0.1.2"
669+version = "1.0.0"
270670source = "registry+https://github.com/rust-lang/crates.io-index"
271671
272672[[package]]
273−name = "sourcefile"
274−version = "0.1.4"
673+name = "scopeguard"
674+version = "1.0.0"
275675source = "registry+https://github.com/rust-lang/crates.io-index"
276676
277677[[package]]
278−name = "syn"
279−version = "0.15.22"
678+name = "semver"
679+version = "0.9.0"
280680source = "registry+https://github.com/rust-lang/crates.io-index"
281681dependencies = [
282− "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
283− "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
284− "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
682+ "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
285683]
286684
287685[[package]]
288−name = "synstructure"
289−version = "0.10.1"
686+name = "semver-parser"
687+version = "0.7.0"
688+source = "registry+https://github.com/rust-lang/crates.io-index"
689+
690+[[package]]
691+name = "serde"
692+version = "1.0.114"
290693source = "registry+https://github.com/rust-lang/crates.io-index"
291694dependencies = [
292− "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
293− "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
294− "syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)",
295− "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
695+ "serde_derive 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
296696]
297697
298698[[package]]
299−name = "termcolor"
300−version = "1.0.4"
699+name = "serde_cbor"
700+version = "0.11.1"
301701source = "registry+https://github.com/rust-lang/crates.io-index"
302702dependencies = [
303− "wincolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
703+ "half 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
704+ "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
304705]
305706
306707[[package]]
307−name = "termion"
308−version = "1.5.1"
708+name = "serde_derive"
709+version = "1.0.114"
309710source = "registry+https://github.com/rust-lang/crates.io-index"
310711dependencies = [
311− "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
312− "redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
313− "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
712+ "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
713+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
714+ "syn 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
314715]
315716
316717[[package]]
317−name = "thread_local"
318−version = "0.3.6"
718+name = "serde_json"
719+version = "1.0.57"
319720source = "registry+https://github.com/rust-lang/crates.io-index"
320721dependencies = [
321− "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
722+ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
723+ "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
724+ "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
322725]
323726
324727[[package]]
325−name = "ucd-util"
326−version = "0.1.3"
728+name = "slab"
729+version = "0.4.2"
327730source = "registry+https://github.com/rust-lang/crates.io-index"
328731
732+[[package]]
733+name = "sourcefile"
734+version = "0.1.4"
735+source = "registry+https://github.com/rust-lang/crates.io-index"
736+
737+[[package]]
738+name = "syn"
739+version = "1.0.33"
740+source = "registry+https://github.com/rust-lang/crates.io-index"
741+dependencies = [
742+ "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
743+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
744+ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
745+]
746+
747+[[package]]
748+name = "textwrap"
749+version = "0.11.0"
750+source = "registry+https://github.com/rust-lang/crates.io-index"
751+dependencies = [
752+ "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
753+]
754+
755+[[package]]
756+name = "tinytemplate"
757+version = "1.1.0"
758+source = "registry+https://github.com/rust-lang/crates.io-index"
759+dependencies = [
760+ "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
761+ "serde_json 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)",
762+]
763+
329764[[package]]
330765name = "unicode-segmentation"
331−version = "1.2.1"
766+version = "1.6.0"
332767source = "registry+https://github.com/rust-lang/crates.io-index"
333768
334769[[package]]
335−name = "unicode-xid"
336−version = "0.1.0"
770+name = "unicode-width"
771+version = "0.1.6"
337772source = "registry+https://github.com/rust-lang/crates.io-index"
338773
339774[[package]]
340−name = "utf8-ranges"
341−version = "1.0.2"
775+name = "unicode-xid"
776+version = "0.2.0"
342777source = "registry+https://github.com/rust-lang/crates.io-index"
343778
344779[[package]]
@@ -346,125 +781,136 @@ name = "version_check"
346781version = "0.1.5"
347782source = "registry+https://github.com/rust-lang/crates.io-index"
348783
784+[[package]]
785+name = "walkdir"
786+version = "2.3.1"
787+source = "registry+https://github.com/rust-lang/crates.io-index"
788+dependencies = [
789+ "same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
790+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
791+ "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
792+]
793+
349794[[package]]
350795name = "wasm-bindgen"
351−version = "0.2.31"
796+version = "0.2.55"
352797source = "registry+https://github.com/rust-lang/crates.io-index"
353798dependencies = [
354− "wasm-bindgen-macro 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
799+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
800+ "wasm-bindgen-macro 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
355801]
356802
357803[[package]]
358804name = "wasm-bindgen-backend"
359−version = "0.2.31"
805+version = "0.2.55"
360806source = "registry+https://github.com/rust-lang/crates.io-index"
361807dependencies = [
362− "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
363− "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
364− "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
365− "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
366− "syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)",
367− "wasm-bindgen-shared 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
808+ "bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
809+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
810+ "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
811+ "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
812+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
813+ "syn 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
814+ "wasm-bindgen-shared 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
368815]
369816
370817[[package]]
371818name = "wasm-bindgen-futures"
372−version = "0.3.8"
819+version = "0.4.5"
373820source = "registry+https://github.com/rust-lang/crates.io-index"
374821dependencies = [
375− "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
376− "js-sys 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
377− "wasm-bindgen 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
822+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
823+ "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
824+ "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
825+ "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
378826]
379827
380828[[package]]
381829name = "wasm-bindgen-macro"
382−version = "0.2.31"
830+version = "0.2.55"
383831source = "registry+https://github.com/rust-lang/crates.io-index"
384832dependencies = [
385− "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
386− "wasm-bindgen-macro-support 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
833+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
834+ "wasm-bindgen-macro-support 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
387835]
388836
389837[[package]]
390838name = "wasm-bindgen-macro-support"
391−version = "0.2.31"
839+version = "0.2.55"
392840source = "registry+https://github.com/rust-lang/crates.io-index"
393841dependencies = [
394− "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
395− "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
396− "syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)",
397− "wasm-bindgen-backend 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
398− "wasm-bindgen-shared 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
842+ "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
843+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
844+ "syn 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
845+ "wasm-bindgen-backend 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
846+ "wasm-bindgen-shared 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
399847]
400848
401849[[package]]
402850name = "wasm-bindgen-shared"
403−version = "0.2.31"
851+version = "0.2.55"
404852source = "registry+https://github.com/rust-lang/crates.io-index"
405853
406854[[package]]
407855name = "wasm-bindgen-test"
408−version = "0.2.31"
856+version = "0.3.5"
409857source = "registry+https://github.com/rust-lang/crates.io-index"
410858dependencies = [
411− "console_error_panic_hook 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
412− "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
413− "js-sys 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
414− "scoped-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
415− "wasm-bindgen 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
416− "wasm-bindgen-futures 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
417− "wasm-bindgen-test-macro 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
859+ "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
860+ "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
861+ "scoped-tls 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
862+ "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
863+ "wasm-bindgen-futures 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
864+ "wasm-bindgen-test-macro 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
418865]
419866
420867[[package]]
421868name = "wasm-bindgen-test-macro"
422−version = "0.2.31"
869+version = "0.3.5"
423870source = "registry+https://github.com/rust-lang/crates.io-index"
424871dependencies = [
425− "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
426− "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
872+ "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
873+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
427874]
428875
429876[[package]]
430877name = "wasm-bindgen-webidl"
431−version = "0.2.25"
878+version = "0.2.55"
432879source = "registry+https://github.com/rust-lang/crates.io-index"
433880dependencies = [
434− "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
435− "heck 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
436− "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
437− "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
438− "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
439− "syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)",
440− "wasm-bindgen-backend 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
441− "weedle 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
881+ "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
882+ "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
883+ "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
884+ "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
885+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
886+ "syn 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
887+ "wasm-bindgen-backend 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
888+ "weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
442889]
443890
444891[[package]]
445892name = "web-sys"
446−version = "0.3.8"
893+version = "0.3.32"
447894source = "registry+https://github.com/rust-lang/crates.io-index"
448895dependencies = [
449− "env_logger 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
450− "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
451− "js-sys 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
896+ "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
897+ "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
452898 "sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
453− "wasm-bindgen 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
454− "wasm-bindgen-webidl 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)",
899+ "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
900+ "wasm-bindgen-webidl 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
455901]
456902
457903[[package]]
458904name = "weedle"
459−version = "0.8.0"
905+version = "0.10.0"
460906source = "registry+https://github.com/rust-lang/crates.io-index"
461907dependencies = [
462− "nom 4.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
908+ "nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
463909]
464910
465911[[package]]
466912name = "winapi"
467−version = "0.3.6"
913+version = "0.3.8"
468914source = "registry+https://github.com/rust-lang/crates.io-index"
469915dependencies = [
470916 "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -478,10 +924,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
478924
479925[[package]]
480926name = "winapi-util"
481−version = "0.1.1"
927+version = "0.1.2"
482928source = "registry+https://github.com/rust-lang/crates.io-index"
483929dependencies = [
484− "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
930+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
485931]
486932
487933[[package]]
@@ -489,69 +935,101 @@ name = "winapi-x86_64-pc-windows-gnu"
489935version = "0.4.0"
490936source = "registry+https://github.com/rust-lang/crates.io-index"
491937
492−[[package]]
493−name = "wincolor"
494−version = "1.0.1"
495−source = "registry+https://github.com/rust-lang/crates.io-index"
496−dependencies = [
497− "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
498− "winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
499−]
500−
501938[metadata]
502−"checksum aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1e9a933f4e58658d7b12defcf96dc5c720f20832deebe3e0a19efd3b6aaeeb9e"
503−"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
504−"checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a"
505−"checksum backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "c66d56ac8dabd07f6aacdaf633f4b8262f5b3601a810a0dcddffd5c22c69daa0"
506−"checksum bumpalo 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc4fcb5e70b6c60b241977e660f32831396c2a8e2208fdb40277ad22f69e9644"
507−"checksum cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "f159dfd43363c4d08055a07703eb7a3406b0dac4d0584d96965a3262db3c9d16"
508−"checksum cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4"
509−"checksum console_error_panic_hook 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6c5dd2c094474ec60a6acaf31780af270275e3153bafff2db5995b715295762e"
510−"checksum env_logger 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "afb070faf94c85d17d50ca44f6ad076bce18ae92f0037d350947240a36e9d42e"
511−"checksum failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6dd377bcc1b1b7ce911967e3ec24fa19c3224394ec05b54aa7b083d498341ac7"
512−"checksum failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "64c2d913fe8ed3b6c6518eedf4538255b989945c14c2a7d5cbff62a5e2120596"
513−"checksum futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)" = "49e7653e374fe0d0c12de4250f0bdb60680b8c80eed558c5c7538eec9c89e21b"
514−"checksum heck 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea04fa3ead4e05e51a7c806fc07271fdbde4e246a6c6d1efd52e72230b771b82"
515−"checksum humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ca7e5f2e110db35f93b837c81797f3714500b81d517bf20c431b16d3ca4f114"
516−"checksum js-sys 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "27968ddad7df6b0895bf223d475fb71077bbc1de063777ae27cb442163591d36"
517−"checksum lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1"
518−"checksum libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)" = "10923947f84a519a45c8fefb7dd1b3e8c08747993381adee176d7a82b4195311"
519−"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
520−"checksum memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0a3eb002f0535929f1199681417029ebea04aadc0c7a4224b46be99c7f5d6a16"
521−"checksum nom 4.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9c349f68f25f596b9f44cf0e7c69752a5c633b0550c3ff849518bfba0233774a"
522−"checksum proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)" = "77619697826f31a02ae974457af0b29b723e5619e113e9397b8b82c6bd253f09"
523−"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
524−"checksum quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "53fa22a1994bd0f9372d7a816207d8a2677ad0325b073f5c5332760f0fb62b5c"
525−"checksum redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "679da7508e9a6390aeaf7fbd02a800fdc64b73fe2204dd2c8ae66d22d9d5ad5d"
526−"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
527−"checksum regex 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ee84f70c8c08744ea9641a731c7fadb475bf2ecc52d7f627feb833e0b3990467"
528−"checksum regex-syntax 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fbc557aac2b708fe84121caf261346cc2eed71978024337e42eb46b8a252ac6e"
529−"checksum rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "bcfe5b13211b4d78e5c2cadfebd7769197d95c639c35a50057eb4c05de811395"
530−"checksum scoped-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28"
939+"checksum anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "9267dff192e68f3399525901e709a48c1d3982c9c072fa32f2127a0cb0babf14"
940+"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
941+"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
942+"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
943+"checksum bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8d6c2c5b58ab920a4f5aeaaca34b4488074e8cc7596af94e6f8c6ff247c60245"
944+"checksum bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad807f2fc2bf185eeb98ff3a901bd46dc5ad58163d0fa4577ba0d25674d71708"
945+"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
946+"checksum cast 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4b9434b9a5aa1450faa3f9cb14ea0e8c53bb5d2b3c1bfd1ab4fc03e9f33fbfb0"
947+"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
948+"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
949+"checksum console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d976903543e0c48546a91908f21588a680a8c8f984df9a5d69feccb2b2a211"
950+"checksum console_log 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "501a375961cef1a0d44767200e66e4a559283097e91d0730b1d75dfb2f8a1494"
951+"checksum criterion 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "70daa7ceec6cf143990669a04c7df13391d55fb27bd4079d252fca774ba244d8"
952+"checksum criterion-plot 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e022feadec601fba1649cfa83586381a4ad31c6bf3a9ab7d408118b05dd9889d"
953+"checksum crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c3aa945d63861bfe624b55d153a39684da1e8c0bc8fba932f7ee3a3c16cea3ca"
954+"checksum crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5064ebdbf05ce3cb95e45c8b086f72263f4166b29b97f6baff7ef7fe047b55ac"
955+"checksum crossbeam-queue 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "dfd6515864a82d2f877b42813d4553292c6659498c9a2aa31bab5a15243c2700"
956+"checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4"
957+"checksum csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37519ccdfd73a75821cac9319d4fce15a81b9fcf75f951df5b9988aa3a0af87d"
958+"checksum csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9b5cadb6b25c77aeff80ba701712494213f4a8418fcda2ee11b6560c3ad0bf4c"
959+"checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
960+"checksum futures 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1e05b85ec287aac0dc34db7d4a569323df697f9c55b99b15d6b4ef8cde49f613"
961+"checksum futures-channel 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f366ad74c28cca6ba456d95e6422883cfb4b252a83bed929c83abfdbbf2967d5"
962+"checksum futures-core 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "59f5fff90fd5d971f936ad674802482ba441b6f09ba5e15fd8b39145582ca399"
963+"checksum futures-executor 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "10d6bb888be1153d3abeb9006b11b02cf5e9b209fda28693c31ae1e4e012e314"
964+"checksum futures-io 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "de27142b013a8e869c14957e6d2edeef89e97c289e69d042ee3a49acd8b51789"
965+"checksum futures-macro 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d0b5a30a4328ab5473878237c447333c093297bded83a4983d10f4deea240d39"
966+"checksum futures-sink 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3f2032893cb734c7a05d85ce0cc8b8c4075278e93b24b66f9de99d6eb0fa8acc"
967+"checksum futures-task 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "bdb66b5f09e22019b1ab0830f7785bcea8e7a42148683f99214f73f8ec21a626"
968+"checksum futures-util 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "8764574ff08b701a084482c3c7031349104b07ac897393010494beaa18ce32c6"
969+"checksum fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
970+"checksum half 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d36fab90f82edc3c747f9d438e06cf0a491055896f2a279638bb5beed6c40177"
971+"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
972+"checksum hermit-abi 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "307c3c9f937f38e3534b1d6447ecf090cafcc9744e4a6360e8b037b2cf5af120"
973+"checksum itertools 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b"
974+"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
975+"checksum js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)" = "1c840fdb2167497b0bd0db43d6dfe61e91637fa72f9d061f8bd17ddc44ba6414"
976+"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
977+"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
978+"checksum log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b"
979+"checksum longest-increasing-subsequence 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3bd0dd2cd90571056fdb71f6275fada10131182f84899f4b2a916e565d81d86"
980+"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
981+"checksum memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9"
982+"checksum nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6"
983+"checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4"
984+"checksum num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72"
985+"checksum once_cell 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b1c601810575c99596d4afc46f78a678c80105117c379eb3650cf99b8a21ce5b"
986+"checksum oorandom 11.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ebcec7c9c2a95cacc7cd0ecb89d8a8454eca13906f6deb55258ffff0adeb9405"
987+"checksum pin-project 0.4.16 (registry+https://github.com/rust-lang/crates.io-index)" = "81d480cb4e89522ccda96d0eed9af94180b7a5f93fb28f66e1fd7d68431663d1"
988+"checksum pin-project-internal 0.4.16 (registry+https://github.com/rust-lang/crates.io-index)" = "a82996f11efccb19b685b14b5df818de31c1edcee3daa256ab5775dd98e72feb"
989+"checksum pin-utils 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
990+"checksum plotters 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)" = "4e3bb8da247d27ae212529352020f3e5ee16e83c0c258061d27b08ab92675eeb"
991+"checksum proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)" = "ecd45702f76d6d3c75a80564378ae228a85f0b59d2f3ed43c91b4a69eb2ebfc5"
992+"checksum proc-macro-nested 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "369a6ed065f249a159e06c45752c780bda2fb53c995718f9e484d08daa9eb42e"
993+"checksum proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)" = "beae6331a816b1f65d04c45b078fd8e6c93e8071771f41b8163255bbd8d7c8fa"
994+"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
995+"checksum rayon 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "db6ce3297f9c85e16621bb8cca38a06779ffc31bb8184e1be4bed2be4678a098"
996+"checksum rayon-core 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "08a89b46efaf957e52b18062fb2f4660f8b8a4dde1807ca002690868ef2c85a9"
997+"checksum regex 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b5508c1941e4e7cb19965abef075d35a9a8b5cdf0846f30b4050e9b55dc55e87"
998+"checksum regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "92b73c2a1770c255c240eaa4ee600df1704a38dc3feaa6e949e7fcd4f8dc09f9"
999+"checksum regex-syntax 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e734e891f5b408a29efbf8309e656876276f49ab6a6ac208600b4419bd893d90"
1000+"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
1001+"checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
1002+"checksum same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421"
1003+"checksum scoped-tls 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2"
1004+"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
1005+"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
1006+"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
1007+"checksum serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)" = "5317f7588f0a5078ee60ef675ef96735a1442132dc645eb1d12c018620ed8cd3"
1008+"checksum serde_cbor 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1e18acfa2f90e8b735b2836ab8d538de304cbb6729a7360729ea5a895d15a622"
1009+"checksum serde_derive 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)" = "2a0be94b04690fbaed37cddffc5c134bf537c8e3329d53e982fe04c374978f8e"
1010+"checksum serde_json 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)" = "164eacbdb13512ec2745fb09d51fd5b22b0d65ed294a1dcf7285a360c80a675c"
1011+"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
5311012"checksum sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4bf77cb82ba8453b42b6ae1d692e4cdc92f9a47beaf89a847c8be83f4e328ad3"
532−"checksum syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)" = "ae8b29eb5210bc5cf63ed6149cbf9adfc82ac0be023d8735c176ee74a2db4da7"
533−"checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015"
534−"checksum termcolor 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4096add70612622289f2fdcdbd5086dc81c1e2675e6ae58d6c4f62a16c6d7f2f"
535−"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
536−"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
537−"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86"
538−"checksum unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aa6024fc12ddfd1c6dbc14a80fa2324d4568849869b779f6bd37e5e4c03344d1"
539−"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
540−"checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737"
1013+"checksum syn 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)" = "e8d5d96e8cbb005d6959f119f773bfaebb5684296108fb32600c00cde305b2cd"
1014+"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
1015+"checksum tinytemplate 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6d3dc76004a03cec1c5932bca4cdc2e39aaa798e3f82363dd94f9adf6098c12f"
1016+"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
1017+"checksum unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20"
1018+"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
5411019"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
542−"checksum wasm-bindgen 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)" = "f45ea87af0efdd3b142836cf2ea233c938fbd0ead3a9da0fd240abd5303d1f5c"
543−"checksum wasm-bindgen-backend 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)" = "65aafeecd4dcb2385505cbd33479c08c961902eae2d19f8cdc09a27c3cd50e09"
544−"checksum wasm-bindgen-futures 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "5b36999d57b7cc8b5463adcef55e9847efce0cb54dc3239a1f8082aae986d841"
545−"checksum wasm-bindgen-macro 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)" = "e3723ce26569facc66e1b53982a1035224d5c0d89a766eb3a45e56153e59b5e1"
546−"checksum wasm-bindgen-macro-support 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)" = "51ff31a6a49abf9743b2cac233bf83a33f24b154878ffdce5a41c8d11f91b3d9"
547−"checksum wasm-bindgen-shared 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)" = "98c697f76b3ab6a0e8abd4489ba81c1ad2eded87f8a871ea5593bb45323400c8"
548−"checksum wasm-bindgen-test 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)" = "371bcf73e0105dd6475ce979641adce782c45685c66502b69014ea3ed33e1c4c"
549−"checksum wasm-bindgen-test-macro 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)" = "14e80d7f52743df9276c7c8a37b793332d746309b0e63696d33d1de3d464c674"
550−"checksum wasm-bindgen-webidl 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)" = "bb97b10781b6df5a71d9c3aa9c8b65023816fdba1b4b13a00eb5591eeeb7f6ea"
551−"checksum web-sys 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "4e4abda3e6221ccb9b9a1853d75c33a37a385e533e784bd8ea121f6ff279ec1c"
552−"checksum weedle 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "26a4c67f132386d965390b8a734d5d10adbcd30eb5cc74bd9229af8b83f10044"
553−"checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0"
1020+"checksum walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d"
1021+"checksum wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "29ae32af33bacd663a9a28241abecf01f2be64e6a185c6139b04f18b6385c5f2"
1022+"checksum wasm-bindgen-backend 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "1845584bd3593442dc0de6e6d9f84454a59a057722f36f005e44665d6ab19d85"
1023+"checksum wasm-bindgen-futures 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1458706aa1b8fe6898d19433c9f110d93a05d1f22ae6adf55810409a94df34b4"
1024+"checksum wasm-bindgen-macro 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "87fcc747e6b73c93d22c947a6334644d22cfec5abd8b66238484dc2b0aeb9fe4"
1025+"checksum wasm-bindgen-macro-support 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "3dc4b3f2c4078c8c4a5f363b92fcf62604c5913cbd16c6ff5aaf0f74ec03f570"
1026+"checksum wasm-bindgen-shared 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "ca0b78d6d3be8589b95d1d49cdc0794728ca734adf36d7c9f07e6459508bb53d"
1027+"checksum wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ed5833682054e941db0b7e2b4877b61bbaafd680608e40d268e070d34558b305"
1028+"checksum wasm-bindgen-test-macro 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "9c5dcf70d21d0ff0ea5cdb97dba9a9b56ddad4a9bd10c8912eedc55618be022f"
1029+"checksum wasm-bindgen-webidl 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "3126356474ceb717c8fb5549ae387c9fbf4872818454f4d87708bee997214bb5"
1030+"checksum web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)" = "98405c0a2e722ed3db341b4c5b70eb9fe0021621f7350bab76df93b09b649bbf"
1031+"checksum weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bb43f70885151e629e2a19ce9e50bd730fd436cfd4b666894c9ce4de9141164"
1032+"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
5541033"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
555−"checksum winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "afc5508759c5bf4285e61feb862b6083c8480aec864fa17a81fdec6f69b461ab"
1034+"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
5561035"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
557−"checksum wincolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "561ed901ae465d6185fa7864d63fbd5720d0ef718366c9a4dc83cf6170d7e9ba"
Cargo.toml+80−12
@@ -1,37 +1,105 @@
11[package]
2−name = "dodrio"
3−version = "0.1.0"
42authors = ["Nick Fitzgerald <fitzgen@gmail.com>"]
3+categories = ["wasm", "web-programming"]
4+description = "A fast, bump-allocated virtual DOM library."
55edition = "2018"
6+keywords = ["virtual-dom", "vdom", "render", "bump"]
7+license = "MPL-2.0"
8+name = "dodrio"
9+readme = "./README.md"
10+repository = "https://github.com/fitzgen/dodrio"
11+version = "0.2.0"
12+
13+[badges]
14+travis-ci = { repository = "fitzgen/dodrio" }
15+
16+[lib]
17+path = "src/lib.rs"
18+bench = false
19+
20+[[test]]
21+name = "web"
22+path = "tests/web/main.rs"
23+required-features = ["xxx-unstable-internal-use-only"]
24+
25+[[bench]]
26+name = "benches"
27+path = "benches/benches.rs"
28+harness = false
29+required-features = ["xxx-unstable-internal-use-only"]
630
731[features]
8−default = []
32+# Don't rely on this feature! Its behavior will change and it could go away at
33+# any time. This enables monkey-patching DOM methods so that we wrap them and
34+# trace what DOM methods are used and how many times they are invoked when
35+# applying our emitted change lists to the physical DOM. This is useful for
36+# evaluating the differences between how Dodrio applies changes from virtual
37+# nodes to the physical DOM versus how other virtual DOM libraries do the same.
38+xxx-unstable-strace = []
39+
40+# Don't use this feature! It only exists for exposing otherwise-internal APIs
41+# for testing and benchmarks.
42+xxx-unstable-internal-use-only = []
943
1044[dependencies]
11−bumpalo = "1.0.2"
12−wasm-bindgen = "0.2.25"
13−js-sys = "0.3.2"
45+bumpalo = "2.6.0"
46+cfg-if = "0.1.10"
47+fxhash = "0.2.1"
48+js-sys = "0.3.32"
49+log = { version = "0.4.11", optional = true }
50+longest-increasing-subsequence = "0.1.0"
51+serde = { version = "1.0.114", optional = true }
52+wasm-bindgen = "0.2.55"
53+wasm-bindgen-futures = "0.4.5"
1454
1555[dependencies.web-sys]
16−version = "0.3.8"
56+version = "0.3.32"
1757features = [
1858 "console",
1959 "Document",
2060 "Element",
61+ "Event",
2162 "Node",
2263 "Window",
2364]
2465
2566[dev-dependencies]
26−wasm-bindgen-test = "0.2"
67+console_log = "0.2.0"
68+dodrio-js-api = { version = "=0.2.0", path = "./crates/js-api" }
69+futures = "0.3.5"
70+log = "0.4.11"
71+wasm-bindgen-test = "0.3.5"
72+
73+[dev-dependencies.web-sys]
74+version = "0.3.32"
75+features = [
76+ "Attr",
77+ "EventTarget",
78+ "HtmlElement",
79+ "NamedNodeMap",
80+ "NodeList",
81+]
82+
83+[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
84+criterion = "0.3.3"
85+
86+[profile.bench]
87+debug = true
2788
2889[profile.release]
29−# Tell `rustc` to optimize for small code size.
90+incremental = false
91+lto = true
3092opt-level = "s"
3193
3294[workspace]
3395members = [
34− "./examples/counter/crate",
35− "./examples/hello-world/crate",
36− "./examples/input-form/crate",
96+ "./crates/js-api",
97+ "./examples/counter",
98+ "./examples/game-of-life",
99+ "./examples/hello-world",
100+ "./examples/input-form",
101+ "./examples/js-component",
102+ "./examples/moire",
103+ "./examples/sierpinski-triangle",
104+ "./examples/todomvc",
37105]
README.md+91−37
@@ -1,54 +1,108 @@
1−<meta charset="utf-8"/>
1+# Dodrio
22
3−# 🦀🕸️ `wasm-pack-template`
3+A fast, bump-allocated virtual DOM library for Rust and WebAssembly. Note that
4+Dodrio is still **experimental**.
45
5−A template for kick starting a Rust and WebAssembly project using
6−[`wasm-pack`](https://github.com/rustwasm/wasm-pack).
6+<!-- START doctoc generated TOC please keep comment here to allow auto update -->
7+<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
78
8−This template is designed for compiling Rust libraries into WebAssembly and
9−publishing the resulting package to NPM.
109
11−* Want to use the published NPM package in a Website? [Check out
12− `create-wasm-app`.](https://github.com/rustwasm/create-wasm-app)
13−* Want to make a monorepo-style Website without publishing to NPM? Check out
14− [`rust-webpack-template`](https://github.com/rustwasm/rust-webpack-template)
15− and/or
16− [`rust-parcel-template`](https://github.com/rustwasm/rust-parcel-template).
10+- [Warning](#warning)
11+- [Examples](#examples)
12+- [Design](#design)
13+ - [Bump Allocation](#bump-allocation)
14+ - [Change List as Stack Machine](#change-list-as-stack-machine)
15+ - [Library — Not Framework](#library--not-framework)
1716
18−## 🔋 Batteries Included
17+<!-- END doctoc generated TOC please keep comment here to allow auto update -->
1918
20−* [`wasm-bindgen`](https://github.com/rustwasm/wasm-bindgen) for communicating
21− between WebAssembly and JavaScript.
22−* [`console_error_panic_hook`](https://github.com/rustwasm/console_error_panic_hook)
23− for logging panic messages to the developer console.
24−* [`wee_alloc`](https://github.com/rustwasm/wee_alloc), an allocator optimized
25− for small code size.
19+## Warning
2620
27−## 🚴 Usage
21+I reiterate that Dodrio is in a very **experimental** state. It probably has
22+bugs, and no one is using it in production.
2823
29−### 🐑 Use `cargo generate` to Clone this Template
24+## Examples
3025
31−[Learn more about `cargo generate` here.](https://github.com/ashleygwilliams/cargo-generate)
26+Here is the classic "Hello, World!" example:
3227
33−```
34−cargo generate --git https://github.com/rustwasm/wasm-pack-template.git --name my-project
35−cd my-project
28+```rust
29+struct Hello {
30+ who: String,
31+}
32+
33+impl Render for Hello {
34+ fn render<'a>(&self, cx: &mut RenderContext<a>) -> Node<'a> {
35+ let who = bumpalo::format!(in cx.bump, "Hello, {}!", self.who);
36+ div(cx)
37+ .children([text(who.into_bump_str())])
38+ .finish()
39+ }
40+}
3641```
3742
38−### 🛠️ Build with `wasm-pack build`
43+More examples can be found in [the `examples`
44+directory](https://github.com/fitzgen/dodrio/tree/master/examples), including:
3945
40−```
41−wasm-pack build
42−```
46+* [`counter`](https://github.com/fitzgen/dodrio/tree/master/examples/counter):
47+ Incrementing and decrementing a counter.
48+* [`input-form`](https://github.com/fitzgen/dodrio/tree/master/examples/input-form):
49+ Reading an `<input>` and displaying its contents.
50+* [`todomvc`](https://github.com/fitzgen/dodrio/tree/master/examples/todomvc):
51+ An implementation of the infamous TodoMVC application.
52+* [`moire`](https://github.com/fitzgen/dodrio/tree/master/examples/moire): The
53+ WebRender Moiré patterns demo.
54+* [`game-of-life`](https://github.com/fitzgen/dodrio/tree/master/examples/game-of-life):
55+ The Rust and WebAssembly book's Game of Life tutorial rendered with Dodrio
56+ instead of to 2D canvas.
57+* [`js-component`](https://github.com/fitzgen/dodrio/tree/master/examples/js-component):
58+ Defines a rendering component in JavaScript with the `dodrio-js-api` crate.
4359
44−### 🔬 Test in Headless Browsers with `wasm-pack test`
60+## Cargo Features
4561
46−```
47−wasm-pack test --headless --firefox
48−```
62+* `log` &mdash; enable debugging-oriented log messages with the `log` crate's
63+ facade. You still have to initialize a logger for the messages to go anywhere,
64+ such as [`console_log`](https://github.com/iamcodemaker/console_log).
4965
50−### 🎁 Publish to NPM with `wasm-pack publish`
66+* `serde` &mdash; enable `serde::{Serialize, Deserialize}` implementations for
67+ `Cached<R>` where `R` is serializable and deserializable.
5168
52−```
53−wasm-pack publish
54−```
69+## Design
70+
71+### Bump Allocation
72+
73+Bump allocation is essentially the fastest method of allocating objects. It has
74+constraints, but works particularly well when allocation lifetimes match program
75+phases. And virtual DOMs are very phase oriented.
76+
77+Dodrio maintains three bump allocation arenas:
78+
79+1. The newest, most up-to-date virtual DOM. The virtual DOM nodes themselves and
80+ any temporary containers needed while creating them are allocated into this
81+ arena.
82+2. The previous virtual DOM. This reflects the current state of the physical
83+ DOM.
84+3. The difference between (1) and (2). This is a sequence of DOM mutation
85+ operations — colloquially known as a "change list" — which if applied to
86+ the physical DOM, will make the physical DOM match (1).
87+
88+Rendering happens as follows:
89+
90+1. The application state is rendered into bump allocation arena (1).
91+2. (1) is diffed with (2) and the changes are emitted into (3).
92+3. JavaScript code applies the change list in (3) to the physical DOM.
93+4. (1) and (2) are swapped, double-buffering style, and the new (1) has its bump
94+ allocation pointer reset, as does (3).
95+5. Rinse and repeat.
96+
97+### Change List as Stack Machine
98+
99+The change list that represents the difference between how the physical DOM
100+currently looks, and our ideal virtual DOM state is encoded in a tiny stack
101+machine language. A stack machine works particularly well for applying DOM
102+diffs, a task that is essentially a tree traversal.
103+
104+### Library — Not Framework
105+
106+Dodrio is just a library. (And did I mention it is experimental?!) It is not a
107+full-fledged, complete, batteries-included solution for all frontend Web
108+development. And it never intends to become that either.
benches/benches.rsnew file+118
@@ -0,0 +1,118 @@
1+#![cfg(all(
2+ feature = "xxx-unstable-internal-use-only",
3+ not(target_arch = "wasm32")
4+))]
5+
6+use criterion::{
7+ black_box, criterion_group, criterion_main, Benchmark, Criterion, ParameterizedBenchmark,
8+ Throughput,
9+};
10+use dodrio::{
11+ builder::*,
12+ bumpalo::{self, Bump},
13+ CachedSet, Node, Render, RenderContext, Vdom,
14+};
15+use std::cell::RefCell;
16+use std::convert::TryInto;
17+
18+/// The simplest thing we can render: `<div/>`.
19+struct Empty;
20+impl<'a> Render<'a> for Empty {
21+ fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
22+ div(&cx).finish()
23+ }
24+}
25+
26+/// Render a list that is `self.0` items long, has attributes and listeners.
27+struct SimpleList(usize);
28+impl<'a> Render<'a> for SimpleList {
29+ fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
30+ let mut children = bumpalo::collections::Vec::with_capacity_in(self.0, cx.bump);
31+ children.extend((0..self.0).map(|_| {
32+ li(&cx)
33+ .attr("class", "my-list-item")
34+ .on("click", |_root, _vdom, _event| {
35+ panic!("no one should call this")
36+ })
37+ .children([text("a list item")])
38+ .finish()
39+ }));
40+ ol(&cx).attr("id", "my-list").children(children).finish()
41+ }
42+}
43+
44+fn criterion_benchmark(c: &mut Criterion) {
45+ c.bench(
46+ "render",
47+ Benchmark::new("empty", {
48+ let mut bump = Bump::new();
49+ let cached_set = RefCell::new(CachedSet::default());
50+ let mut templates = Default::default();
51+ move |b| {
52+ bump.reset();
53+ let mut cx = RenderContext::new(&bump, &cached_set, &mut templates);
54+ b.iter(|| {
55+ black_box(Empty.render(&mut cx));
56+ })
57+ }
58+ }),
59+ );
60+
61+ c.bench(
62+ "render",
63+ ParameterizedBenchmark::new(
64+ "list",
65+ {
66+ let mut bump = Bump::new();
67+ let cached_set = RefCell::new(CachedSet::default());
68+ let mut templates = Default::default();
69+ move |b, n| {
70+ bump.reset();
71+ let mut cx = RenderContext::new(&bump, &cached_set, &mut templates);
72+ b.iter(|| {
73+ black_box(SimpleList(*n).render(&mut cx));
74+ })
75+ }
76+ },
77+ vec![100, 1_000, 10_000],
78+ )
79+ .throughput(|n| Throughput::Elements((*n).try_into().unwrap())),
80+ );
81+
82+ c.bench(
83+ "render-and-diff",
84+ ParameterizedBenchmark::new(
85+ "same-list",
86+ |b, &n| {
87+ let vdom = Vdom::new(&(), SimpleList(n));
88+ b.iter(|| {
89+ vdom.immediately_render_and_diff(SimpleList(n));
90+ black_box(&vdom);
91+ })
92+ },
93+ vec![100, 1_000, 10_000],
94+ )
95+ .with_function("empty-to-full-list-to-empty", |b, &n| {
96+ b.iter(|| {
97+ let vdom = Vdom::new(&(), Empty);
98+ vdom.immediately_render_and_diff(SimpleList(n));
99+ black_box(&vdom);
100+ vdom.immediately_render_and_diff(Empty);
101+ black_box(&vdom);
102+ });
103+ })
104+ .with_function("append-one-and-remove-one", |b, &n| {
105+ let vdom = Vdom::new(&(), SimpleList(n));
106+ b.iter(|| {
107+ vdom.immediately_render_and_diff(SimpleList(n + 1));
108+ black_box(&vdom);
109+ vdom.immediately_render_and_diff(SimpleList(n));
110+ black_box(&vdom);
111+ })
112+ })
113+ .throughput(|n| Throughput::Elements((*n).try_into().unwrap())),
114+ );
115+}
116+
117+criterion_group!(benches, criterion_benchmark);
118+criterion_main!(benches);
build.sh+3−26
@@ -3,32 +3,9 @@
33cd $(dirname $0)
44set -eux
55
6−INSTALL=${INSTALL:-""}
7−
8−function with_dir {
9− pushd $1
10− shift
11− $@
12− popd
13−}
14−
15−cargo fmt --all
16−cargo check --all --target wasm32-unknown-unknown
17−
18−if test "$INSTALL" != ""; then
19− with_dir ./js npm link
20−fi
6+cargo fmt --all || true
7+cargo build --all --target wasm32-unknown-unknown
218
229for x in ./examples/*; do
23− wasm-pack build "$x/crate"
24−
25− if test "$INSTALL" != ""; then
26− with_dir "$x/crate/pkg" npm link
27− with_dir "$x/crate/pkg" npm link dodrio
28− with_dir "$x/js" npm audit fix
29− with_dir "$x/js" npm install
30− with_dir "$x/js" npm link dodrio
31− fi
32−
33− with_dir "$x/js/" npm run build
10+ wasm-pack build --target web "$x"
3411done
crates/js-api/Cargo.tomlnew file+22
@@ -0,0 +1,22 @@
1+[package]
2+authors = ["Nick Fitzgerald <fitzgen@gmail.com>"]
3+categories = ["wasm", "web-programming"]
4+description = "An API for implementing Dodrio rendering components with JavaScript"
5+edition = "2018"
6+keywords = ["javascript", "js", "vdom", "virtual-dom"]
7+license = "MPL-2.0"
8+name = "dodrio-js-api"
9+repository = "https://github.com/fitzgen/dodrio"
10+version = "0.2.0"
11+
12+[badges]
13+travis-ci = { repository = "fitzgen/dodrio" }
14+
15+[dependencies]
16+dodrio = { version = "=0.2.0", path = "../.." }
17+wasm-bindgen = "0.2.55"
18+js-sys = "0.3.32"
19+wasm-bindgen-futures = "0.4.5"
20+
21+[dev-dependencies]
22+wasm-bindgen-test = "0.3.5"
crates/js-api/src/lib.rsnew file+324
@@ -0,0 +1,324 @@
1+/*!
2+
3+Implementing `dodrio` render components with JavaScript.
4+
5+This crate provides a Rust type `JsRender` that wraps a JavaScript object with a
6+`render` method. `JsRender` implements `dodrio::Render` by calling its wrapped
7+object's `render` method to get a JavaScript virtual DOM represented as a tree
8+of JavaScript values. It then converts this tree of JavaScript values into
9+`dodrio`'s normal bump-allocated virtual DOM representation.
10+
11+This is likely much slower than rendering virtual DOMs directly into the bump
12+allocator from the Rust side of things! Additionally, the shape of the
13+JavaScript virtual DOM is a bit funky and unidiomatic. Keep in mind that this
14+crate exists as a proof of concept for integrating JavaScript components into
15+`dodrio` -- which is itself *also* experimental -- and so this crate definitely
16+has some rough edges.
17+
18+# Example
19+
20+Here is a JavaScript implementation of a rendering component:
21+
22+```javascript
23+class Greeting {
24+ constructor(who) {
25+ this.who = who;
26+ }
27+
28+ render() {
29+ return {
30+ tagName: "p",
31+ attributes: [
32+ {
33+ name: "class",
34+ value: "greeting",
35+ },
36+ ],
37+ listeners: [
38+ {
39+ on: "click",
40+ callback: this.onClick.bind(this),
41+ }
42+ ],
43+ children: [
44+ "Hello, ",
45+ {
46+ tagName: "strong",
47+ children: [this.who],
48+ }
49+ ],
50+ };
51+ }
52+
53+ async onClick(vdom, event) {
54+ // Be more excited!
55+ this.who += "!";
56+
57+ // Schedule a re-render.
58+ await vdom.render();
59+
60+ console.log("re-rendering finished!");
61+ }
62+}
63+```
64+
65+And here is a Rust rendering component that internally uses the JS rendering
66+component:
67+
68+```rust,no_run
69+use dodrio::{Node, Render, RenderContext, Vdom};
70+use dodrio_js_api::JsRender;
71+use js_sys::Object;
72+use wasm_bindgen::prelude::*;
73+
74+#[wasm_bindgen]
75+extern {
76+ // Import the JS `Greeting` class.
77+ #[wasm_bindgen(extends = Object)]
78+ #[derive(Clone, Debug)]
79+ type Greeting;
80+
81+ // And the `Greeting` class's constructor.
82+ #[wasm_bindgen(constructor)]
83+ fn new(who: &str) -> Greeting;
84+}
85+
86+/// This is our Rust rendering component that wraps the JS rendering component.
87+pub struct GreetingViaJs {
88+ js: JsRender,
89+}
90+
91+impl GreetingViaJs {
92+ /// Create a new `GreetingViaJs`, which will internally create a new JS
93+ /// `Greeting`.
94+ pub fn new(who: &str) -> GreetingViaJs {
95+ let js = JsRender::new(Greeting::new(who));
96+ GreetingViaJs { js }
97+ }
98+}
99+
100+/// And finally the `Render` implementation! This adds a `<p>` element and some
101+/// text around whatever the inner JS `Greeting` component renders.
102+impl<'a> Render<'a> for GreetingViaJs {
103+ fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
104+ use dodrio::builder::*;
105+ p(&cx)
106+ .children([
107+ text("JavaScript says: "),
108+ self.js.render(cx),
109+ ])
110+ .finish()
111+ }
112+}
113+```
114+
115+ */
116+#![deny(missing_docs, missing_debug_implementations)]
117+
118+use dodrio::{builder, bumpalo, Node, Render, RenderContext};
119+use js_sys::{Object, Promise, Reflect};
120+use wasm_bindgen::prelude::*;
121+use wasm_bindgen::JsCast;
122+
123+#[wasm_bindgen]
124+extern "C" {
125+ /// A rendering component implemented in JavaScript.
126+ ///
127+ /// The rendering API is a bit duck-typed: any JS object with a `render`
128+ /// method that returns a virtual DOM as JS values with the right shape
129+ /// works.
130+ ///
131+ /// See `JsRender::new` for converting existing JS objects into `JsRender`s.
132+ #[derive(Debug, Clone)]
133+ pub type JsRender;
134+ #[wasm_bindgen(structural, method)]
135+ fn render(this: &JsRender) -> JsValue;
136+
137+ #[wasm_bindgen(extends = Object)]
138+ #[derive(Debug, Clone)]
139+ type Element;
140+ #[wasm_bindgen(structural, getter, method, js_name = tagName)]
141+ fn tag_name(this: &Element) -> String;
142+ #[wasm_bindgen(structural, getter, method)]
143+ fn listeners(this: &Element) -> js_sys::Array;
144+ #[wasm_bindgen(structural, getter, method)]
145+ fn attributes(this: &Element) -> js_sys::Array;
146+ #[wasm_bindgen(structural, getter, method)]
147+ fn children(this: &Element) -> js_sys::Array;
148+
149+ #[wasm_bindgen(extends = Object)]
150+ #[derive(Debug, Clone)]
151+ type Listener;
152+ #[wasm_bindgen(structural, getter, method)]
153+ fn on(this: &Listener) -> String;
154+ #[wasm_bindgen(structural, getter, method)]
155+ fn callback(this: &Listener) -> js_sys::Function;
156+
157+ #[wasm_bindgen(extends = Object)]
158+ #[derive(Debug, Clone)]
159+ type Attribute;
160+ #[wasm_bindgen(structural, getter, method)]
161+ fn name(this: &Attribute) -> String;
162+ #[wasm_bindgen(structural, getter, method)]
163+ fn value(this: &Attribute) -> String;
164+}
165+
166+/// A weak handle to a virtual DOM.
167+///
168+/// This is essentially the same as `dodrio::VdomWeak`, but exposed to
169+/// JavaScript.
170+#[wasm_bindgen]
171+#[derive(Clone, Debug)]
172+pub struct VdomWeak {
173+ inner: dodrio::VdomWeak,
174+}
175+
176+impl VdomWeak {
177+ fn new(inner: dodrio::VdomWeak) -> VdomWeak {
178+ VdomWeak { inner }
179+ }
180+}
181+
182+#[wasm_bindgen]
183+impl VdomWeak {
184+ /// Schedule re-rendering of the virtual DOM. A promise is returned that is
185+ /// resolved after the rendering has happened.
186+ pub fn render(&self) -> Promise {
187+ let future = self.inner.render();
188+
189+ wasm_bindgen_futures::future_to_promise(async move {
190+ if let Err(e) = future.await {
191+ let msg = e.to_string();
192+ Err(js_sys::Error::new(&msg).into())
193+ } else {
194+ Ok(JsValue::null())
195+ }
196+ })
197+ }
198+}
199+
200+impl JsRender {
201+ /// Convert a `js_sys::Object` into a `JsRender`.
202+ ///
203+ /// The given object must have a `render` method that conforms to the
204+ /// duck-typed virtual DOM interface which is described in the crate-level
205+ /// documentation.
206+ pub fn new<O>(object: O) -> JsRender
207+ where
208+ O: Into<Object>,
209+ {
210+ let object = object.into();
211+ debug_assert!(
212+ has_property(&object, "render"),
213+ "JS rendering components must have a `render` method"
214+ );
215+ object.unchecked_into::<JsRender>()
216+ }
217+}
218+
219+impl<'a> Render<'a> for JsRender {
220+ fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
221+ create(cx, self.render())
222+ }
223+}
224+
225+fn has_property(obj: &Object, property: &str) -> bool {
226+ Reflect::has(obj, &property.into()).unwrap_or_default()
227+}
228+
229+fn create<'a>(cx: &mut RenderContext<'a>, val: JsValue) -> Node<'a> {
230+ if let Some(txt) = val.as_string() {
231+ let text = bumpalo::collections::String::from_str_in(&txt, cx.bump);
232+ return builder::text(text.into_bump_str());
233+ }
234+
235+ let elem = val.unchecked_into::<Element>();
236+ debug_assert!(
237+ elem.is_instance_of::<Object>(),
238+ "JS render methods should only return strings for text nodes or objects for elements"
239+ );
240+ debug_assert!(
241+ has_property(&elem, "tagName"),
242+ "element objects returned by JS render methods must have a `tagName` property"
243+ );
244+
245+ let tag_name = elem.tag_name();
246+ let tag_name = bumpalo::collections::String::from_str_in(&tag_name, cx.bump);
247+
248+ builder::ElementBuilder::new(cx.bump, tag_name.into_bump_str())
249+ .listeners({
250+ let mut listeners =
251+ bumpalo::collections::Vec::new_in(cx.bump);
252+ if has_property(&elem, "listeners") {
253+ let js_listeners = elem.listeners();
254+ listeners.reserve(js_listeners.length() as usize);
255+ js_listeners.for_each(&mut |listener, _index, _array| {
256+ let listener = listener.unchecked_into::<Listener>();
257+ debug_assert!(
258+ listener.is_instance_of::<Object>(),
259+ "listeners returned by JS render methods must be objects"
260+ );
261+ debug_assert!(
262+ has_property(&listener, "on"),
263+ "listener objects returned by JS render methods must have an `on` property"
264+ );
265+ debug_assert!(
266+ has_property(&listener, "callback"),
267+ "listener objects returned by JS render methods must have an `callback` property"
268+ );
269+ let on = listener.on();
270+ let on = bumpalo::collections::String::from_str_in(&on, cx.bump);
271+ let callback = listener.callback();
272+ let elem = elem.clone();
273+ listeners.push(builder::on(cx.bump, on.into_bump_str(), move |_root, vdom, event| {
274+ let vdom = VdomWeak::new(vdom);
275+ let vdom: JsValue = vdom.into();
276+ if let Err(e) = callback.call2(&elem, &vdom, &event) {
277+ wasm_bindgen::throw_val(e);
278+ }
279+ }));
280+ });
281+ }
282+ listeners
283+ })
284+ .attributes({
285+ let mut attributes = bumpalo::collections::Vec::new_in(cx.bump);
286+ if has_property(&elem, "attributes") {
287+ let js_attributes = elem.attributes();
288+ attributes.reserve(js_attributes.length() as usize);
289+ js_attributes.for_each(&mut |attribute, _index, _array| {
290+ let attribute = attribute.unchecked_into::<Attribute>();
291+ debug_assert!(
292+ attribute.is_instance_of::<Object>(),
293+ "attributes returned by JS render methods must be objects"
294+ );
295+ debug_assert!(
296+ has_property(&attribute, "name"),
297+ "attribute objects returned by JS render methods must have a `name` property"
298+ );
299+ debug_assert!(
300+ has_property(&attribute, "value"),
301+ "attribute objects returned by JS render methods must have a `value` property"
302+ );
303+ let name = attribute.name();
304+ let name = bumpalo::collections::String::from_str_in(&name, cx.bump);
305+ let value = attribute.value();
306+ let value = bumpalo::collections::String::from_str_in(&value, cx.bump);
307+ attributes.push(builder::attr(name.into_bump_str(), value.into_bump_str()));
308+ });
309+ }
310+ attributes
311+ })
312+ .children({
313+ let mut children = bumpalo::collections::Vec::new_in(cx.bump);
314+ if has_property(&elem, "children") {
315+ let js_children = elem.children();
316+ children.reserve(js_children.length() as usize);
317+ js_children.for_each(&mut |child, _index, _array| {
318+ children.push(create(cx, child));
319+ });
320+ }
321+ children
322+ })
323+ .finish()
324+}
examples/counter/.gitignoredeleted−7
@@ -1,7 +0,0 @@
1−dist
2−node_modules
3−crate/bin
4−crate/pkg
5−crate/target
6−crate/wasm-pack.log
7−crate/Cargo.lock
examples/counter/.travis.ymldeleted−11
@@ -1,11 +0,0 @@
1−language: rust
2−
3−install:
4− - curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
5− - source ~/.nvm/nvm.sh
6− - nvm install v10.5
7− - curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh -s -- -f
8−
9−script:
10− - npm install
11− - npm run build
examples/counter/crate/Cargo.toml → examples/counter/Cargo.tomlrenamed+8−7
@@ -5,18 +5,19 @@ authors = ["Nick Fitzgerald <fitzgen@gmail.com>"]
55edition = "2018"
66
77[lib]
8−crate-type = ["cdylib", "rlib"]
8+crate-type = ["cdylib"]
99
1010[features]
1111
1212[dependencies]
13−bumpalo = "1.0.2"
14−dodrio = { path = "../../.." }
15−wasm-bindgen = "0.2"
16−console_error_panic_hook = "0.1.1"
13+console_error_panic_hook = "0.1.6"
14+console_log = "0.2.0"
15+dodrio = { path = "../.." }
16+log = "0.4.11"
17+wasm-bindgen = "0.2.55"
1718
1819[dependencies.web-sys]
19−version = "0.3.8"
20+version = "0.3.32"
2021features = [
2122 "console",
2223 "Document",
@@ -29,4 +30,4 @@ features = [
2930]
3031
3132[dev-dependencies]
32−wasm-bindgen-test = "0.2"
33+wasm-bindgen-test = "0.3.5"
examples/counter/LICENSE-APACHEdeleted−201
@@ -1,201 +0,0 @@
1− Apache License
2− Version 2.0, January 2004
3− http://www.apache.org/licenses/
4−
5−TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6−
7−1. Definitions.
8−
9− "License" shall mean the terms and conditions for use, reproduction,
10− and distribution as defined by Sections 1 through 9 of this document.
11−
12− "Licensor" shall mean the copyright owner or entity authorized by
13− the copyright owner that is granting the License.
14−
15− "Legal Entity" shall mean the union of the acting entity and all
16− other entities that control, are controlled by, or are under common
17− control with that entity. For the purposes of this definition,
18− "control" means (i) the power, direct or indirect, to cause the
19− direction or management of such entity, whether by contract or
20− otherwise, or (ii) ownership of fifty percent (50%) or more of the
21− outstanding shares, or (iii) beneficial ownership of such entity.
22−
23− "You" (or "Your") shall mean an individual or Legal Entity
24− exercising permissions granted by this License.
25−
26− "Source" form shall mean the preferred form for making modifications,
27− including but not limited to software source code, documentation
28− source, and configuration files.
29−
30− "Object" form shall mean any form resulting from mechanical
31− transformation or translation of a Source form, including but
32− not limited to compiled object code, generated documentation,
33− and conversions to other media types.
34−
35− "Work" shall mean the work of authorship, whether in Source or
36− Object form, made available under the License, as indicated by a
37− copyright notice that is included in or attached to the work
38− (an example is provided in the Appendix below).
39−
40− "Derivative Works" shall mean any work, whether in Source or Object
41− form, that is based on (or derived from) the Work and for which the
42− editorial revisions, annotations, elaborations, or other modifications
43− represent, as a whole, an original work of authorship. For the purposes
44− of this License, Derivative Works shall not include works that remain
45− separable from, or merely link (or bind by name) to the interfaces of,
46− the Work and Derivative Works thereof.
47−
48− "Contribution" shall mean any work of authorship, including
49− the original version of the Work and any modifications or additions
50− to that Work or Derivative Works thereof, that is intentionally
51− submitted to Licensor for inclusion in the Work by the copyright owner
52− or by an individual or Legal Entity authorized to submit on behalf of
53− the copyright owner. For the purposes of this definition, "submitted"
54− means any form of electronic, verbal, or written communication sent
55− to the Licensor or its representatives, including but not limited to
56− communication on electronic mailing lists, source code control systems,
57− and issue tracking systems that are managed by, or on behalf of, the
58− Licensor for the purpose of discussing and improving the Work, but
59− excluding communication that is conspicuously marked or otherwise
60− designated in writing by the copyright owner as "Not a Contribution."
61−
62− "Contributor" shall mean Licensor and any individual or Legal Entity
63− on behalf of whom a Contribution has been received by Licensor and
64− subsequently incorporated within the Work.
65−
66−2. Grant of Copyright License. Subject to the terms and conditions of
67− this License, each Contributor hereby grants to You a perpetual,
68− worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69− copyright license to reproduce, prepare Derivative Works of,
70− publicly display, publicly perform, sublicense, and distribute the
71− Work and such Derivative Works in Source or Object form.
72−
73−3. Grant of Patent License. Subject to the terms and conditions of
74− this License, each Contributor hereby grants to You a perpetual,
75− worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76− (except as stated in this section) patent license to make, have made,
77− use, offer to sell, sell, import, and otherwise transfer the Work,
78− where such license applies only to those patent claims licensable
79− by such Contributor that are necessarily infringed by their
80− Contribution(s) alone or by combination of their Contribution(s)
81− with the Work to which such Contribution(s) was submitted. If You
82− institute patent litigation against any entity (including a
83− cross-claim or counterclaim in a lawsuit) alleging that the Work
84− or a Contribution incorporated within the Work constitutes direct
85− or contributory patent infringement, then any patent licenses
86− granted to You under this License for that Work shall terminate
87− as of the date such litigation is filed.
88−
89−4. Redistribution. You may reproduce and distribute copies of the
90− Work or Derivative Works thereof in any medium, with or without
91− modifications, and in Source or Object form, provided that You
92− meet the following conditions:
93−
94− (a) You must give any other recipients of the Work or
95− Derivative Works a copy of this License; and
96−
97− (b) You must cause any modified files to carry prominent notices
98− stating that You changed the files; and
99−
100− (c) You must retain, in the Source form of any Derivative Works
101− that You distribute, all copyright, patent, trademark, and
102− attribution notices from the Source form of the Work,
103− excluding those notices that do not pertain to any part of
104− the Derivative Works; and
105−
106− (d) If the Work includes a "NOTICE" text file as part of its
107− distribution, then any Derivative Works that You distribute must
108− include a readable copy of the attribution notices contained
109− within such NOTICE file, excluding those notices that do not
110− pertain to any part of the Derivative Works, in at least one
111− of the following places: within a NOTICE text file distributed
112− as part of the Derivative Works; within the Source form or
113− documentation, if provided along with the Derivative Works; or,
114− within a display generated by the Derivative Works, if and
115− wherever such third-party notices normally appear. The contents
116− of the NOTICE file are for informational purposes only and
117− do not modify the License. You may add Your own attribution
118− notices within Derivative Works that You distribute, alongside
119− or as an addendum to the NOTICE text from the Work, provided
120− that such additional attribution notices cannot be construed
121− as modifying the License.
122−
123− You may add Your own copyright statement to Your modifications and
124− may provide additional or different license terms and conditions
125− for use, reproduction, or distribution of Your modifications, or
126− for any such Derivative Works as a whole, provided Your use,
127− reproduction, and distribution of the Work otherwise complies with
128− the conditions stated in this License.
129−
130−5. Submission of Contributions. Unless You explicitly state otherwise,
131− any Contribution intentionally submitted for inclusion in the Work
132− by You to the Licensor shall be under the terms and conditions of
133− this License, without any additional terms or conditions.
134− Notwithstanding the above, nothing herein shall supersede or modify
135− the terms of any separate license agreement you may have executed
136− with Licensor regarding such Contributions.
137−
138−6. Trademarks. This License does not grant permission to use the trade
139− names, trademarks, service marks, or product names of the Licensor,
140− except as required for reasonable and customary use in describing the
141− origin of the Work and reproducing the content of the NOTICE file.
142−
143−7. Disclaimer of Warranty. Unless required by applicable law or
144− agreed to in writing, Licensor provides the Work (and each
145− Contributor provides its Contributions) on an "AS IS" BASIS,
146− WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147− implied, including, without limitation, any warranties or conditions
148− of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149− PARTICULAR PURPOSE. You are solely responsible for determining the
150− appropriateness of using or redistributing the Work and assume any
151− risks associated with Your exercise of permissions under this License.
152−
153−8. Limitation of Liability. In no event and under no legal theory,
154− whether in tort (including negligence), contract, or otherwise,
155− unless required by applicable law (such as deliberate and grossly
156− negligent acts) or agreed to in writing, shall any Contributor be
157− liable to You for damages, including any direct, indirect, special,
158− incidental, or consequential damages of any character arising as a
159− result of this License or out of the use or inability to use the
160− Work (including but not limited to damages for loss of goodwill,
161− work stoppage, computer failure or malfunction, or any and all
162− other commercial damages or losses), even if such Contributor
163− has been advised of the possibility of such damages.
164−
165−9. Accepting Warranty or Additional Liability. While redistributing
166− the Work or Derivative Works thereof, You may choose to offer,
167− and charge a fee for, acceptance of support, warranty, indemnity,
168− or other liability obligations and/or rights consistent with this
169− License. However, in accepting such obligations, You may act only
170− on Your own behalf and on Your sole responsibility, not on behalf
171− of any other Contributor, and only if You agree to indemnify,
172− defend, and hold each Contributor harmless for any liability
173− incurred by, or claims asserted against, such Contributor by reason
174− of your accepting any such warranty or additional liability.
175−
176−END OF TERMS AND CONDITIONS
177−
178−APPENDIX: How to apply the Apache License to your work.
179−
180− To apply the Apache License to your work, attach the following
181− boilerplate notice, with the fields enclosed by brackets "[]"
182− replaced with your own identifying information. (Don't include
183− the brackets!) The text should be enclosed in the appropriate
184− comment syntax for the file format. We also recommend that a
185− file or class name and description of purpose be included on the
186− same "printed page" as the copyright notice for easier
187− identification within third-party archives.
188−
189−Copyright [yyyy] [name of copyright owner]
190−
191−Licensed under the Apache License, Version 2.0 (the "License");
192−you may not use this file except in compliance with the License.
193−You may obtain a copy of the License at
194−
195− http://www.apache.org/licenses/LICENSE-2.0
196−
197−Unless required by applicable law or agreed to in writing, software
198−distributed under the License is distributed on an "AS IS" BASIS,
199−WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200−See the License for the specific language governing permissions and
201−limitations under the License.
examples/counter/LICENSE-MITdeleted−25
@@ -1,25 +0,0 @@
1−Copyright (c) 2015 The Rust Project Developers
2−
3−Permission is hereby granted, free of charge, to any
4−person obtaining a copy of this software and associated
5−documentation files (the "Software"), to deal in the
6−Software without restriction, including without
7−limitation the rights to use, copy, modify, merge,
8−publish, distribute, sublicense, and/or sell copies of
9−the Software, and to permit persons to whom the Software
10−is furnished to do so, subject to the following
11−conditions:
12−
13−The above copyright notice and this permission notice
14−shall be included in all copies or substantial portions
15−of the Software.
16−
17−THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
18−ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
19−TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
20−PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
21−SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22−CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23−OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
24−IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25−DEALINGS IN THE SOFTWARE.
examples/counter/README.md+12−20
@@ -1,29 +1,21 @@
1−# 🦀🕸 `rust-webpack-template`
1+# Counter
22
3−> **Kickstart your Rust, WebAssembly, and Webpack project!**
3+A counter that can be incremented and decremented.
44
5−This template is designed for creating monorepo-style Web applications with
6−Rust-generated WebAssembly and Webpack without publishing your wasm to NPM.
5+## Source
76
8−* Want to create and publish NPM packages with Rust and WebAssembly? [Check out
9− `wasm-pack-template`.](https://github.com/rustwasm/wasm-pack-template)
7+See `src/lib.rs`.
108
11−## 🔋 Batteries Included
9+## Build
1210
13−This template comes pre-configured with all the boilerplate for compiling Rust
14−to WebAssembly and hooking into a Webpack build pipeline.
15−
16−* `npm run start` -- Serve the project locally for development at
17− `http://localhost:8080`.
18−
19−* `npm run build` -- Bundle the project (in production mode).
20−
21−## 🚴 Using This Template
11+```
12+wasm-pack build --target web
13+```
2214
23−First, [install `wasm-pack`!](https://rustwasm.github.io/wasm-pack/installer/)
15+## Serve
2416
25−Then, use `npm init` to clone this template:
17+Use any HTTP server, for example:
2618
27−```sh
28−npm init rust-webpack my-app
19+```
20+python -m SimpleHTTPServer
2921```
examples/counter/crate/src/lib.rsdeleted−88
@@ -1,88 +0,0 @@
1−use bumpalo::Bump;
2−use dodrio::{Attribute, Node, Render};
3−use wasm_bindgen::prelude::*;
4−use wasm_bindgen::JsCast;
5−
6−struct Counter {
7− val: isize,
8−}
9−
10−impl Counter {
11− fn new() -> Counter {
12− Counter { val: 0 }
13− }
14−
15− fn increment(&mut self) {
16− self.val += 1;
17− }
18−
19− fn decrement(&mut self) {
20− self.val -= 1;
21− }
22−}
23−
24−impl Render for Counter {
25− fn render<'a, 'bump>(&'a self, bump: &'bump Bump) -> dodrio::node::NodeRef<'bump>
26− where
27− 'a: 'bump,
28− {
29− let val = bumpalo::format!(in bump, "{}", self.val);
30−
31− let increment = bump.alloc(Node::element(
32− "button",
33− [Attribute {
34− name: "data-action",
35− value: "increment",
36− }],
37− [bump.alloc(Node::text("+")).into()],
38− ));
39−
40− let decrement = bump.alloc(Node::element(
41− "button",
42− [Attribute {
43− name: "data-action",
44− value: "decrement",
45− }],
46− [bump.alloc(Node::text("-")).into()],
47− ));
48−
49− bump.alloc(Node::element(
50− "div",
51− [],
52− [
53− increment.into(),
54− bump.alloc(Node::text(val.into_bump_str())).into(),
55− decrement.into(),
56− ],
57− ))
58− .into()
59− }
60−}
61−
62−#[wasm_bindgen]
63−pub fn run() {
64− console_error_panic_hook::set_once();
65−
66− let window = web_sys::window().unwrap();
67− let document = window.document().unwrap();
68− let body = document.body().unwrap();
69−
70− let mut counter = Counter::new();
71− let mut vdom = dodrio::Vdom::new(&body, &counter);
72−
73− let on_click = Closure::wrap(Box::new(move |event: web_sys::MouseEvent| {
74− match event
75− .target()
76− .and_then(|t| t.dyn_into::<web_sys::Element>().ok())
77− .and_then(|e| e.get_attribute("data-action"))
78− {
79− Some(ref s) if s == "increment" => counter.increment(),
80− Some(ref s) if s == "decrement" => counter.decrement(),
81− _ => {}
82− }
83− vdom.render(&counter);
84− }) as Box<FnMut(_)>);
85−
86− let _ = body.add_event_listener_with_callback("click", on_click.as_ref().unchecked_ref());
87− on_click.forget();
88−}
examples/counter/index.html+4
@@ -5,5 +5,9 @@
55 <title>Counter</title>
66 </head>
77 <body>
8+ <script type="module">
9+ import init from "./pkg/dodrio_counter.js";
10+ init("./pkg/dodrio_counter_bg.wasm");
11+ </script>
812 </body>
913</html>
examples/counter/js/index.jsdeleted−3
@@ -1,3 +0,0 @@
1−import("../crate/pkg").then(module => {
2− module.run();
3−});
examples/counter/package-lock.jsondeleted−5790
@@ -1,5790 +0,0 @@
1−{
2− "name": "create-rust-webpack",
3− "version": "0.1.5",
4− "lockfileVersion": 1,
5− "requires": true,
6− "dependencies": {
7− "@wasm-tool/wasm-pack-plugin": {
8− "version": "0.1.6",
9− "resolved": "https://registry.npmjs.org/@wasm-tool/wasm-pack-plugin/-/wasm-pack-plugin-0.1.6.tgz",
10− "integrity": "sha512-Nk6IqWSpvSnfjHOIElcol4aXLusl+/XKeuC2ViqbHOKHIClfN1r9KK9/KvGTslw7Qyjg4pVBYjGrTTRFqvvvvw==",
11− "dev": true,
12− "requires": {
13− "chalk": "^2.4.1",
14− "command-exists": "^1.2.7",
15− "glob": "^7.1.2",
16− "watchpack": "^1.6.0"
17− }
18− },
19− "@webassemblyjs/ast": {
20− "version": "1.7.11",
21− "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.11.tgz",
22− "integrity": "sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA==",
23− "dev": true,
24− "requires": {
25− "@webassemblyjs/helper-module-context": "1.7.11",
26− "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
27− "@webassemblyjs/wast-parser": "1.7.11"
28− }
29− },
30− "@webassemblyjs/floating-point-hex-parser": {
31− "version": "1.7.11",
32− "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz",
33− "integrity": "sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg==",
34− "dev": true
35− },
36− "@webassemblyjs/helper-api-error": {
37− "version": "1.7.11",
38− "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz",
39− "integrity": "sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg==",
40− "dev": true
41− },
42− "@webassemblyjs/helper-buffer": {
43− "version": "1.7.11",
44− "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz",
45− "integrity": "sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w==",
46− "dev": true
47− },
48− "@webassemblyjs/helper-code-frame": {
49− "version": "1.7.11",
50− "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz",
51− "integrity": "sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw==",
52− "dev": true,
53− "requires": {
54− "@webassemblyjs/wast-printer": "1.7.11"
55− }
56− },
57− "@webassemblyjs/helper-fsm": {
58− "version": "1.7.11",
59− "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz",
60− "integrity": "sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A==",
61− "dev": true
62− },
63− "@webassemblyjs/helper-module-context": {
64− "version": "1.7.11",
65− "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz",
66− "integrity": "sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg==",
67− "dev": true
68− },
69− "@webassemblyjs/helper-wasm-bytecode": {
70− "version": "1.7.11",
71− "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz",
72− "integrity": "sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ==",
73− "dev": true
74− },
75− "@webassemblyjs/helper-wasm-section": {
76− "version": "1.7.11",
77− "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz",
78− "integrity": "sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q==",
79− "dev": true,
80− "requires": {
81− "@webassemblyjs/ast": "1.7.11",
82− "@webassemblyjs/helper-buffer": "1.7.11",
83− "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
84− "@webassemblyjs/wasm-gen": "1.7.11"
85− }
86− },
87− "@webassemblyjs/ieee754": {
88− "version": "1.7.11",
89− "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz",
90− "integrity": "sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ==",
91− "dev": true,
92− "requires": {
93− "@xtuc/ieee754": "^1.2.0"
94− }
95− },
96− "@webassemblyjs/leb128": {
97− "version": "1.7.11",
98− "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.11.tgz",
99− "integrity": "sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw==",
100− "dev": true,
101− "requires": {
102− "@xtuc/long": "4.2.1"
103− }
104− },
105− "@webassemblyjs/utf8": {
106− "version": "1.7.11",
107− "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.11.tgz",
108− "integrity": "sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA==",
109− "dev": true
110− },
111− "@webassemblyjs/wasm-edit": {
112− "version": "1.7.11",
113− "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz",
114− "integrity": "sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg==",
115− "dev": true,
116− "requires": {
117− "@webassemblyjs/ast": "1.7.11",
118− "@webassemblyjs/helper-buffer": "1.7.11",
119− "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
120− "@webassemblyjs/helper-wasm-section": "1.7.11",
121− "@webassemblyjs/wasm-gen": "1.7.11",
122− "@webassemblyjs/wasm-opt": "1.7.11",
123− "@webassemblyjs/wasm-parser": "1.7.11",
124− "@webassemblyjs/wast-printer": "1.7.11"
125− }
126− },
127− "@webassemblyjs/wasm-gen": {
128− "version": "1.7.11",
129− "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz",
130− "integrity": "sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA==",
131− "dev": true,
132− "requires": {
133− "@webassemblyjs/ast": "1.7.11",
134− "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
135− "@webassemblyjs/ieee754": "1.7.11",
136− "@webassemblyjs/leb128": "1.7.11",
137− "@webassemblyjs/utf8": "1.7.11"
138− }
139− },
140− "@webassemblyjs/wasm-opt": {
141− "version": "1.7.11",
142− "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz",
143− "integrity": "sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg==",
144− "dev": true,
145− "requires": {
146− "@webassemblyjs/ast": "1.7.11",
147− "@webassemblyjs/helper-buffer": "1.7.11",
148− "@webassemblyjs/wasm-gen": "1.7.11",
149− "@webassemblyjs/wasm-parser": "1.7.11"
150− }
151− },
152− "@webassemblyjs/wasm-parser": {
153− "version": "1.7.11",
154− "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz",
155− "integrity": "sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg==",
156− "dev": true,
157− "requires": {
158− "@webassemblyjs/ast": "1.7.11",
159− "@webassemblyjs/helper-api-error": "1.7.11",
160− "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
161− "@webassemblyjs/ieee754": "1.7.11",
162− "@webassemblyjs/leb128": "1.7.11",
163− "@webassemblyjs/utf8": "1.7.11"
164− }
165− },
166− "@webassemblyjs/wast-parser": {
167− "version": "1.7.11",
168− "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz",
169− "integrity": "sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ==",
170− "dev": true,
171− "requires": {
172− "@webassemblyjs/ast": "1.7.11",
173− "@webassemblyjs/floating-point-hex-parser": "1.7.11",
174− "@webassemblyjs/helper-api-error": "1.7.11",
175− "@webassemblyjs/helper-code-frame": "1.7.11",
176− "@webassemblyjs/helper-fsm": "1.7.11",
177− "@xtuc/long": "4.2.1"
178− }
179− },
180− "@webassemblyjs/wast-printer": {
181− "version": "1.7.11",
182− "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz",
183− "integrity": "sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg==",
184− "dev": true,
185− "requires": {
186− "@webassemblyjs/ast": "1.7.11",
187− "@webassemblyjs/wast-parser": "1.7.11",
188− "@xtuc/long": "4.2.1"
189− }
190− },
191− "@xtuc/ieee754": {
192− "version": "1.2.0",
193− "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
194− "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
195− "dev": true
196− },
197− "@xtuc/long": {
198− "version": "4.2.1",
199− "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz",
200− "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==",
201− "dev": true
202− },
203− "accepts": {
204− "version": "1.3.5",
205− "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
206− "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
207− "dev": true,
208− "requires": {
209− "mime-types": "~2.1.18",
210− "negotiator": "0.6.1"
211− }
212− },
213− "acorn": {
214− "version": "5.7.3",
215− "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
216− "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
217− "dev": true
218− },
219− "acorn-dynamic-import": {
220− "version": "3.0.0",
221− "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz",
222− "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==",
223− "dev": true,
224− "requires": {
225− "acorn": "^5.0.0"
226− }
227− },
228− "ajv": {
229− "version": "6.5.3",
230− "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz",
231− "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==",
232− "dev": true,
233− "requires": {
234− "fast-deep-equal": "^2.0.1",
235− "fast-json-stable-stringify": "^2.0.0",
236− "json-schema-traverse": "^0.4.1",
237− "uri-js": "^4.2.2"
238− }
239− },
240− "ajv-errors": {
241− "version": "1.0.1",
242− "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
243− "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
244− "dev": true
245− },
246− "ajv-keywords": {
247− "version": "3.2.0",
248− "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz",
249− "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=",
250− "dev": true
251− },
252− "ansi-colors": {
253− "version": "3.2.3",
254− "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
255− "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==",
256− "dev": true
257− },
258− "ansi-html": {
259− "version": "0.0.7",
260− "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
261− "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
262− "dev": true
263− },
264− "ansi-regex": {
265− "version": "2.1.1",
266− "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
267− "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
268− "dev": true
269− },
270− "ansi-styles": {
271− "version": "3.2.1",
272− "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
273− "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
274− "dev": true,
275− "requires": {
276− "color-convert": "^1.9.0"
277− }
278− },
279− "anymatch": {
280− "version": "2.0.0",
281− "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
282− "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
283− "dev": true,
284− "requires": {
285− "micromatch": "^3.1.4",
286− "normalize-path": "^2.1.1"
287− }
288− },
289− "aproba": {
290− "version": "1.2.0",
291− "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
292− "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
293− "dev": true
294− },
295− "arr-diff": {
296− "version": "4.0.0",
297− "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
298− "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
299− "dev": true
300− },
301− "arr-flatten": {
302− "version": "1.1.0",
303− "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
304− "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
305− "dev": true
306− },
307− "arr-union": {
308− "version": "3.1.0",
309− "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
310− "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
311− "dev": true
312− },
313− "array-flatten": {
314− "version": "2.1.2",
315− "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
316− "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
317− "dev": true
318− },
319− "array-union": {
320− "version": "1.0.2",
321− "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
322− "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
323− "dev": true,
324− "requires": {
325− "array-uniq": "^1.0.1"
326− }
327− },
328− "array-uniq": {
329− "version": "1.0.3",
330− "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
331− "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
332− "dev": true
333− },
334− "array-unique": {
335− "version": "0.3.2",
336− "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
337− "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
338− "dev": true
339− },
340− "asn1.js": {
341− "version": "4.10.1",
342− "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
343− "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
344− "dev": true,
345− "requires": {
346− "bn.js": "^4.0.0",
347− "inherits": "^2.0.1",
348− "minimalistic-assert": "^1.0.0"
349− }
350− },
351− "assert": {
352− "version": "1.4.1",
353− "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
354− "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
355− "dev": true,
356− "requires": {
357− "util": "0.10.3"
358− },
359− "dependencies": {
360− "inherits": {
361− "version": "2.0.1",
362− "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
363− "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
364− "dev": true
365− },
366− "util": {
367− "version": "0.10.3",
368− "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
369− "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
370− "dev": true,
371− "requires": {
372− "inherits": "2.0.1"
373− }
374− }
375− }
376− },
377− "assign-symbols": {
378− "version": "1.0.0",
379− "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
380− "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
381− "dev": true
382− },
383− "async": {
384− "version": "1.5.2",
385− "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz",
386− "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
387− "dev": true
388− },
389− "async-each": {
390− "version": "1.0.1",
391− "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
392− "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
393− "dev": true
394− },
395− "atob": {
396− "version": "2.1.1",
397− "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz",
398− "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=",
399− "dev": true
400− },
401− "balanced-match": {
402− "version": "1.0.0",
403− "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
404− "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
405− "dev": true
406− },
407− "base": {
408− "version": "0.11.2",
409− "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
410− "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
411− "dev": true,
412− "requires": {
413− "cache-base": "^1.0.1",
414− "class-utils": "^0.3.5",
415− "component-emitter": "^1.2.1",
416− "define-property": "^1.0.0",
417− "isobject": "^3.0.1",
418− "mixin-deep": "^1.2.0",
419− "pascalcase": "^0.1.1"
420− },
421− "dependencies": {
422− "define-property": {
423− "version": "1.0.0",
424− "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
425− "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
426− "dev": true,
427− "requires": {
428− "is-descriptor": "^1.0.0"
429− }
430− },
431− "is-accessor-descriptor": {
432− "version": "1.0.0",
433− "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
434− "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
435− "dev": true,
436− "requires": {
437− "kind-of": "^6.0.0"
438− }
439− },
440− "is-data-descriptor": {
441− "version": "1.0.0",
442− "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
443− "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
444− "dev": true,
445− "requires": {
446− "kind-of": "^6.0.0"
447− }
448− },
449− "is-descriptor": {
450− "version": "1.0.2",
451− "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
452− "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
453− "dev": true,
454− "requires": {
455− "is-accessor-descriptor": "^1.0.0",
456− "is-data-descriptor": "^1.0.0",
457− "kind-of": "^6.0.2"
458− }
459− }
460− }
461− },
462− "base64-js": {
463− "version": "1.3.0",
464− "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
465− "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
466− "dev": true
467− },
468− "batch": {
469− "version": "0.6.1",
470− "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
471− "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
472− "dev": true
473− },
474− "big.js": {
475− "version": "3.2.0",
476− "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
477− "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
478− "dev": true
479− },
480− "binary-extensions": {
481− "version": "1.11.0",
482− "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
483− "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=",
484− "dev": true
485− },
486− "bluebird": {
487− "version": "3.5.2",
488− "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.2.tgz",
489− "integrity": "sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg==",
490− "dev": true
491− },
492− "bn.js": {
493− "version": "4.11.8",
494− "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
495− "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
496− "dev": true
497− },
498− "body-parser": {
499− "version": "1.18.3",
500− "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz",
501− "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=",
502− "dev": true,
503− "requires": {
504− "bytes": "3.0.0",
505− "content-type": "~1.0.4",
506− "debug": "2.6.9",
507− "depd": "~1.1.2",
508− "http-errors": "~1.6.3",
509− "iconv-lite": "0.4.23",
510− "on-finished": "~2.3.0",
511− "qs": "6.5.2",
512− "raw-body": "2.3.3",
513− "type-is": "~1.6.16"
514− },
515− "dependencies": {
516− "debug": {
517− "version": "2.6.9",
518− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
519− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
520− "dev": true,
521− "requires": {
522− "ms": "2.0.0"
523− }
524− }
525− }
526− },
527− "bonjour": {
528− "version": "3.5.0",
529− "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
530− "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
531− "dev": true,
532− "requires": {
533− "array-flatten": "^2.1.0",
534− "deep-equal": "^1.0.1",
535− "dns-equal": "^1.0.0",
536− "dns-txt": "^2.0.2",
537− "multicast-dns": "^6.0.1",
538− "multicast-dns-service-types": "^1.1.0"
539− }
540− },
541− "boolbase": {
542− "version": "1.0.0",
543− "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
544− "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
545− "dev": true
546− },
547− "brace-expansion": {
548− "version": "1.1.11",
549− "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
550− "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
551− "dev": true,
552− "requires": {
553− "balanced-match": "^1.0.0",
554− "concat-map": "0.0.1"
555− }
556− },
557− "braces": {
558− "version": "2.3.2",
559− "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
560− "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
561− "dev": true,
562− "requires": {
563− "arr-flatten": "^1.1.0",
564− "array-unique": "^0.3.2",
565− "extend-shallow": "^2.0.1",
566− "fill-range": "^4.0.0",
567− "isobject": "^3.0.1",
568− "repeat-element": "^1.1.2",
569− "snapdragon": "^0.8.1",
570− "snapdragon-node": "^2.0.1",
571− "split-string": "^3.0.2",
572− "to-regex": "^3.0.1"
573− },
574− "dependencies": {
575− "extend-shallow": {
576− "version": "2.0.1",
577− "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
578− "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
579− "dev": true,
580− "requires": {
581− "is-extendable": "^0.1.0"
582− }
583− }
584− }
585− },
586− "brorand": {
587− "version": "1.1.0",
588− "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
589− "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
590− "dev": true
591− },
592− "browserify-aes": {
593− "version": "1.2.0",
594− "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
595− "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
596− "dev": true,
597− "requires": {
598− "buffer-xor": "^1.0.3",
599− "cipher-base": "^1.0.0",
600− "create-hash": "^1.1.0",
601− "evp_bytestokey": "^1.0.3",
602− "inherits": "^2.0.1",
603− "safe-buffer": "^5.0.1"
604− }
605− },
606− "browserify-cipher": {
607− "version": "1.0.1",
608− "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
609− "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
610− "dev": true,
611− "requires": {
612− "browserify-aes": "^1.0.4",
613− "browserify-des": "^1.0.0",
614− "evp_bytestokey": "^1.0.0"
615− }
616− },
617− "browserify-des": {
618− "version": "1.0.2",
619− "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
620− "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
621− "dev": true,
622− "requires": {
623− "cipher-base": "^1.0.1",
624− "des.js": "^1.0.0",
625− "inherits": "^2.0.1",
626− "safe-buffer": "^5.1.2"
627− }
628− },
629− "browserify-rsa": {
630− "version": "4.0.1",
631− "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
632− "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
633− "dev": true,
634− "requires": {
635− "bn.js": "^4.1.0",
636− "randombytes": "^2.0.1"
637− }
638− },
639− "browserify-sign": {
640− "version": "4.0.4",
641− "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
642− "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
643− "dev": true,
644− "requires": {
645− "bn.js": "^4.1.1",
646− "browserify-rsa": "^4.0.0",
647− "create-hash": "^1.1.0",
648− "create-hmac": "^1.1.2",
649− "elliptic": "^6.0.0",
650− "inherits": "^2.0.1",
651− "parse-asn1": "^5.0.0"
652− }
653− },
654− "browserify-zlib": {
655− "version": "0.2.0",
656− "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
657− "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
658− "dev": true,
659− "requires": {
660− "pako": "~1.0.5"
661− }
662− },
663− "buffer": {
664− "version": "4.9.1",
665− "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
666− "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
667− "dev": true,
668− "requires": {
669− "base64-js": "^1.0.2",
670− "ieee754": "^1.1.4",
671− "isarray": "^1.0.0"
672− }
673− },
674− "buffer-from": {
675− "version": "1.1.1",
676− "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
677− "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
678− "dev": true
679− },
680− "buffer-indexof": {
681− "version": "1.1.1",
682− "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
683− "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==",
684− "dev": true
685− },
686− "buffer-xor": {
687− "version": "1.0.3",
688− "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
689− "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
690− "dev": true
691− },
692− "builtin-status-codes": {
693− "version": "3.0.0",
694− "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
695− "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
696− "dev": true
697− },
698− "bytes": {
699− "version": "3.0.0",
700− "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
701− "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
702− "dev": true
703− },
704− "cacache": {
705− "version": "10.0.4",
706− "resolved": "http://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz",
707− "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==",
708− "dev": true,
709− "requires": {
710− "bluebird": "^3.5.1",
711− "chownr": "^1.0.1",
712− "glob": "^7.1.2",
713− "graceful-fs": "^4.1.11",
714− "lru-cache": "^4.1.1",
715− "mississippi": "^2.0.0",
716− "mkdirp": "^0.5.1",
717− "move-concurrently": "^1.0.1",
718− "promise-inflight": "^1.0.1",
719− "rimraf": "^2.6.2",
720− "ssri": "^5.2.4",
721− "unique-filename": "^1.1.0",
722− "y18n": "^4.0.0"
723− }
724− },
725− "cache-base": {
726− "version": "1.0.1",
727− "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
728− "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
729− "dev": true,
730− "requires": {
731− "collection-visit": "^1.0.0",
732− "component-emitter": "^1.2.1",
733− "get-value": "^2.0.6",
734− "has-value": "^1.0.0",
735− "isobject": "^3.0.1",
736− "set-value": "^2.0.0",
737− "to-object-path": "^0.3.0",
738− "union-value": "^1.0.0",
739− "unset-value": "^1.0.0"
740− }
741− },
742− "camel-case": {
743− "version": "3.0.0",
744− "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
745− "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
746− "dev": true,
747− "requires": {
748− "no-case": "^2.2.0",
749− "upper-case": "^1.1.1"
750− }
751− },
752− "camelcase": {
753− "version": "4.1.0",
754− "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
755− "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
756− "dev": true
757− },
758− "chalk": {
759− "version": "2.4.1",
760− "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
761− "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
762− "dev": true,
763− "requires": {
764− "ansi-styles": "^3.2.1",
765− "escape-string-regexp": "^1.0.5",
766− "supports-color": "^5.3.0"
767− }
768− },
769− "chokidar": {
770− "version": "2.0.4",
771− "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
772− "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
773− "dev": true,
774− "requires": {
775− "anymatch": "^2.0.0",
776− "async-each": "^1.0.0",
777− "braces": "^2.3.0",
778− "fsevents": "^1.2.2",
779− "glob-parent": "^3.1.0",
780− "inherits": "^2.0.1",
781− "is-binary-path": "^1.0.0",
782− "is-glob": "^4.0.0",
783− "lodash.debounce": "^4.0.8",
784− "normalize-path": "^2.1.1",
785− "path-is-absolute": "^1.0.0",
786− "readdirp": "^2.0.0",
787− "upath": "^1.0.5"
788− }
789− },
790− "chownr": {
791− "version": "1.1.1",
792− "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz",
793− "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
794− "dev": true
795− },
796− "chrome-trace-event": {
797− "version": "1.0.0",
798− "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz",
799− "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==",
800− "dev": true,
801− "requires": {
802− "tslib": "^1.9.0"
803− }
804− },
805− "cipher-base": {
806− "version": "1.0.4",
807− "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
808− "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
809− "dev": true,
810− "requires": {
811− "inherits": "^2.0.1",
812− "safe-buffer": "^5.0.1"
813− }
814− },
815− "class-utils": {
816− "version": "0.3.6",
817− "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
818− "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
819− "dev": true,
820− "requires": {
821− "arr-union": "^3.1.0",
822− "define-property": "^0.2.5",
823− "isobject": "^3.0.0",
824− "static-extend": "^0.1.1"
825− },
826− "dependencies": {
827− "define-property": {
828− "version": "0.2.5",
829− "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
830− "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
831− "dev": true,
832− "requires": {
833− "is-descriptor": "^0.1.0"
834− }
835− }
836− }
837− },
838− "clean-css": {
839− "version": "4.1.11",
840− "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz",
841− "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=",
842− "dev": true,
843− "requires": {
844− "source-map": "0.5.x"
845− }
846− },
847− "cliui": {
848− "version": "4.1.0",
849− "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
850− "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
851− "dev": true,
852− "requires": {
853− "string-width": "^2.1.1",
854− "strip-ansi": "^4.0.0",
855− "wrap-ansi": "^2.0.0"
856− },
857− "dependencies": {
858− "ansi-regex": {
859− "version": "3.0.0",
860− "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
861− "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
862− "dev": true
863− },
864− "strip-ansi": {
865− "version": "4.0.0",
866− "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
867− "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
868− "dev": true,
869− "requires": {
870− "ansi-regex": "^3.0.0"
871− }
872− }
873− }
874− },
875− "code-point-at": {
876− "version": "1.1.0",
877− "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
878− "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
879− "dev": true
880− },
881− "collection-visit": {
882− "version": "1.0.0",
883− "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
884− "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
885− "dev": true,
886− "requires": {
887− "map-visit": "^1.0.0",
888− "object-visit": "^1.0.0"
889− }
890− },
891− "color-convert": {
892− "version": "1.9.2",
893− "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz",
894− "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==",
895− "dev": true,
896− "requires": {
897− "color-name": "1.1.1"
898− }
899− },
900− "color-name": {
901− "version": "1.1.1",
902− "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz",
903− "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=",
904− "dev": true
905− },
906− "command-exists": {
907− "version": "1.2.8",
908− "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.8.tgz",
909− "integrity": "sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==",
910− "dev": true
911− },
912− "commander": {
913− "version": "2.13.0",
914− "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
915− "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==",
916− "dev": true
917− },
918− "commondir": {
919− "version": "1.0.1",
920− "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
921− "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
922− "dev": true
923− },
924− "component-emitter": {
925− "version": "1.2.1",
926− "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
927− "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
928− "dev": true
929− },
930− "compressible": {
931− "version": "2.0.15",
932− "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.15.tgz",
933− "integrity": "sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==",
934− "dev": true,
935− "requires": {
936− "mime-db": ">= 1.36.0 < 2"
937− }
938− },
939− "compression": {
940− "version": "1.7.3",
941− "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz",
942− "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==",
943− "dev": true,
944− "requires": {
945− "accepts": "~1.3.5",
946− "bytes": "3.0.0",
947− "compressible": "~2.0.14",
948− "debug": "2.6.9",
949− "on-headers": "~1.0.1",
950− "safe-buffer": "5.1.2",
951− "vary": "~1.1.2"
952− },
953− "dependencies": {
954− "debug": {
955− "version": "2.6.9",
956− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
957− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
958− "dev": true,
959− "requires": {
960− "ms": "2.0.0"
961− }
962− }
963− }
964− },
965− "concat-map": {
966− "version": "0.0.1",
967− "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
968− "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
969− "dev": true
970− },
971− "concat-stream": {
972− "version": "1.6.2",
973− "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
974− "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
975− "dev": true,
976− "requires": {
977− "buffer-from": "^1.0.0",
978− "inherits": "^2.0.3",
979− "readable-stream": "^2.2.2",
980− "typedarray": "^0.0.6"
981− }
982− },
983− "connect-history-api-fallback": {
984− "version": "1.6.0",
985− "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
986− "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
987− "dev": true
988− },
989− "console-browserify": {
990− "version": "1.1.0",
991− "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
992− "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
993− "dev": true,
994− "requires": {
995− "date-now": "^0.1.4"
996− }
997− },
998− "constants-browserify": {
999− "version": "1.0.0",
1000− "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
1001− "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
1002− "dev": true
1003− },
1004− "content-disposition": {
1005− "version": "0.5.2",
1006− "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
1007− "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=",
1008− "dev": true
1009− },
1010− "content-type": {
1011− "version": "1.0.4",
1012− "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
1013− "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
1014− "dev": true
1015− },
1016− "cookie": {
1017− "version": "0.3.1",
1018− "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
1019− "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
1020− "dev": true
1021− },
1022− "cookie-signature": {
1023− "version": "1.0.6",
1024− "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
1025− "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
1026− "dev": true
1027− },
1028− "copy-concurrently": {
1029− "version": "1.0.5",
1030− "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
1031− "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
1032− "dev": true,
1033− "requires": {
1034− "aproba": "^1.1.1",
1035− "fs-write-stream-atomic": "^1.0.8",
1036− "iferr": "^0.1.5",
1037− "mkdirp": "^0.5.1",
1038− "rimraf": "^2.5.4",
1039− "run-queue": "^1.0.0"
1040− }
1041− },
1042− "copy-descriptor": {
1043− "version": "0.1.1",
1044− "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
1045− "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
1046− "dev": true
1047− },
1048− "core-util-is": {
1049− "version": "1.0.2",
1050− "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
1051− "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
1052− "dev": true
1053− },
1054− "create-ecdh": {
1055− "version": "4.0.3",
1056− "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
1057− "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
1058− "dev": true,
1059− "requires": {
1060− "bn.js": "^4.1.0",
1061− "elliptic": "^6.0.0"
1062− }
1063− },
1064− "create-hash": {
1065− "version": "1.2.0",
1066− "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
1067− "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
1068− "dev": true,
1069− "requires": {
1070− "cipher-base": "^1.0.1",
1071− "inherits": "^2.0.1",
1072− "md5.js": "^1.3.4",
1073− "ripemd160": "^2.0.1",
1074− "sha.js": "^2.4.0"
1075− }
1076− },
1077− "create-hmac": {
1078− "version": "1.1.7",
1079− "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
1080− "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
1081− "dev": true,
1082− "requires": {
1083− "cipher-base": "^1.0.3",
1084− "create-hash": "^1.1.0",
1085− "inherits": "^2.0.1",
1086− "ripemd160": "^2.0.0",
1087− "safe-buffer": "^5.0.1",
1088− "sha.js": "^2.4.8"
1089− }
1090− },
1091− "cross-spawn": {
1092− "version": "6.0.5",
1093− "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
1094− "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
1095− "dev": true,
1096− "requires": {
1097− "nice-try": "^1.0.4",
1098− "path-key": "^2.0.1",
1099− "semver": "^5.5.0",
1100− "shebang-command": "^1.2.0",
1101− "which": "^1.2.9"
1102− }
1103− },
1104− "crypto-browserify": {
1105− "version": "3.12.0",
1106− "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
1107− "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
1108− "dev": true,
1109− "requires": {
1110− "browserify-cipher": "^1.0.0",
1111− "browserify-sign": "^4.0.0",
1112− "create-ecdh": "^4.0.0",
1113− "create-hash": "^1.1.0",
1114− "create-hmac": "^1.1.0",
1115− "diffie-hellman": "^5.0.0",
1116− "inherits": "^2.0.1",
1117− "pbkdf2": "^3.0.3",
1118− "public-encrypt": "^4.0.0",
1119− "randombytes": "^2.0.0",
1120− "randomfill": "^1.0.3"
1121− }
1122− },
1123− "css-select": {
1124− "version": "1.2.0",
1125− "resolved": "http://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
1126− "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
1127− "dev": true,
1128− "requires": {
1129− "boolbase": "~1.0.0",
1130− "css-what": "2.1",
1131− "domutils": "1.5.1",
1132− "nth-check": "~1.0.1"
1133− }
1134− },
1135− "css-what": {
1136− "version": "2.1.0",
1137− "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz",
1138− "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=",
1139− "dev": true
1140− },
1141− "cyclist": {
1142− "version": "0.2.2",
1143− "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
1144− "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=",
1145− "dev": true
1146− },
1147− "date-now": {
1148− "version": "0.1.4",
1149− "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
1150− "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
1151− "dev": true
1152− },
1153− "debug": {
1154− "version": "3.2.6",
1155− "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
1156− "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
1157− "dev": true,
1158− "requires": {
1159− "ms": "^2.1.1"
1160− },
1161− "dependencies": {
1162− "ms": {
1163− "version": "2.1.1",
1164− "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
1165− "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
1166− "dev": true
1167− }
1168− }
1169− },
1170− "decamelize": {
1171− "version": "2.0.0",
1172− "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz",
1173− "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==",
1174− "dev": true,
1175− "requires": {
1176− "xregexp": "4.0.0"
1177− }
1178− },
1179− "decode-uri-component": {
1180− "version": "0.2.0",
1181− "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
1182− "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
1183− "dev": true
1184− },
1185− "deep-equal": {
1186− "version": "1.0.1",
1187− "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
1188− "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
1189− "dev": true
1190− },
1191− "default-gateway": {
1192− "version": "2.7.2",
1193− "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.2.tgz",
1194− "integrity": "sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ==",
1195− "dev": true,
1196− "requires": {
1197− "execa": "^0.10.0",
1198− "ip-regex": "^2.1.0"
1199− }
1200− },
1201− "define-properties": {
1202− "version": "1.1.2",
1203− "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
1204− "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
1205− "dev": true,
1206− "requires": {
1207− "foreach": "^2.0.5",
1208− "object-keys": "^1.0.8"
1209− }
1210− },
1211− "define-property": {
1212− "version": "2.0.2",
1213− "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
1214− "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
1215− "dev": true,
1216− "requires": {
1217− "is-descriptor": "^1.0.2",
1218− "isobject": "^3.0.1"
1219− },
1220− "dependencies": {
1221− "is-accessor-descriptor": {
1222− "version": "1.0.0",
1223− "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1224− "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1225− "dev": true,
1226− "requires": {
1227− "kind-of": "^6.0.0"
1228− }
1229− },
1230− "is-data-descriptor": {
1231− "version": "1.0.0",
1232− "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1233− "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1234− "dev": true,
1235− "requires": {
1236− "kind-of": "^6.0.0"
1237− }
1238− },
1239− "is-descriptor": {
1240− "version": "1.0.2",
1241− "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1242− "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1243− "dev": true,
1244− "requires": {
1245− "is-accessor-descriptor": "^1.0.0",
1246− "is-data-descriptor": "^1.0.0",
1247− "kind-of": "^6.0.2"
1248− }
1249− }
1250− }
1251− },
1252− "del": {
1253− "version": "3.0.0",
1254− "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz",
1255− "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=",
1256− "dev": true,
1257− "requires": {
1258− "globby": "^6.1.0",
1259− "is-path-cwd": "^1.0.0",
1260− "is-path-in-cwd": "^1.0.0",
1261− "p-map": "^1.1.1",
1262− "pify": "^3.0.0",
1263− "rimraf": "^2.2.8"
1264− }
1265− },
1266− "depd": {
1267− "version": "1.1.2",
1268− "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
1269− "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
1270− "dev": true
1271− },
1272− "des.js": {
1273− "version": "1.0.0",
1274− "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
1275− "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
1276− "dev": true,
1277− "requires": {
1278− "inherits": "^2.0.1",
1279− "minimalistic-assert": "^1.0.0"
1280− }
1281− },
1282− "destroy": {
1283− "version": "1.0.4",
1284− "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
1285− "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
1286− "dev": true
1287− },
1288− "detect-node": {
1289− "version": "2.0.4",
1290− "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
1291− "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
1292− "dev": true
1293− },
1294− "diffie-hellman": {
1295− "version": "5.0.3",
1296− "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
1297− "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
1298− "dev": true,
1299− "requires": {
1300− "bn.js": "^4.1.0",
1301− "miller-rabin": "^4.0.0",
1302− "randombytes": "^2.0.0"
1303− }
1304− },
1305− "dns-equal": {
1306− "version": "1.0.0",
1307− "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
1308− "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
1309− "dev": true
1310− },
1311− "dns-packet": {
1312− "version": "1.3.1",
1313− "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz",
1314− "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==",
1315− "dev": true,
1316− "requires": {
1317− "ip": "^1.1.0",
1318− "safe-buffer": "^5.0.1"
1319− }
1320− },
1321− "dns-txt": {
1322− "version": "2.0.2",
1323− "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
1324− "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
1325− "dev": true,
1326− "requires": {
1327− "buffer-indexof": "^1.0.0"
1328− }
1329− },
1330− "dom-converter": {
1331− "version": "0.1.4",
1332− "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz",
1333− "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=",
1334− "dev": true,
1335− "requires": {
1336− "utila": "~0.3"
1337− },
1338− "dependencies": {
1339− "utila": {
1340− "version": "0.3.3",
1341− "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz",
1342− "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=",
1343− "dev": true
1344− }
1345− }
1346− },
1347− "dom-serializer": {
1348− "version": "0.1.0",
1349− "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
1350− "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
1351− "dev": true,
1352− "requires": {
1353− "domelementtype": "~1.1.1",
1354− "entities": "~1.1.1"
1355− },
1356− "dependencies": {
1357− "domelementtype": {
1358− "version": "1.1.3",
1359− "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
1360− "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
1361− "dev": true
1362− }
1363− }
1364− },
1365− "domain-browser": {
1366− "version": "1.2.0",
1367− "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
1368− "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
1369− "dev": true
1370− },
1371− "domelementtype": {
1372− "version": "1.3.0",
1373− "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
1374− "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=",
1375− "dev": true
1376− },
1377− "domhandler": {
1378− "version": "2.1.0",
1379− "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz",
1380− "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=",
1381− "dev": true,
1382− "requires": {
1383− "domelementtype": "1"
1384− }
1385− },
1386− "domutils": {
1387− "version": "1.5.1",
1388− "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
1389− "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
1390− "dev": true,
1391− "requires": {
1392− "dom-serializer": "0",
1393− "domelementtype": "1"
1394− }
1395− },
1396− "duplexify": {
1397− "version": "3.6.1",
1398− "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz",
1399− "integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==",
1400− "dev": true,
1401− "requires": {
1402− "end-of-stream": "^1.0.0",
1403− "inherits": "^2.0.1",
1404− "readable-stream": "^2.0.0",
1405− "stream-shift": "^1.0.0"
1406− }
1407− },
1408− "ee-first": {
1409− "version": "1.1.1",
1410− "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
1411− "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
1412− "dev": true
1413− },
1414− "elliptic": {
1415− "version": "6.4.1",
1416− "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz",
1417− "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==",
1418− "dev": true,
1419− "requires": {
1420− "bn.js": "^4.4.0",
1421− "brorand": "^1.0.1",
1422− "hash.js": "^1.0.0",
1423− "hmac-drbg": "^1.0.0",
1424− "inherits": "^2.0.1",
1425− "minimalistic-assert": "^1.0.0",
1426− "minimalistic-crypto-utils": "^1.0.0"
1427− }
1428− },
1429− "emojis-list": {
1430− "version": "2.1.0",
1431− "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
1432− "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
1433− "dev": true
1434− },
1435− "encodeurl": {
1436− "version": "1.0.2",
1437− "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
1438− "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
1439− "dev": true
1440− },
1441− "end-of-stream": {
1442− "version": "1.4.1",
1443− "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
1444− "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
1445− "dev": true,
1446− "requires": {
1447− "once": "^1.4.0"
1448− }
1449− },
1450− "enhanced-resolve": {
1451− "version": "4.1.0",
1452− "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz",
1453− "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==",
1454− "dev": true,
1455− "requires": {
1456− "graceful-fs": "^4.1.2",
1457− "memory-fs": "^0.4.0",
1458− "tapable": "^1.0.0"
1459− }
1460− },
1461− "entities": {
1462− "version": "1.1.1",
1463− "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
1464− "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=",
1465− "dev": true
1466− },
1467− "errno": {
1468− "version": "0.1.7",
1469− "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
1470− "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
1471− "dev": true,
1472− "requires": {
1473− "prr": "~1.0.1"
1474− }
1475− },
1476− "es-abstract": {
1477− "version": "1.12.0",
1478− "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
1479− "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==",
1480− "dev": true,
1481− "requires": {
1482− "es-to-primitive": "^1.1.1",
1483− "function-bind": "^1.1.1",
1484− "has": "^1.0.1",
1485− "is-callable": "^1.1.3",
1486− "is-regex": "^1.0.4"
1487− }
1488− },
1489− "es-to-primitive": {
1490− "version": "1.1.1",
1491− "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
1492− "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
1493− "dev": true,
1494− "requires": {
1495− "is-callable": "^1.1.1",
1496− "is-date-object": "^1.0.1",
1497− "is-symbol": "^1.0.1"
1498− }
1499− },
1500− "escape-html": {
1501− "version": "1.0.3",
1502− "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
1503− "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
1504− "dev": true
1505− },
1506− "escape-string-regexp": {
1507− "version": "1.0.5",
1508− "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1509− "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
1510− "dev": true
1511− },
1512− "eslint-scope": {
1513− "version": "4.0.0",
1514− "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz",
1515− "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==",
1516− "dev": true,
1517− "requires": {
1518− "esrecurse": "^4.1.0",
1519− "estraverse": "^4.1.1"
1520− }
1521− },
1522− "esrecurse": {
1523− "version": "4.2.1",
1524− "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
1525− "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
1526− "dev": true,
1527− "requires": {
1528− "estraverse": "^4.1.0"
1529− }
1530− },
1531− "estraverse": {
1532− "version": "4.2.0",
1533− "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
1534− "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
1535− "dev": true
1536− },
1537− "etag": {
1538− "version": "1.8.1",
1539− "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
1540− "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
1541− "dev": true
1542− },
1543− "eventemitter3": {
1544− "version": "3.1.0",
1545− "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
1546− "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==",
1547− "dev": true
1548− },
1549− "events": {
1550− "version": "1.1.1",
1551− "resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz",
1552− "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
1553− "dev": true
1554− },
1555− "eventsource": {
1556− "version": "1.0.7",
1557− "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz",
1558− "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==",
1559− "dev": true,
1560− "requires": {
1561− "original": "^1.0.0"
1562− }
1563− },
1564− "evp_bytestokey": {
1565− "version": "1.0.3",
1566− "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
1567− "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
1568− "dev": true,
1569− "requires": {
1570− "md5.js": "^1.3.4",
1571− "safe-buffer": "^5.1.1"
1572− }
1573− },
1574− "execa": {
1575− "version": "0.10.0",
1576− "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz",
1577− "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==",
1578− "dev": true,
1579− "requires": {
1580− "cross-spawn": "^6.0.0",
1581− "get-stream": "^3.0.0",
1582− "is-stream": "^1.1.0",
1583− "npm-run-path": "^2.0.0",
1584− "p-finally": "^1.0.0",
1585− "signal-exit": "^3.0.0",
1586− "strip-eof": "^1.0.0"
1587− }
1588− },
1589− "expand-brackets": {
1590− "version": "2.1.4",
1591− "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
1592− "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
1593− "dev": true,
1594− "requires": {
1595− "debug": "^2.3.3",
1596− "define-property": "^0.2.5",
1597− "extend-shallow": "^2.0.1",
1598− "posix-character-classes": "^0.1.0",
1599− "regex-not": "^1.0.0",
1600− "snapdragon": "^0.8.1",
1601− "to-regex": "^3.0.1"
1602− },
1603− "dependencies": {
1604− "debug": {
1605− "version": "2.6.9",
1606− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1607− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1608− "dev": true,
1609− "requires": {
1610− "ms": "2.0.0"
1611− }
1612− },
1613− "define-property": {
1614− "version": "0.2.5",
1615− "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1616− "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1617− "dev": true,
1618− "requires": {
1619− "is-descriptor": "^0.1.0"
1620− }
1621− },
1622− "extend-shallow": {
1623− "version": "2.0.1",
1624− "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1625− "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1626− "dev": true,
1627− "requires": {
1628− "is-extendable": "^0.1.0"
1629− }
1630− }
1631− }
1632− },
1633− "express": {
1634− "version": "4.16.4",
1635− "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz",
1636− "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==",
1637− "dev": true,
1638− "requires": {
1639− "accepts": "~1.3.5",
1640− "array-flatten": "1.1.1",
1641− "body-parser": "1.18.3",
1642− "content-disposition": "0.5.2",
1643− "content-type": "~1.0.4",
1644− "cookie": "0.3.1",
1645− "cookie-signature": "1.0.6",
1646− "debug": "2.6.9",
1647− "depd": "~1.1.2",
1648− "encodeurl": "~1.0.2",
1649− "escape-html": "~1.0.3",
1650− "etag": "~1.8.1",
1651− "finalhandler": "1.1.1",
1652− "fresh": "0.5.2",
1653− "merge-descriptors": "1.0.1",
1654− "methods": "~1.1.2",
1655− "on-finished": "~2.3.0",
1656− "parseurl": "~1.3.2",
1657− "path-to-regexp": "0.1.7",
1658− "proxy-addr": "~2.0.4",
1659− "qs": "6.5.2",
1660− "range-parser": "~1.2.0",
1661− "safe-buffer": "5.1.2",
1662− "send": "0.16.2",
1663− "serve-static": "1.13.2",
1664− "setprototypeof": "1.1.0",
1665− "statuses": "~1.4.0",
1666− "type-is": "~1.6.16",
1667− "utils-merge": "1.0.1",
1668− "vary": "~1.1.2"
1669− },
1670− "dependencies": {
1671− "array-flatten": {
1672− "version": "1.1.1",
1673− "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
1674− "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
1675− "dev": true
1676− },
1677− "debug": {
1678− "version": "2.6.9",
1679− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1680− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1681− "dev": true,
1682− "requires": {
1683− "ms": "2.0.0"
1684− }
1685− }
1686− }
1687− },
1688− "extend-shallow": {
1689− "version": "3.0.2",
1690− "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
1691− "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
1692− "dev": true,
1693− "requires": {
1694− "assign-symbols": "^1.0.0",
1695− "is-extendable": "^1.0.1"
1696− },
1697− "dependencies": {
1698− "is-extendable": {
1699− "version": "1.0.1",
1700− "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
1701− "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1702− "dev": true,
1703− "requires": {
1704− "is-plain-object": "^2.0.4"
1705− }
1706− }
1707− }
1708− },
1709− "extglob": {
1710− "version": "2.0.4",
1711− "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
1712− "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
1713− "dev": true,
1714− "requires": {
1715− "array-unique": "^0.3.2",
1716− "define-property": "^1.0.0",
1717− "expand-brackets": "^2.1.4",
1718− "extend-shallow": "^2.0.1",
1719− "fragment-cache": "^0.2.1",
1720− "regex-not": "^1.0.0",
1721− "snapdragon": "^0.8.1",
1722− "to-regex": "^3.0.1"
1723− },
1724− "dependencies": {
1725− "define-property": {
1726− "version": "1.0.0",
1727− "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
1728− "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
1729− "dev": true,
1730− "requires": {
1731− "is-descriptor": "^1.0.0"
1732− }
1733− },
1734− "extend-shallow": {
1735− "version": "2.0.1",
1736− "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1737− "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1738− "dev": true,
1739− "requires": {
1740− "is-extendable": "^0.1.0"
1741− }
1742− },
1743− "is-accessor-descriptor": {
1744− "version": "1.0.0",
1745− "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1746− "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1747− "dev": true,
1748− "requires": {
1749− "kind-of": "^6.0.0"
1750− }
1751− },
1752− "is-data-descriptor": {
1753− "version": "1.0.0",
1754− "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1755− "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1756− "dev": true,
1757− "requires": {
1758− "kind-of": "^6.0.0"
1759− }
1760− },
1761− "is-descriptor": {
1762− "version": "1.0.2",
1763− "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1764− "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1765− "dev": true,
1766− "requires": {
1767− "is-accessor-descriptor": "^1.0.0",
1768− "is-data-descriptor": "^1.0.0",
1769− "kind-of": "^6.0.2"
1770− }
1771− }
1772− }
1773− },
1774− "fast-deep-equal": {
1775− "version": "2.0.1",
1776− "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
1777− "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
1778− "dev": true
1779− },
1780− "fast-json-stable-stringify": {
1781− "version": "2.0.0",
1782− "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
1783− "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
1784− "dev": true
1785− },
1786− "faye-websocket": {
1787− "version": "0.10.0",
1788− "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
1789− "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
1790− "dev": true,
1791− "requires": {
1792− "websocket-driver": ">=0.5.1"
1793− }
1794− },
1795− "fill-range": {
1796− "version": "4.0.0",
1797− "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
1798− "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
1799− "dev": true,
1800− "requires": {
1801− "extend-shallow": "^2.0.1",
1802− "is-number": "^3.0.0",
1803− "repeat-string": "^1.6.1",
1804− "to-regex-range": "^2.1.0"
1805− },
1806− "dependencies": {
1807− "extend-shallow": {
1808− "version": "2.0.1",
1809− "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1810− "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1811− "dev": true,
1812− "requires": {
1813− "is-extendable": "^0.1.0"
1814− }
1815− }
1816− }
1817− },
1818− "finalhandler": {
1819− "version": "1.1.1",
1820− "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
1821− "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
1822− "dev": true,
1823− "requires": {
1824− "debug": "2.6.9",
1825− "encodeurl": "~1.0.2",
1826− "escape-html": "~1.0.3",
1827− "on-finished": "~2.3.0",
1828− "parseurl": "~1.3.2",
1829− "statuses": "~1.4.0",
1830− "unpipe": "~1.0.0"
1831− },
1832− "dependencies": {
1833− "debug": {
1834− "version": "2.6.9",
1835− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1836− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1837− "dev": true,
1838− "requires": {
1839− "ms": "2.0.0"
1840− }
1841− }
1842− }
1843− },
1844− "find-cache-dir": {
1845− "version": "1.0.0",
1846− "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
1847− "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
1848− "dev": true,
1849− "requires": {
1850− "commondir": "^1.0.1",
1851− "make-dir": "^1.0.0",
1852− "pkg-dir": "^2.0.0"
1853− }
1854− },
1855− "find-up": {
1856− "version": "2.1.0",
1857− "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
1858− "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
1859− "dev": true,
1860− "requires": {
1861− "locate-path": "^2.0.0"
1862− }
1863− },
1864− "flush-write-stream": {
1865− "version": "1.0.3",
1866− "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz",
1867− "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
1868− "dev": true,
1869− "requires": {
1870− "inherits": "^2.0.1",
1871− "readable-stream": "^2.0.4"
1872− }
1873− },
1874− "follow-redirects": {
1875− "version": "1.6.1",
1876− "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.6.1.tgz",
1877− "integrity": "sha512-t2JCjbzxQpWvbhts3l6SH1DKzSrx8a+SsaVf4h6bG4kOXUuPYS/kg2Lr4gQSb7eemaHqJkOThF1BGyjlUkO1GQ==",
1878− "dev": true,
1879− "requires": {
1880− "debug": "=3.1.0"
1881− },
1882− "dependencies": {
1883− "debug": {
1884− "version": "3.1.0",
1885− "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
1886− "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
1887− "dev": true,
1888− "requires": {
1889− "ms": "2.0.0"
1890− }
1891− }
1892− }
1893− },
1894− "for-in": {
1895− "version": "1.0.2",
1896− "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
1897− "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
1898− "dev": true
1899− },
1900− "foreach": {
1901− "version": "2.0.5",
1902− "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
1903− "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
1904− "dev": true
1905− },
1906− "forwarded": {
1907− "version": "0.1.2",
1908− "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
1909− "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
1910− "dev": true
1911− },
1912− "fragment-cache": {
1913− "version": "0.2.1",
1914− "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
1915− "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
1916− "dev": true,
1917− "requires": {
1918− "map-cache": "^0.2.2"
1919− }
1920− },
1921− "fresh": {
1922− "version": "0.5.2",
1923− "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
1924− "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
1925− "dev": true
1926− },
1927− "from2": {
1928− "version": "2.3.0",
1929− "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
1930− "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
1931− "dev": true,
1932− "requires": {
1933− "inherits": "^2.0.1",
1934− "readable-stream": "^2.0.0"
1935− }
1936− },
1937− "fs-write-stream-atomic": {
1938− "version": "1.0.10",
1939− "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
1940− "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
1941− "dev": true,
1942− "requires": {
1943− "graceful-fs": "^4.1.2",
1944− "iferr": "^0.1.5",
1945− "imurmurhash": "^0.1.4",
1946− "readable-stream": "1 || 2"
1947− }
1948− },
1949− "fs.realpath": {
1950− "version": "1.0.0",
1951− "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1952− "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
1953− "dev": true
1954− },
1955− "fsevents": {
1956− "version": "1.2.4",
1957− "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",
1958− "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",
1959− "dev": true,
1960− "optional": true,
1961− "requires": {
1962− "nan": "^2.9.2",
1963− "node-pre-gyp": "^0.10.0"
1964− },
1965− "dependencies": {
1966− "abbrev": {
1967− "version": "1.1.1",
1968− "bundled": true,
1969− "dev": true,
1970− "optional": true
1971− },
1972− "ansi-regex": {
1973− "version": "2.1.1",
1974− "bundled": true,
1975− "dev": true
1976− },
1977− "aproba": {
1978− "version": "1.2.0",
1979− "bundled": true,
1980− "dev": true,
1981− "optional": true
1982− },
1983− "are-we-there-yet": {
1984− "version": "1.1.4",
1985− "bundled": true,
1986− "dev": true,
1987− "optional": true,
1988− "requires": {
1989− "delegates": "^1.0.0",
1990− "readable-stream": "^2.0.6"
1991− }
1992− },
1993− "balanced-match": {
1994− "version": "1.0.0",
1995− "bundled": true,
1996− "dev": true
1997− },
1998− "brace-expansion": {
1999− "version": "1.1.11",
2000− "bundled": true,
2001− "dev": true,
2002− "requires": {
2003− "balanced-match": "^1.0.0",
2004− "concat-map": "0.0.1"
2005− }
2006− },
2007− "chownr": {
2008− "version": "1.0.1",
2009− "bundled": true,
2010− "dev": true,
2011− "optional": true
2012− },
2013− "code-point-at": {
2014− "version": "1.1.0",
2015− "bundled": true,
2016− "dev": true
2017− },
2018− "concat-map": {
2019− "version": "0.0.1",
2020− "bundled": true,
2021− "dev": true
2022− },
2023− "console-control-strings": {
2024− "version": "1.1.0",
2025− "bundled": true,
2026− "dev": true
2027− },
2028− "core-util-is": {
2029− "version": "1.0.2",
2030− "bundled": true,
2031− "dev": true,
2032− "optional": true
2033− },
2034− "debug": {
2035− "version": "2.6.9",
2036− "bundled": true,
2037− "dev": true,
2038− "optional": true,
2039− "requires": {
2040− "ms": "2.0.0"
2041− }
2042− },
2043− "deep-extend": {
2044− "version": "0.5.1",
2045− "bundled": true,
2046− "dev": true,
2047− "optional": true
2048− },
2049− "delegates": {
2050− "version": "1.0.0",
2051− "bundled": true,
2052− "dev": true,
2053− "optional": true
2054− },
2055− "detect-libc": {
2056− "version": "1.0.3",
2057− "bundled": true,
2058− "dev": true,
2059− "optional": true
2060− },
2061− "fs-minipass": {
2062− "version": "1.2.5",
2063− "bundled": true,
2064− "dev": true,
2065− "optional": true,
2066− "requires": {
2067− "minipass": "^2.2.1"
2068− }
2069− },
2070− "fs.realpath": {
2071− "version": "1.0.0",
2072− "bundled": true,
2073− "dev": true,
2074− "optional": true
2075− },
2076− "gauge": {
2077− "version": "2.7.4",
2078− "bundled": true,
2079− "dev": true,
2080− "optional": true,
2081− "requires": {
2082− "aproba": "^1.0.3",
2083− "console-control-strings": "^1.0.0",
2084− "has-unicode": "^2.0.0",
2085− "object-assign": "^4.1.0",
2086− "signal-exit": "^3.0.0",
2087− "string-width": "^1.0.1",
2088− "strip-ansi": "^3.0.1",
2089− "wide-align": "^1.1.0"
2090− }
2091− },
2092− "glob": {
2093− "version": "7.1.2",
2094− "bundled": true,
2095− "dev": true,
2096− "optional": true,
2097− "requires": {
2098− "fs.realpath": "^1.0.0",
2099− "inflight": "^1.0.4",
2100− "inherits": "2",
2101− "minimatch": "^3.0.4",
2102− "once": "^1.3.0",
2103− "path-is-absolute": "^1.0.0"
2104− }
2105− },
2106− "has-unicode": {
2107− "version": "2.0.1",
2108− "bundled": true,
2109− "dev": true,
2110− "optional": true
2111− },
2112− "iconv-lite": {
2113− "version": "0.4.21",
2114− "bundled": true,
2115− "dev": true,
2116− "optional": true,
2117− "requires": {
2118− "safer-buffer": "^2.1.0"
2119− }
2120− },
2121− "ignore-walk": {
2122− "version": "3.0.1",
2123− "bundled": true,
2124− "dev": true,
2125− "optional": true,
2126− "requires": {
2127− "minimatch": "^3.0.4"
2128− }
2129− },
2130− "inflight": {
2131− "version": "1.0.6",
2132− "bundled": true,
2133− "dev": true,
2134− "optional": true,
2135− "requires": {
2136− "once": "^1.3.0",
2137− "wrappy": "1"
2138− }
2139− },
2140− "inherits": {
2141− "version": "2.0.3",
2142− "bundled": true,
2143− "dev": true
2144− },
2145− "ini": {
2146− "version": "1.3.5",
2147− "bundled": true,
2148− "dev": true,
2149− "optional": true
2150− },
2151− "is-fullwidth-code-point": {
2152− "version": "1.0.0",
2153− "bundled": true,
2154− "dev": true,
2155− "requires": {
2156− "number-is-nan": "^1.0.0"
2157− }
2158− },
2159− "isarray": {
2160− "version": "1.0.0",
2161− "bundled": true,
2162− "dev": true,
2163− "optional": true
2164− },
2165− "minimatch": {
2166− "version": "3.0.4",
2167− "bundled": true,
2168− "dev": true,
2169− "requires": {
2170− "brace-expansion": "^1.1.7"
2171− }
2172− },
2173− "minimist": {
2174− "version": "0.0.8",
2175− "bundled": true,
2176− "dev": true
2177− },
2178− "minipass": {
2179− "version": "2.2.4",
2180− "bundled": true,
2181− "dev": true,
2182− "requires": {
2183− "safe-buffer": "^5.1.1",
2184− "yallist": "^3.0.0"
2185− }
2186− },
2187− "minizlib": {
2188− "version": "1.1.0",
2189− "bundled": true,
2190− "dev": true,
2191− "optional": true,
2192− "requires": {
2193− "minipass": "^2.2.1"
2194− }
2195− },
2196− "mkdirp": {
2197− "version": "0.5.1",
2198− "bundled": true,
2199− "dev": true,
2200− "requires": {
2201− "minimist": "0.0.8"
2202− }
2203− },
2204− "ms": {
2205− "version": "2.0.0",
2206− "bundled": true,
2207− "dev": true,
2208− "optional": true
2209− },
2210− "needle": {
2211− "version": "2.2.0",
2212− "bundled": true,
2213− "dev": true,
2214− "optional": true,
2215− "requires": {
2216− "debug": "^2.1.2",
2217− "iconv-lite": "^0.4.4",
2218− "sax": "^1.2.4"
2219− }
2220− },
2221− "node-pre-gyp": {
2222− "version": "0.10.0",
2223− "bundled": true,
2224− "dev": true,
2225− "optional": true,
2226− "requires": {
2227− "detect-libc": "^1.0.2",
2228− "mkdirp": "^0.5.1",
2229− "needle": "^2.2.0",
2230− "nopt": "^4.0.1",
2231− "npm-packlist": "^1.1.6",
2232− "npmlog": "^4.0.2",
2233− "rc": "^1.1.7",
2234− "rimraf": "^2.6.1",
2235− "semver": "^5.3.0",
2236− "tar": "^4"
2237− }
2238− },
2239− "nopt": {
2240− "version": "4.0.1",
2241− "bundled": true,
2242− "dev": true,
2243− "optional": true,
2244− "requires": {
2245− "abbrev": "1",
2246− "osenv": "^0.1.4"
2247− }
2248− },
2249− "npm-bundled": {
2250− "version": "1.0.3",
2251− "bundled": true,
2252− "dev": true,
2253− "optional": true
2254− },
2255− "npm-packlist": {
2256− "version": "1.1.10",
2257− "bundled": true,
2258− "dev": true,
2259− "optional": true,
2260− "requires": {
2261− "ignore-walk": "^3.0.1",
2262− "npm-bundled": "^1.0.1"
2263− }
2264− },
2265− "npmlog": {
2266− "version": "4.1.2",
2267− "bundled": true,
2268− "dev": true,
2269− "optional": true,
2270− "requires": {
2271− "are-we-there-yet": "~1.1.2",
2272− "console-control-strings": "~1.1.0",
2273− "gauge": "~2.7.3",
2274− "set-blocking": "~2.0.0"
2275− }
2276− },
2277− "number-is-nan": {
2278− "version": "1.0.1",
2279− "bundled": true,
2280− "dev": true
2281− },
2282− "object-assign": {
2283− "version": "4.1.1",
2284− "bundled": true,
2285− "dev": true,
2286− "optional": true
2287− },
2288− "once": {
2289− "version": "1.4.0",
2290− "bundled": true,
2291− "dev": true,
2292− "requires": {
2293− "wrappy": "1"
2294− }
2295− },
2296− "os-homedir": {
2297− "version": "1.0.2",
2298− "bundled": true,
2299− "dev": true,
2300− "optional": true
2301− },
2302− "os-tmpdir": {
2303− "version": "1.0.2",
2304− "bundled": true,
2305− "dev": true,
2306− "optional": true
2307− },
2308− "osenv": {
2309− "version": "0.1.5",
2310− "bundled": true,
2311− "dev": true,
2312− "optional": true,
2313− "requires": {
2314− "os-homedir": "^1.0.0",
2315− "os-tmpdir": "^1.0.0"
2316− }
2317− },
2318− "path-is-absolute": {
2319− "version": "1.0.1",
2320− "bundled": true,
2321− "dev": true,
2322− "optional": true
2323− },
2324− "process-nextick-args": {
2325− "version": "2.0.0",
2326− "bundled": true,
2327− "dev": true,
2328− "optional": true
2329− },
2330− "rc": {
2331− "version": "1.2.7",
2332− "bundled": true,
2333− "dev": true,
2334− "optional": true,
2335− "requires": {
2336− "deep-extend": "^0.5.1",
2337− "ini": "~1.3.0",
2338− "minimist": "^1.2.0",
2339− "strip-json-comments": "~2.0.1"
2340− },
2341− "dependencies": {
2342− "minimist": {
2343− "version": "1.2.0",
2344− "bundled": true,
2345− "dev": true,
2346− "optional": true
2347− }
2348− }
2349− },
2350− "readable-stream": {
2351− "version": "2.3.6",
2352− "bundled": true,
2353− "dev": true,
2354− "optional": true,
2355− "requires": {
2356− "core-util-is": "~1.0.0",
2357− "inherits": "~2.0.3",
2358− "isarray": "~1.0.0",
2359− "process-nextick-args": "~2.0.0",
2360− "safe-buffer": "~5.1.1",
2361− "string_decoder": "~1.1.1",
2362− "util-deprecate": "~1.0.1"
2363− }
2364− },
2365− "rimraf": {
2366− "version": "2.6.2",
2367− "bundled": true,
2368− "dev": true,
2369− "optional": true,
2370− "requires": {
2371− "glob": "^7.0.5"
2372− }
2373− },
2374− "safe-buffer": {
2375− "version": "5.1.1",
2376− "bundled": true,
2377− "dev": true
2378− },
2379− "safer-buffer": {
2380− "version": "2.1.2",
2381− "bundled": true,
2382− "dev": true,
2383− "optional": true
2384− },
2385− "sax": {
2386− "version": "1.2.4",
2387− "bundled": true,
2388− "dev": true,
2389− "optional": true
2390− },
2391− "semver": {
2392− "version": "5.5.0",
2393− "bundled": true,
2394− "dev": true,
2395− "optional": true
2396− },
2397− "set-blocking": {
2398− "version": "2.0.0",
2399− "bundled": true,
2400− "dev": true,
2401− "optional": true
2402− },
2403− "signal-exit": {
2404− "version": "3.0.2",
2405− "bundled": true,
2406− "dev": true,
2407− "optional": true
2408− },
2409− "string-width": {
2410− "version": "1.0.2",
2411− "bundled": true,
2412− "dev": true,
2413− "requires": {
2414− "code-point-at": "^1.0.0",
2415− "is-fullwidth-code-point": "^1.0.0",
2416− "strip-ansi": "^3.0.0"
2417− }
2418− },
2419− "string_decoder": {
2420− "version": "1.1.1",
2421− "bundled": true,
2422− "dev": true,
2423− "optional": true,
2424− "requires": {
2425− "safe-buffer": "~5.1.0"
2426− }
2427− },
2428− "strip-ansi": {
2429− "version": "3.0.1",
2430− "bundled": true,
2431− "dev": true,
2432− "requires": {
2433− "ansi-regex": "^2.0.0"
2434− }
2435− },
2436− "strip-json-comments": {
2437− "version": "2.0.1",
2438− "bundled": true,
2439− "dev": true,
2440− "optional": true
2441− },
2442− "tar": {
2443− "version": "4.4.1",
2444− "bundled": true,
2445− "dev": true,
2446− "optional": true,
2447− "requires": {
2448− "chownr": "^1.0.1",
2449− "fs-minipass": "^1.2.5",
2450− "minipass": "^2.2.4",
2451− "minizlib": "^1.1.0",
2452− "mkdirp": "^0.5.0",
2453− "safe-buffer": "^5.1.1",
2454− "yallist": "^3.0.2"
2455− }
2456− },
2457− "util-deprecate": {
2458− "version": "1.0.2",
2459− "bundled": true,
2460− "dev": true,
2461− "optional": true
2462− },
2463− "wide-align": {
2464− "version": "1.1.2",
2465− "bundled": true,
2466− "dev": true,
2467− "optional": true,
2468− "requires": {
2469− "string-width": "^1.0.2"
2470− }
2471− },
2472− "wrappy": {
2473− "version": "1.0.2",
2474− "bundled": true,
2475− "dev": true
2476− },
2477− "yallist": {
2478− "version": "3.0.2",
2479− "bundled": true,
2480− "dev": true
2481− }
2482− }
2483− },
2484− "function-bind": {
2485− "version": "1.1.1",
2486− "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
2487− "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
2488− "dev": true
2489− },
2490− "get-caller-file": {
2491− "version": "1.0.3",
2492− "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
2493− "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
2494− "dev": true
2495− },
2496− "get-stream": {
2497− "version": "3.0.0",
2498− "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
2499− "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
2500− "dev": true
2501− },
2502− "get-value": {
2503− "version": "2.0.6",
2504− "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
2505− "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
2506− "dev": true
2507− },
2508− "glob": {
2509− "version": "7.1.2",
2510− "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
2511− "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
2512− "dev": true,
2513− "requires": {
2514− "fs.realpath": "^1.0.0",
2515− "inflight": "^1.0.4",
2516− "inherits": "2",
2517− "minimatch": "^3.0.4",
2518− "once": "^1.3.0",
2519− "path-is-absolute": "^1.0.0"
2520− }
2521− },
2522− "glob-parent": {
2523− "version": "3.1.0",
2524− "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
2525− "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
2526− "dev": true,
2527− "requires": {
2528− "is-glob": "^3.1.0",
2529− "path-dirname": "^1.0.0"
2530− },
2531− "dependencies": {
2532− "is-glob": {
2533− "version": "3.1.0",
2534− "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
2535− "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
2536− "dev": true,
2537− "requires": {
2538− "is-extglob": "^2.1.0"
2539− }
2540− }
2541− }
2542− },
2543− "global-modules-path": {
2544− "version": "2.3.0",
2545− "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.0.tgz",
2546− "integrity": "sha512-HchvMJNYh9dGSCy8pOQ2O8u/hoXaL+0XhnrwH0RyLiSXMMTl9W3N6KUU73+JFOg5PGjtzl6VZzUQsnrpm7Szag==",
2547− "dev": true
2548− },
2549− "globby": {
2550− "version": "6.1.0",
2551− "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
2552− "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
2553− "dev": true,
2554− "requires": {
2555− "array-union": "^1.0.1",
2556− "glob": "^7.0.3",
2557− "object-assign": "^4.0.1",
2558− "pify": "^2.0.0",
2559− "pinkie-promise": "^2.0.0"
2560− },
2561− "dependencies": {
2562− "pify": {
2563− "version": "2.3.0",
2564− "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
2565− "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
2566− "dev": true
2567− }
2568− }
2569− },
2570− "graceful-fs": {
2571− "version": "4.1.11",
2572− "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
2573− "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
2574− "dev": true
2575− },
2576− "handle-thing": {
2577− "version": "2.0.0",
2578− "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz",
2579− "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==",
2580− "dev": true
2581− },
2582− "has": {
2583− "version": "1.0.3",
2584− "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
2585− "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
2586− "dev": true,
2587− "requires": {
2588− "function-bind": "^1.1.1"
2589− }
2590− },
2591− "has-flag": {
2592− "version": "3.0.0",
2593− "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
2594− "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
2595− "dev": true
2596− },
2597− "has-value": {
2598− "version": "1.0.0",
2599− "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
2600− "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
2601− "dev": true,
2602− "requires": {
2603− "get-value": "^2.0.6",
2604− "has-values": "^1.0.0",
2605− "isobject": "^3.0.0"
2606− }
2607− },
2608− "has-values": {
2609− "version": "1.0.0",
2610− "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
2611− "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
2612− "dev": true,
2613− "requires": {
2614− "is-number": "^3.0.0",
2615− "kind-of": "^4.0.0"
2616− },
2617− "dependencies": {
2618− "kind-of": {
2619− "version": "4.0.0",
2620− "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
2621− "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
2622− "dev": true,
2623− "requires": {
2624− "is-buffer": "^1.1.5"
2625− }
2626− }
2627− }
2628− },
2629− "hash-base": {
2630− "version": "3.0.4",
2631− "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
2632− "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
2633− "dev": true,
2634− "requires": {
2635− "inherits": "^2.0.1",
2636− "safe-buffer": "^5.0.1"
2637− }
2638− },
2639− "hash.js": {
2640− "version": "1.1.5",
2641− "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz",
2642− "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==",
2643− "dev": true,
2644− "requires": {
2645− "inherits": "^2.0.3",
2646− "minimalistic-assert": "^1.0.1"
2647− }
2648− },
2649− "he": {
2650− "version": "1.1.1",
2651− "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
2652− "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=",
2653− "dev": true
2654− },
2655− "hmac-drbg": {
2656− "version": "1.0.1",
2657− "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
2658− "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
2659− "dev": true,
2660− "requires": {
2661− "hash.js": "^1.0.3",
2662− "minimalistic-assert": "^1.0.0",
2663− "minimalistic-crypto-utils": "^1.0.1"
2664− }
2665− },
2666− "hpack.js": {
2667− "version": "2.1.6",
2668− "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
2669− "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
2670− "dev": true,
2671− "requires": {
2672− "inherits": "^2.0.1",
2673− "obuf": "^1.0.0",
2674− "readable-stream": "^2.0.1",
2675− "wbuf": "^1.1.0"
2676− }
2677− },
2678− "html-entities": {
2679− "version": "1.2.1",
2680− "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz",
2681− "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=",
2682− "dev": true
2683− },
2684− "html-minifier": {
2685− "version": "3.5.19",
2686− "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.19.tgz",
2687− "integrity": "sha512-Qr2JC9nsjK8oCrEmuB430ZIA8YWbF3D5LSjywD75FTuXmeqacwHgIM8wp3vHYzzPbklSjp53RdmDuzR4ub2HzA==",
2688− "dev": true,
2689− "requires": {
2690− "camel-case": "3.0.x",
2691− "clean-css": "4.1.x",
2692− "commander": "2.16.x",
2693− "he": "1.1.x",
2694− "param-case": "2.1.x",
2695− "relateurl": "0.2.x",
2696− "uglify-js": "3.4.x"
2697− },
2698− "dependencies": {
2699− "commander": {
2700− "version": "2.16.0",
2701− "resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz",
2702− "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==",
2703− "dev": true
2704− },
2705− "source-map": {
2706− "version": "0.6.1",
2707− "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2708− "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
2709− "dev": true
2710− },
2711− "uglify-js": {
2712− "version": "3.4.7",
2713− "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.7.tgz",
2714− "integrity": "sha512-J0M2i1mQA+ze3EdN9SBi751DNdAXmeFLfJrd/MDIkRc3G3Gbb9OPVSx7GIQvVwfWxQARcYV2DTxIkMyDAk3o9Q==",
2715− "dev": true,
2716− "requires": {
2717− "commander": "~2.16.0",
2718− "source-map": "~0.6.1"
2719− }
2720− }
2721− }
2722− },
2723− "html-webpack-plugin": {
2724− "version": "3.2.0",
2725− "resolved": "http://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz",
2726− "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=",
2727− "dev": true,
2728− "requires": {
2729− "html-minifier": "^3.2.3",
2730− "loader-utils": "^0.2.16",
2731− "lodash": "^4.17.3",
2732− "pretty-error": "^2.0.2",
2733− "tapable": "^1.0.0",
2734− "toposort": "^1.0.0",
2735− "util.promisify": "1.0.0"
2736− },
2737− "dependencies": {
2738− "loader-utils": {
2739− "version": "0.2.17",
2740− "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
2741− "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
2742− "dev": true,
2743− "requires": {
2744− "big.js": "^3.1.3",
2745− "emojis-list": "^2.0.0",
2746− "json5": "^0.5.0",
2747− "object-assign": "^4.0.1"
2748− }
2749− }
2750− }
2751− },
2752− "htmlparser2": {
2753− "version": "3.3.0",
2754− "resolved": "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz",
2755− "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=",
2756− "dev": true,
2757− "requires": {
2758− "domelementtype": "1",
2759− "domhandler": "2.1",
2760− "domutils": "1.1",
2761− "readable-stream": "1.0"
2762− },
2763− "dependencies": {
2764− "domutils": {
2765− "version": "1.1.6",
2766− "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz",
2767− "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=",
2768− "dev": true,
2769− "requires": {
2770− "domelementtype": "1"
2771− }
2772− },
2773− "isarray": {
2774− "version": "0.0.1",
2775− "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
2776− "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
2777− "dev": true
2778− },
2779− "readable-stream": {
2780− "version": "1.0.34",
2781− "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
2782− "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
2783− "dev": true,
2784− "requires": {
2785− "core-util-is": "~1.0.0",
2786− "inherits": "~2.0.1",
2787− "isarray": "0.0.1",
2788− "string_decoder": "~0.10.x"
2789− }
2790− },
2791− "string_decoder": {
2792− "version": "0.10.31",
2793− "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
2794− "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
2795− "dev": true
2796− }
2797− }
2798− },
2799− "http-deceiver": {
2800− "version": "1.2.7",
2801− "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
2802− "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
2803− "dev": true
2804− },
2805− "http-errors": {
2806− "version": "1.6.3",
2807− "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
2808− "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
2809− "dev": true,
2810− "requires": {
2811− "depd": "~1.1.2",
2812− "inherits": "2.0.3",
2813− "setprototypeof": "1.1.0",
2814− "statuses": ">= 1.4.0 < 2"
2815− }
2816− },
2817− "http-parser-js": {
2818− "version": "0.5.0",
2819− "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz",
2820− "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==",
2821− "dev": true
2822− },
2823− "http-proxy": {
2824− "version": "1.17.0",
2825− "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
2826− "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",
2827− "dev": true,
2828− "requires": {
2829− "eventemitter3": "^3.0.0",
2830− "follow-redirects": "^1.0.0",
2831− "requires-port": "^1.0.0"
2832− }
2833− },
2834− "http-proxy-middleware": {
2835− "version": "0.18.0",
2836− "resolved": "http://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz",
2837− "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==",
2838− "dev": true,
2839− "requires": {
2840− "http-proxy": "^1.16.2",
2841− "is-glob": "^4.0.0",
2842− "lodash": "^4.17.5",
2843− "micromatch": "^3.1.9"
2844− }
2845− },
2846− "https-browserify": {
2847− "version": "1.0.0",
2848− "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
2849− "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
2850− "dev": true
2851− },
2852− "iconv-lite": {
2853− "version": "0.4.23",
2854− "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
2855− "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
2856− "dev": true,
2857− "requires": {
2858− "safer-buffer": ">= 2.1.2 < 3"
2859− }
2860− },
2861− "ieee754": {
2862− "version": "1.1.12",
2863− "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz",
2864− "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==",
2865− "dev": true
2866− },
2867− "iferr": {
2868− "version": "0.1.5",
2869− "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
2870− "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
2871− "dev": true
2872− },
2873− "import-local": {
2874− "version": "2.0.0",
2875− "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
2876− "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
2877− "dev": true,
2878− "requires": {
2879− "pkg-dir": "^3.0.0",
2880− "resolve-cwd": "^2.0.0"
2881− },
2882− "dependencies": {
2883− "find-up": {
2884− "version": "3.0.0",
2885− "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
2886− "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
2887− "dev": true,
2888− "requires": {
2889− "locate-path": "^3.0.0"
2890− }
2891− },
2892− "locate-path": {
2893− "version": "3.0.0",
2894− "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
2895− "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
2896− "dev": true,
2897− "requires": {
2898− "p-locate": "^3.0.0",
2899− "path-exists": "^3.0.0"
2900− }
2901− },
2902− "p-limit": {
2903− "version": "2.0.0",
2904− "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz",
2905− "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==",
2906− "dev": true,
2907− "requires": {
2908− "p-try": "^2.0.0"
2909− }
2910− },
2911− "p-locate": {
2912− "version": "3.0.0",
2913− "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
2914− "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
2915− "dev": true,
2916− "requires": {
2917− "p-limit": "^2.0.0"
2918− }
2919− },
2920− "p-try": {
2921− "version": "2.0.0",
2922− "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
2923− "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
2924− "dev": true
2925− },
2926− "pkg-dir": {
2927− "version": "3.0.0",
2928− "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
2929− "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
2930− "dev": true,
2931− "requires": {
2932− "find-up": "^3.0.0"
2933− }
2934− }
2935− }
2936− },
2937− "imurmurhash": {
2938− "version": "0.1.4",
2939− "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
2940− "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
2941− "dev": true
2942− },
2943− "indexof": {
2944− "version": "0.0.1",
2945− "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
2946− "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
2947− "dev": true
2948− },
2949− "inflight": {
2950− "version": "1.0.6",
2951− "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
2952− "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
2953− "dev": true,
2954− "requires": {
2955− "once": "^1.3.0",
2956− "wrappy": "1"
2957− }
2958− },
2959− "inherits": {
2960− "version": "2.0.3",
2961− "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
2962− "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
2963− "dev": true
2964− },
2965− "internal-ip": {
2966− "version": "3.0.1",
2967− "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-3.0.1.tgz",
2968− "integrity": "sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q==",
2969− "dev": true,
2970− "requires": {
2971− "default-gateway": "^2.6.0",
2972− "ipaddr.js": "^1.5.2"
2973− }
2974− },
2975− "interpret": {
2976− "version": "1.1.0",
2977− "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
2978− "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
2979− "dev": true
2980− },
2981− "invert-kv": {
2982− "version": "2.0.0",
2983− "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
2984− "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
2985− "dev": true
2986− },
2987− "ip": {
2988− "version": "1.1.5",
2989− "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
2990− "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
2991− "dev": true
2992− },
2993− "ip-regex": {
2994− "version": "2.1.0",
2995− "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
2996− "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
2997− "dev": true
2998− },
2999− "ipaddr.js": {
3000− "version": "1.8.0",
3001− "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz",
3002− "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=",
3003− "dev": true
3004− },
3005− "is-accessor-descriptor": {
3006− "version": "0.1.6",
3007− "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
3008− "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
3009− "dev": true,
3010− "requires": {
3011− "kind-of": "^3.0.2"
3012− },
3013− "dependencies": {
3014− "kind-of": {
3015− "version": "3.2.2",
3016− "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3017− "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3018− "dev": true,
3019− "requires": {
3020− "is-buffer": "^1.1.5"
3021− }
3022− }
3023− }
3024− },
3025− "is-binary-path": {
3026− "version": "1.0.1",
3027− "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
3028− "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
3029− "dev": true,
3030− "requires": {
3031− "binary-extensions": "^1.0.0"
3032− }
3033− },
3034− "is-buffer": {
3035− "version": "1.1.6",
3036− "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
3037− "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
3038− "dev": true
3039− },
3040− "is-callable": {
3041− "version": "1.1.4",
3042− "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
3043− "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
3044− "dev": true
3045− },
3046− "is-data-descriptor": {
3047− "version": "0.1.4",
3048− "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
3049− "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
3050− "dev": true,
3051− "requires": {
3052− "kind-of": "^3.0.2"
3053− },
3054− "dependencies": {
3055− "kind-of": {
3056− "version": "3.2.2",
3057− "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3058− "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3059− "dev": true,
3060− "requires": {
3061− "is-buffer": "^1.1.5"
3062− }
3063− }
3064− }
3065− },
3066− "is-date-object": {
3067− "version": "1.0.1",
3068− "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
3069− "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
3070− "dev": true
3071− },
3072− "is-descriptor": {
3073− "version": "0.1.6",
3074− "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
3075− "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
3076− "dev": true,
3077− "requires": {
3078− "is-accessor-descriptor": "^0.1.6",
3079− "is-data-descriptor": "^0.1.4",
3080− "kind-of": "^5.0.0"
3081− },
3082− "dependencies": {
3083− "kind-of": {
3084− "version": "5.1.0",
3085− "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
3086− "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
3087− "dev": true
3088− }
3089− }
3090− },
3091− "is-extendable": {
3092− "version": "0.1.1",
3093− "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
3094− "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
3095− "dev": true
3096− },
3097− "is-extglob": {
3098− "version": "2.1.1",
3099− "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
3100− "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
3101− "dev": true
3102− },
3103− "is-fullwidth-code-point": {
3104− "version": "2.0.0",
3105− "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
3106− "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
3107− "dev": true
3108− },
3109− "is-glob": {
3110− "version": "4.0.0",
3111− "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
3112− "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
3113− "dev": true,
3114− "requires": {
3115− "is-extglob": "^2.1.1"
3116− }
3117− },
3118− "is-number": {
3119− "version": "3.0.0",
3120− "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
3121− "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
3122− "dev": true,
3123− "requires": {
3124− "kind-of": "^3.0.2"
3125− },
3126− "dependencies": {
3127− "kind-of": {
3128− "version": "3.2.2",
3129− "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3130− "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3131− "dev": true,
3132− "requires": {
3133− "is-buffer": "^1.1.5"
3134− }
3135− }
3136− }
3137− },
3138− "is-path-cwd": {
3139− "version": "1.0.0",
3140− "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
3141− "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
3142− "dev": true
3143− },
3144− "is-path-in-cwd": {
3145− "version": "1.0.1",
3146− "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
3147− "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
3148− "dev": true,
3149− "requires": {
3150− "is-path-inside": "^1.0.0"
3151− }
3152− },
3153− "is-path-inside": {
3154− "version": "1.0.1",
3155− "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
3156− "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
3157− "dev": true,
3158− "requires": {
3159− "path-is-inside": "^1.0.1"
3160− }
3161− },
3162− "is-plain-object": {
3163− "version": "2.0.4",
3164− "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
3165− "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
3166− "dev": true,
3167− "requires": {
3168− "isobject": "^3.0.1"
3169− }
3170− },
3171− "is-regex": {
3172− "version": "1.0.4",
3173− "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
3174− "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
3175− "dev": true,
3176− "requires": {
3177− "has": "^1.0.1"
3178− }
3179− },
3180− "is-stream": {
3181− "version": "1.1.0",
3182− "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
3183− "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
3184− "dev": true
3185− },
3186− "is-symbol": {
3187− "version": "1.0.1",
3188− "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
3189− "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=",
3190− "dev": true
3191− },
3192− "is-windows": {
3193− "version": "1.0.2",
3194− "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
3195− "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
3196− "dev": true
3197− },
3198− "is-wsl": {
3199− "version": "1.1.0",
3200− "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
3201− "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
3202− "dev": true
3203− },
3204− "isarray": {
3205− "version": "1.0.0",
3206− "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
3207− "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
3208− "dev": true
3209− },
3210− "isexe": {
3211− "version": "2.0.0",
3212− "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
3213− "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
3214− "dev": true
3215− },
3216− "isobject": {
3217− "version": "3.0.1",
3218− "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
3219− "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
3220− "dev": true
3221− },
3222− "json-parse-better-errors": {
3223− "version": "1.0.2",
3224− "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
3225− "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
3226− "dev": true
3227− },
3228− "json-schema-traverse": {
3229− "version": "0.4.1",
3230− "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
3231− "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
3232− "dev": true
3233− },
3234− "json3": {
3235− "version": "3.3.2",
3236− "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
3237− "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
3238− "dev": true
3239− },
3240− "json5": {
3241− "version": "0.5.1",
3242− "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
3243− "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
3244− "dev": true
3245− },
3246− "killable": {
3247− "version": "1.0.1",
3248− "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
3249− "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==",
3250− "dev": true
3251− },
3252− "kind-of": {
3253− "version": "6.0.2",
3254− "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
3255− "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
3256− "dev": true
3257− },
3258− "lcid": {
3259− "version": "2.0.0",
3260− "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
3261− "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
3262− "dev": true,
3263− "requires": {
3264− "invert-kv": "^2.0.0"
3265− }
3266− },
3267− "loader-runner": {
3268− "version": "2.3.1",
3269− "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.1.tgz",
3270− "integrity": "sha512-By6ZFY7ETWOc9RFaAIb23IjJVcM4dvJC/N57nmdz9RSkMXvAXGI7SyVlAw3v8vjtDRlqThgVDVmTnr9fqMlxkw==",
3271− "dev": true
3272− },
3273− "loader-utils": {
3274− "version": "1.1.0",
3275− "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
3276− "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
3277− "dev": true,
3278− "requires": {
3279− "big.js": "^3.1.3",
3280− "emojis-list": "^2.0.0",
3281− "json5": "^0.5.0"
3282− }
3283− },
3284− "locate-path": {
3285− "version": "2.0.0",
3286− "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
3287− "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
3288− "dev": true,
3289− "requires": {
3290− "p-locate": "^2.0.0",
3291− "path-exists": "^3.0.0"
3292− }
3293− },
3294− "lodash": {
3295− "version": "4.17.10",
3296− "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
3297− "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
3298− "dev": true
3299− },
3300− "lodash.debounce": {
3301− "version": "4.0.8",
3302− "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
3303− "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
3304− "dev": true
3305− },
3306− "loglevel": {
3307− "version": "1.6.1",
3308− "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz",
3309− "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=",
3310− "dev": true
3311− },
3312− "lower-case": {
3313− "version": "1.1.4",
3314− "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
3315− "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
3316− "dev": true
3317− },
3318− "lru-cache": {
3319− "version": "4.1.3",
3320− "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
3321− "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
3322− "dev": true,
3323− "requires": {
3324− "pseudomap": "^1.0.2",
3325− "yallist": "^2.1.2"
3326− }
3327− },
3328− "make-dir": {
3329− "version": "1.3.0",
3330− "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
3331− "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
3332− "dev": true,
3333− "requires": {
3334− "pify": "^3.0.0"
3335− }
3336− },
3337− "map-age-cleaner": {
3338− "version": "0.1.2",
3339− "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.2.tgz",
3340− "integrity": "sha512-UN1dNocxQq44IhJyMI4TU8phc2m9BddacHRPRjKGLYaF0jqd3xLz0jS0skpAU9WgYyoR4gHtUpzytNBS385FWQ==",
3341− "dev": true,
3342− "requires": {
3343− "p-defer": "^1.0.0"
3344− }
3345− },
3346− "map-cache": {
3347− "version": "0.2.2",
3348− "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
3349− "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
3350− "dev": true
3351− },
3352− "map-visit": {
3353− "version": "1.0.0",
3354− "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
3355− "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
3356− "dev": true,
3357− "requires": {
3358− "object-visit": "^1.0.0"
3359− }
3360− },
3361− "md5.js": {
3362− "version": "1.3.5",
3363− "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
3364− "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
3365− "dev": true,
3366− "requires": {
3367− "hash-base": "^3.0.0",
3368− "inherits": "^2.0.1",
3369− "safe-buffer": "^5.1.2"
3370− }
3371− },
3372− "media-typer": {
3373− "version": "0.3.0",
3374− "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
3375− "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
3376− "dev": true
3377− },
3378− "mem": {
3379− "version": "4.0.0",
3380− "resolved": "https://registry.npmjs.org/mem/-/mem-4.0.0.tgz",
3381− "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==",
3382− "dev": true,
3383− "requires": {
3384− "map-age-cleaner": "^0.1.1",
3385− "mimic-fn": "^1.0.0",
3386− "p-is-promise": "^1.1.0"
3387− }
3388− },
3389− "memory-fs": {
3390− "version": "0.4.1",
3391− "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
3392− "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
3393− "dev": true,
3394− "requires": {
3395− "errno": "^0.1.3",
3396− "readable-stream": "^2.0.1"
3397− },
3398− "dependencies": {
3399− "isarray": {
3400− "version": "1.0.0",
3401− "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
3402− "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
3403− "dev": true
3404− },
3405− "readable-stream": {
3406− "version": "2.3.6",
3407− "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
3408− "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
3409− "dev": true,
3410− "requires": {
3411− "core-util-is": "~1.0.0",
3412− "inherits": "~2.0.3",
3413− "isarray": "~1.0.0",
3414− "process-nextick-args": "~2.0.0",
3415− "safe-buffer": "~5.1.1",
3416− "string_decoder": "~1.1.1",
3417− "util-deprecate": "~1.0.1"
3418− }
3419− },
3420− "string_decoder": {
3421− "version": "1.1.1",
3422− "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
3423− "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
3424− "dev": true,
3425− "requires": {
3426− "safe-buffer": "~5.1.0"
3427− }
3428− }
3429− }
3430− },
3431− "merge-descriptors": {
3432− "version": "1.0.1",
3433− "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
3434− "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
3435− "dev": true
3436− },
3437− "methods": {
3438− "version": "1.1.2",
3439− "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
3440− "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
3441− "dev": true
3442− },
3443− "micromatch": {
3444− "version": "3.1.10",
3445− "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
3446− "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
3447− "dev": true,
3448− "requires": {
3449− "arr-diff": "^4.0.0",
3450− "array-unique": "^0.3.2",
3451− "braces": "^2.3.1",
3452− "define-property": "^2.0.2",
3453− "extend-shallow": "^3.0.2",
3454− "extglob": "^2.0.4",
3455− "fragment-cache": "^0.2.1",
3456− "kind-of": "^6.0.2",
3457− "nanomatch": "^1.2.9",
3458− "object.pick": "^1.3.0",
3459− "regex-not": "^1.0.0",
3460− "snapdragon": "^0.8.1",
3461− "to-regex": "^3.0.2"
3462− }
3463− },
3464− "miller-rabin": {
3465− "version": "4.0.1",
3466− "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
3467− "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
3468− "dev": true,
3469− "requires": {
3470− "bn.js": "^4.0.0",
3471− "brorand": "^1.0.1"
3472− }
3473− },
3474− "mime": {
3475− "version": "1.4.1",
3476− "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
3477− "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==",
3478− "dev": true
3479− },
3480− "mime-db": {
3481− "version": "1.37.0",
3482− "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
3483− "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
3484− "dev": true
3485− },
3486− "mime-types": {
3487− "version": "2.1.21",
3488− "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
3489− "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
3490− "dev": true,
3491− "requires": {
3492− "mime-db": "~1.37.0"
3493− }
3494− },
3495− "mimic-fn": {
3496− "version": "1.2.0",
3497− "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
3498− "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
3499− "dev": true
3500− },
3501− "minimalistic-assert": {
3502− "version": "1.0.1",
3503− "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
3504− "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
3505− "dev": true
3506− },
3507− "minimalistic-crypto-utils": {
3508− "version": "1.0.1",
3509− "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
3510− "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
3511− "dev": true
3512− },
3513− "minimatch": {
3514− "version": "3.0.4",
3515− "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
3516− "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
3517− "dev": true,
3518− "requires": {
3519− "brace-expansion": "^1.1.7"
3520− }
3521− },
3522− "minimist": {
3523− "version": "0.0.8",
3524− "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
3525− "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
3526− "dev": true
3527− },
3528− "mississippi": {
3529− "version": "2.0.0",
3530− "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz",
3531− "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==",
3532− "dev": true,
3533− "requires": {
3534− "concat-stream": "^1.5.0",
3535− "duplexify": "^3.4.2",
3536− "end-of-stream": "^1.1.0",
3537− "flush-write-stream": "^1.0.0",
3538− "from2": "^2.1.0",
3539− "parallel-transform": "^1.1.0",
3540− "pump": "^2.0.1",
3541− "pumpify": "^1.3.3",
3542− "stream-each": "^1.1.0",
3543− "through2": "^2.0.0"
3544− }
3545− },
3546− "mixin-deep": {
3547− "version": "1.3.1",
3548− "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
3549− "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
3550− "dev": true,
3551− "requires": {
3552− "for-in": "^1.0.2",
3553− "is-extendable": "^1.0.1"
3554− },
3555− "dependencies": {
3556− "is-extendable": {
3557− "version": "1.0.1",
3558− "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
3559− "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
3560− "dev": true,
3561− "requires": {
3562− "is-plain-object": "^2.0.4"
3563− }
3564− }
3565− }
3566− },
3567− "mkdirp": {
3568− "version": "0.5.1",
3569− "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
3570− "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
3571− "dev": true,
3572− "requires": {
3573− "minimist": "0.0.8"
3574− }
3575− },
3576− "move-concurrently": {
3577− "version": "1.0.1",
3578− "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
3579− "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
3580− "dev": true,
3581− "requires": {
3582− "aproba": "^1.1.1",
3583− "copy-concurrently": "^1.0.0",
3584− "fs-write-stream-atomic": "^1.0.8",
3585− "mkdirp": "^0.5.1",
3586− "rimraf": "^2.5.4",
3587− "run-queue": "^1.0.3"
3588− }
3589− },
3590− "ms": {
3591− "version": "2.0.0",
3592− "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
3593− "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
3594− "dev": true
3595− },
3596− "multicast-dns": {
3597− "version": "6.2.3",
3598− "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
3599− "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
3600− "dev": true,
3601− "requires": {
3602− "dns-packet": "^1.3.1",
3603− "thunky": "^1.0.2"
3604− }
3605− },
3606− "multicast-dns-service-types": {
3607− "version": "1.1.0",
3608− "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
3609− "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
3610− "dev": true
3611− },
3612− "nan": {
3613− "version": "2.11.1",
3614− "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz",
3615− "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==",
3616− "dev": true,
3617− "optional": true
3618− },
3619− "nanomatch": {
3620− "version": "1.2.13",
3621− "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
3622− "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
3623− "dev": true,
3624− "requires": {
3625− "arr-diff": "^4.0.0",
3626− "array-unique": "^0.3.2",
3627− "define-property": "^2.0.2",
3628− "extend-shallow": "^3.0.2",
3629− "fragment-cache": "^0.2.1",
3630− "is-windows": "^1.0.2",
3631− "kind-of": "^6.0.2",
3632− "object.pick": "^1.3.0",
3633− "regex-not": "^1.0.0",
3634− "snapdragon": "^0.8.1",
3635− "to-regex": "^3.0.1"
3636− }
3637− },
3638− "negotiator": {
3639− "version": "0.6.1",
3640− "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
3641− "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
3642− "dev": true
3643− },
3644− "neo-async": {
3645− "version": "2.5.1",
3646− "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz",
3647− "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==",
3648− "dev": true
3649− },
3650− "nice-try": {
3651− "version": "1.0.4",
3652− "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz",
3653− "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==",
3654− "dev": true
3655− },
3656− "no-case": {
3657− "version": "2.3.2",
3658− "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
3659− "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
3660− "dev": true,
3661− "requires": {
3662− "lower-case": "^1.1.1"
3663− }
3664− },
3665− "node-forge": {
3666− "version": "0.7.5",
3667− "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz",
3668− "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==",
3669− "dev": true
3670− },
3671− "node-libs-browser": {
3672− "version": "2.1.0",
3673− "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
3674− "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==",
3675− "dev": true,
3676− "requires": {
3677− "assert": "^1.1.1",
3678− "browserify-zlib": "^0.2.0",
3679− "buffer": "^4.3.0",
3680− "console-browserify": "^1.1.0",
3681− "constants-browserify": "^1.0.0",
3682− "crypto-browserify": "^3.11.0",
3683− "domain-browser": "^1.1.1",
3684− "events": "^1.0.0",
3685− "https-browserify": "^1.0.0",
3686− "os-browserify": "^0.3.0",
3687− "path-browserify": "0.0.0",
3688− "process": "^0.11.10",
3689− "punycode": "^1.2.4",
3690− "querystring-es3": "^0.2.0",
3691− "readable-stream": "^2.3.3",
3692− "stream-browserify": "^2.0.1",
3693− "stream-http": "^2.7.2",
3694− "string_decoder": "^1.0.0",
3695− "timers-browserify": "^2.0.4",
3696− "tty-browserify": "0.0.0",
3697− "url": "^0.11.0",
3698− "util": "^0.10.3",
3699− "vm-browserify": "0.0.4"
3700− },
3701− "dependencies": {
3702− "punycode": {
3703− "version": "1.4.1",
3704− "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
3705− "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
3706− "dev": true
3707− }
3708− }
3709− },
3710− "normalize-path": {
3711− "version": "2.1.1",
3712− "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
3713− "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
3714− "dev": true,
3715− "requires": {
3716− "remove-trailing-separator": "^1.0.1"
3717− }
3718− },
3719− "npm-run-path": {
3720− "version": "2.0.2",
3721− "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
3722− "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
3723− "dev": true,
3724− "requires": {
3725− "path-key": "^2.0.0"
3726− }
3727− },
3728− "nth-check": {
3729− "version": "1.0.1",
3730− "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz",
3731− "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=",
3732− "dev": true,
3733− "requires": {
3734− "boolbase": "~1.0.0"
3735− }
3736− },
3737− "number-is-nan": {
3738− "version": "1.0.1",
3739− "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
3740− "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
3741− "dev": true
3742− },
3743− "object-assign": {
3744− "version": "4.1.1",
3745− "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
3746− "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
3747− "dev": true
3748− },
3749− "object-copy": {
3750− "version": "0.1.0",
3751− "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
3752− "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
3753− "dev": true,
3754− "requires": {
3755− "copy-descriptor": "^0.1.0",
3756− "define-property": "^0.2.5",
3757− "kind-of": "^3.0.3"
3758− },
3759− "dependencies": {
3760− "define-property": {
3761− "version": "0.2.5",
3762− "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
3763− "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
3764− "dev": true,
3765− "requires": {
3766− "is-descriptor": "^0.1.0"
3767− }
3768− },
3769− "kind-of": {
3770− "version": "3.2.2",
3771− "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3772− "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3773− "dev": true,
3774− "requires": {
3775− "is-buffer": "^1.1.5"
3776− }
3777− }
3778− }
3779− },
3780− "object-keys": {
3781− "version": "1.0.12",
3782− "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
3783− "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==",
3784− "dev": true
3785− },
3786− "object-visit": {
3787− "version": "1.0.1",
3788− "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
3789− "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
3790− "dev": true,
3791− "requires": {
3792− "isobject": "^3.0.0"
3793− }
3794− },
3795− "object.getownpropertydescriptors": {
3796− "version": "2.0.3",
3797− "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
3798− "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
3799− "dev": true,
3800− "requires": {
3801− "define-properties": "^1.1.2",
3802− "es-abstract": "^1.5.1"
3803− }
3804− },
3805− "object.pick": {
3806− "version": "1.3.0",
3807− "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
3808− "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
3809− "dev": true,
3810− "requires": {
3811− "isobject": "^3.0.1"
3812− }
3813− },
3814− "obuf": {
3815− "version": "1.1.2",
3816− "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
3817− "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
3818− "dev": true
3819− },
3820− "on-finished": {
3821− "version": "2.3.0",
3822− "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
3823− "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
3824− "dev": true,
3825− "requires": {
3826− "ee-first": "1.1.1"
3827− }
3828− },
3829− "on-headers": {
3830− "version": "1.0.1",
3831− "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
3832− "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=",
3833− "dev": true
3834− },
3835− "once": {
3836− "version": "1.4.0",
3837− "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
3838− "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
3839− "dev": true,
3840− "requires": {
3841− "wrappy": "1"
3842− }
3843− },
3844− "opn": {
3845− "version": "5.4.0",
3846− "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz",
3847− "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==",
3848− "dev": true,
3849− "requires": {
3850− "is-wsl": "^1.1.0"
3851− }
3852− },
3853− "original": {
3854− "version": "1.0.2",
3855− "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
3856− "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==",
3857− "dev": true,
3858− "requires": {
3859− "url-parse": "^1.4.3"
3860− }
3861− },
3862− "os-browserify": {
3863− "version": "0.3.0",
3864− "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
3865− "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
3866− "dev": true
3867− },
3868− "os-locale": {
3869− "version": "3.0.1",
3870− "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz",
3871− "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==",
3872− "dev": true,
3873− "requires": {
3874− "execa": "^0.10.0",
3875− "lcid": "^2.0.0",
3876− "mem": "^4.0.0"
3877− }
3878− },
3879− "p-defer": {
3880− "version": "1.0.0",
3881− "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
3882− "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
3883− "dev": true
3884− },
3885− "p-finally": {
3886− "version": "1.0.0",
3887− "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
3888− "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
3889− "dev": true
3890− },
3891− "p-is-promise": {
3892− "version": "1.1.0",
3893− "resolved": "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz",
3894− "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=",
3895− "dev": true
3896− },
3897− "p-limit": {
3898− "version": "1.3.0",
3899− "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
3900− "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
3901− "dev": true,
3902− "requires": {
3903− "p-try": "^1.0.0"
3904− }
3905− },
3906− "p-locate": {
3907− "version": "2.0.0",
3908− "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
3909− "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
3910− "dev": true,
3911− "requires": {
3912− "p-limit": "^1.1.0"
3913− }
3914− },
3915− "p-map": {
3916− "version": "1.2.0",
3917− "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
3918− "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==",
3919− "dev": true
3920− },
3921− "p-try": {
3922− "version": "1.0.0",
3923− "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
3924− "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
3925− "dev": true
3926− },
3927− "pako": {
3928− "version": "1.0.6",
3929− "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
3930− "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==",
3931− "dev": true
3932− },
3933− "parallel-transform": {
3934− "version": "1.1.0",
3935− "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz",
3936− "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=",
3937− "dev": true,
3938− "requires": {
3939− "cyclist": "~0.2.2",
3940− "inherits": "^2.0.3",
3941− "readable-stream": "^2.1.5"
3942− }
3943− },
3944− "param-case": {
3945− "version": "2.1.1",
3946− "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
3947− "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
3948− "dev": true,
3949− "requires": {
3950− "no-case": "^2.2.0"
3951− }
3952− },
3953− "parse-asn1": {
3954− "version": "5.1.1",
3955− "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
3956− "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==",
3957− "dev": true,
3958− "requires": {
3959− "asn1.js": "^4.0.0",
3960− "browserify-aes": "^1.0.0",
3961− "create-hash": "^1.1.0",
3962− "evp_bytestokey": "^1.0.0",
3963− "pbkdf2": "^3.0.3"
3964− }
3965− },
3966− "parseurl": {
3967− "version": "1.3.2",
3968− "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
3969− "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
3970− "dev": true
3971− },
3972− "pascalcase": {
3973− "version": "0.1.1",
3974− "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
3975− "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
3976− "dev": true
3977− },
3978− "path-browserify": {
3979− "version": "0.0.0",
3980− "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
3981− "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
3982− "dev": true
3983− },
3984− "path-dirname": {
3985− "version": "1.0.2",
3986− "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
3987− "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
3988− "dev": true
3989− },
3990− "path-exists": {
3991− "version": "3.0.0",
3992− "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
3993− "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
3994− "dev": true
3995− },
3996− "path-is-absolute": {
3997− "version": "1.0.1",
3998− "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
3999− "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
4000− "dev": true
4001− },
4002− "path-is-inside": {
4003− "version": "1.0.2",
4004− "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
4005− "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
4006− "dev": true
4007− },
4008− "path-key": {
4009− "version": "2.0.1",
4010− "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
4011− "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
4012− "dev": true
4013− },
4014− "path-to-regexp": {
4015− "version": "0.1.7",
4016− "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
4017− "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
4018− "dev": true
4019− },
4020− "pbkdf2": {
4021− "version": "3.0.17",
4022− "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
4023− "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
4024− "dev": true,
4025− "requires": {
4026− "create-hash": "^1.1.2",
4027− "create-hmac": "^1.1.4",
4028− "ripemd160": "^2.0.1",
4029− "safe-buffer": "^5.0.1",
4030− "sha.js": "^2.4.8"
4031− }
4032− },
4033− "pify": {
4034− "version": "3.0.0",
4035− "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
4036− "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
4037− "dev": true
4038− },
4039− "pinkie": {
4040− "version": "2.0.4",
4041− "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
4042− "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
4043− "dev": true
4044− },
4045− "pinkie-promise": {
4046− "version": "2.0.1",
4047− "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
4048− "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
4049− "dev": true,
4050− "requires": {
4051− "pinkie": "^2.0.0"
4052− }
4053− },
4054− "pkg-dir": {
4055− "version": "2.0.0",
4056− "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
4057− "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
4058− "dev": true,
4059− "requires": {
4060− "find-up": "^2.1.0"
4061− }
4062− },
4063− "portfinder": {
4064− "version": "1.0.20",
4065− "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz",
4066− "integrity": "sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==",
4067− "dev": true,
4068− "requires": {
4069− "async": "^1.5.2",
4070− "debug": "^2.2.0",
4071− "mkdirp": "0.5.x"
4072− },
4073− "dependencies": {
4074− "debug": {
4075− "version": "2.6.9",
4076− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
4077− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
4078− "dev": true,
4079− "requires": {
4080− "ms": "2.0.0"
4081− }
4082− }
4083− }
4084− },
4085− "posix-character-classes": {
4086− "version": "0.1.1",
4087− "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
4088− "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
4089− "dev": true
4090− },
4091− "pretty-error": {
4092− "version": "2.1.1",
4093− "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz",
4094− "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=",
4095− "dev": true,
4096− "requires": {
4097− "renderkid": "^2.0.1",
4098− "utila": "~0.4"
4099− }
4100− },
4101− "process": {
4102− "version": "0.11.10",
4103− "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
4104− "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
4105− "dev": true
4106− },
4107− "process-nextick-args": {
4108− "version": "2.0.0",
4109− "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
4110− "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
4111− "dev": true
4112− },
4113− "promise-inflight": {
4114− "version": "1.0.1",
4115− "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
4116− "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
4117− "dev": true
4118− },
4119− "proxy-addr": {
4120− "version": "2.0.4",
4121− "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz",
4122− "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==",
4123− "dev": true,
4124− "requires": {
4125− "forwarded": "~0.1.2",
4126− "ipaddr.js": "1.8.0"
4127− }
4128− },
4129− "prr": {
4130− "version": "1.0.1",
4131− "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
4132− "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
4133− "dev": true
4134− },
4135− "pseudomap": {
4136− "version": "1.0.2",
4137− "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
4138− "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
4139− "dev": true
4140− },
4141− "public-encrypt": {
4142− "version": "4.0.3",
4143− "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
4144− "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
4145− "dev": true,
4146− "requires": {
4147− "bn.js": "^4.1.0",
4148− "browserify-rsa": "^4.0.0",
4149− "create-hash": "^1.1.0",
4150− "parse-asn1": "^5.0.0",
4151− "randombytes": "^2.0.1",
4152− "safe-buffer": "^5.1.2"
4153− }
4154− },
4155− "pump": {
4156− "version": "2.0.1",
4157− "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
4158− "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
4159− "dev": true,
4160− "requires": {
4161− "end-of-stream": "^1.1.0",
4162− "once": "^1.3.1"
4163− }
4164− },
4165− "pumpify": {
4166− "version": "1.5.1",
4167− "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
4168− "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
4169− "dev": true,
4170− "requires": {
4171− "duplexify": "^3.6.0",
4172− "inherits": "^2.0.3",
4173− "pump": "^2.0.0"
4174− }
4175− },
4176− "punycode": {
4177− "version": "2.1.1",
4178− "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
4179− "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
4180− "dev": true
4181− },
4182− "qs": {
4183− "version": "6.5.2",
4184− "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
4185− "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
4186− "dev": true
4187− },
4188− "querystring": {
4189− "version": "0.2.0",
4190− "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
4191− "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
4192− "dev": true
4193− },
4194− "querystring-es3": {
4195− "version": "0.2.1",
4196− "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
4197− "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
4198− "dev": true
4199− },
4200− "querystringify": {
4201− "version": "2.1.0",
4202− "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz",
4203− "integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==",
4204− "dev": true
4205− },
4206− "randombytes": {
4207− "version": "2.0.6",
4208− "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
4209− "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
4210− "dev": true,
4211− "requires": {
4212− "safe-buffer": "^5.1.0"
4213− }
4214− },
4215− "randomfill": {
4216− "version": "1.0.4",
4217− "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
4218− "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
4219− "dev": true,
4220− "requires": {
4221− "randombytes": "^2.0.5",
4222− "safe-buffer": "^5.1.0"
4223− }
4224− },
4225− "range-parser": {
4226− "version": "1.2.0",
4227− "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
4228− "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
4229− "dev": true
4230− },
4231− "raw-body": {
4232− "version": "2.3.3",
4233− "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz",
4234− "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==",
4235− "dev": true,
4236− "requires": {
4237− "bytes": "3.0.0",
4238− "http-errors": "1.6.3",
4239− "iconv-lite": "0.4.23",
4240− "unpipe": "1.0.0"
4241− }
4242− },
4243− "readable-stream": {
4244− "version": "2.3.6",
4245− "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
4246− "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
4247− "dev": true,
4248− "requires": {
4249− "core-util-is": "~1.0.0",
4250− "inherits": "~2.0.3",
4251− "isarray": "~1.0.0",
4252− "process-nextick-args": "~2.0.0",
4253− "safe-buffer": "~5.1.1",
4254− "string_decoder": "~1.1.1",
4255− "util-deprecate": "~1.0.1"
4256− }
4257− },
4258− "readdirp": {
4259− "version": "2.1.0",
4260− "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
4261− "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
4262− "dev": true,
4263− "requires": {
4264− "graceful-fs": "^4.1.2",
4265− "minimatch": "^3.0.2",
4266− "readable-stream": "^2.0.2",
4267− "set-immediate-shim": "^1.0.1"
4268− },
4269− "dependencies": {
4270− "isarray": {
4271− "version": "1.0.0",
4272− "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
4273− "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
4274− "dev": true
4275− },
4276− "readable-stream": {
4277− "version": "2.3.6",
4278− "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
4279− "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
4280− "dev": true,
4281− "requires": {
4282− "core-util-is": "~1.0.0",
4283− "inherits": "~2.0.3",
4284− "isarray": "~1.0.0",
4285− "process-nextick-args": "~2.0.0",
4286− "safe-buffer": "~5.1.1",
4287− "string_decoder": "~1.1.1",
4288− "util-deprecate": "~1.0.1"
4289− }
4290− },
4291− "string_decoder": {
4292− "version": "1.1.1",
4293− "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
4294− "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
4295− "dev": true,
4296− "requires": {
4297− "safe-buffer": "~5.1.0"
4298− }
4299− }
4300− }
4301− },
4302− "regex-not": {
4303− "version": "1.0.2",
4304− "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
4305− "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
4306− "dev": true,
4307− "requires": {
4308− "extend-shallow": "^3.0.2",
4309− "safe-regex": "^1.1.0"
4310− }
4311− },
4312− "relateurl": {
4313− "version": "0.2.7",
4314− "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
4315− "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
4316− "dev": true
4317− },
4318− "remove-trailing-separator": {
4319− "version": "1.1.0",
4320− "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
4321− "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
4322− "dev": true
4323− },
4324− "renderkid": {
4325− "version": "2.0.1",
4326− "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz",
4327− "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=",
4328− "dev": true,
4329− "requires": {
4330− "css-select": "^1.1.0",
4331− "dom-converter": "~0.1",
4332− "htmlparser2": "~3.3.0",
4333− "strip-ansi": "^3.0.0",
4334− "utila": "~0.3"
4335− },
4336− "dependencies": {
4337− "utila": {
4338− "version": "0.3.3",
4339− "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz",
4340− "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=",
4341− "dev": true
4342− }
4343− }
4344− },
4345− "repeat-element": {
4346− "version": "1.1.2",
4347− "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
4348− "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
4349− "dev": true
4350− },
4351− "repeat-string": {
4352− "version": "1.6.1",
4353− "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
4354− "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
4355− "dev": true
4356− },
4357− "require-directory": {
4358− "version": "2.1.1",
4359− "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
4360− "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
4361− "dev": true
4362− },
4363− "require-main-filename": {
4364− "version": "1.0.1",
4365− "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
4366− "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
4367− "dev": true
4368− },
4369− "requires-port": {
4370− "version": "1.0.0",
4371− "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
4372− "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
4373− "dev": true
4374− },
4375− "resolve-cwd": {
4376− "version": "2.0.0",
4377− "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
4378− "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
4379− "dev": true,
4380− "requires": {
4381− "resolve-from": "^3.0.0"
4382− }
4383− },
4384− "resolve-from": {
4385− "version": "3.0.0",
4386− "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
4387− "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
4388− "dev": true
4389− },
4390− "resolve-url": {
4391− "version": "0.2.1",
4392− "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
4393− "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
4394− "dev": true
4395− },
4396− "ret": {
4397− "version": "0.1.15",
4398− "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
4399− "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
4400− "dev": true
4401− },
4402− "rimraf": {
4403− "version": "2.6.2",
4404− "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
4405− "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
4406− "dev": true,
4407− "requires": {
4408− "glob": "^7.0.5"
4409− }
4410− },
4411− "ripemd160": {
4412− "version": "2.0.2",
4413− "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
4414− "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
4415− "dev": true,
4416− "requires": {
4417− "hash-base": "^3.0.0",
4418− "inherits": "^2.0.1"
4419− }
4420− },
4421− "run-queue": {
4422− "version": "1.0.3",
4423− "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
4424− "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
4425− "dev": true,
4426− "requires": {
4427− "aproba": "^1.1.1"
4428− }
4429− },
4430− "safe-buffer": {
4431− "version": "5.1.2",
4432− "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
4433− "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
4434− "dev": true
4435− },
4436− "safe-regex": {
4437− "version": "1.1.0",
4438− "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
4439− "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
4440− "dev": true,
4441− "requires": {
4442− "ret": "~0.1.10"
4443− }
4444− },
4445− "safer-buffer": {
4446− "version": "2.1.2",
4447− "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
4448− "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
4449− "dev": true
4450− },
4451− "schema-utils": {
4452− "version": "0.4.7",
4453− "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
4454− "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
4455− "dev": true,
4456− "requires": {
4457− "ajv": "^6.1.0",
4458− "ajv-keywords": "^3.1.0"
4459− }
4460− },
4461− "select-hose": {
4462− "version": "2.0.0",
4463− "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
4464− "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
4465− "dev": true
4466− },
4467− "selfsigned": {
4468− "version": "1.10.4",
4469− "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz",
4470− "integrity": "sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw==",
4471− "dev": true,
4472− "requires": {
4473− "node-forge": "0.7.5"
4474− }
4475− },
4476− "semver": {
4477− "version": "5.5.0",
4478− "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
4479− "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
4480− "dev": true
4481− },
4482− "send": {
4483− "version": "0.16.2",
4484− "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
4485− "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
4486− "dev": true,
4487− "requires": {
4488− "debug": "2.6.9",
4489− "depd": "~1.1.2",
4490− "destroy": "~1.0.4",
4491− "encodeurl": "~1.0.2",
4492− "escape-html": "~1.0.3",
4493− "etag": "~1.8.1",
4494− "fresh": "0.5.2",
4495− "http-errors": "~1.6.2",
4496− "mime": "1.4.1",
4497− "ms": "2.0.0",
4498− "on-finished": "~2.3.0",
4499− "range-parser": "~1.2.0",
4500− "statuses": "~1.4.0"
4501− },
4502− "dependencies": {
4503− "debug": {
4504− "version": "2.6.9",
4505− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
4506− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
4507− "dev": true,
4508− "requires": {
4509− "ms": "2.0.0"
4510− }
4511− }
4512− }
4513− },
4514− "serialize-javascript": {
4515− "version": "1.5.0",
4516− "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz",
4517− "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==",
4518− "dev": true
4519− },
4520− "serve-index": {
4521− "version": "1.9.1",
4522− "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
4523− "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
4524− "dev": true,
4525− "requires": {
4526− "accepts": "~1.3.4",
4527− "batch": "0.6.1",
4528− "debug": "2.6.9",
4529− "escape-html": "~1.0.3",
4530− "http-errors": "~1.6.2",
4531− "mime-types": "~2.1.17",
4532− "parseurl": "~1.3.2"
4533− },
4534− "dependencies": {
4535− "debug": {
4536− "version": "2.6.9",
4537− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
4538− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
4539− "dev": true,
4540− "requires": {
4541− "ms": "2.0.0"
4542− }
4543− }
4544− }
4545− },
4546− "serve-static": {
4547− "version": "1.13.2",
4548− "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
4549− "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
4550− "dev": true,
4551− "requires": {
4552− "encodeurl": "~1.0.2",
4553− "escape-html": "~1.0.3",
4554− "parseurl": "~1.3.2",
4555− "send": "0.16.2"
4556− }
4557− },
4558− "set-blocking": {
4559− "version": "2.0.0",
4560− "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
4561− "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
4562− "dev": true
4563− },
4564− "set-immediate-shim": {
4565− "version": "1.0.1",
4566− "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
4567− "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
4568− "dev": true
4569− },
4570− "set-value": {
4571− "version": "2.0.0",
4572− "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
4573− "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
4574− "dev": true,
4575− "requires": {
4576− "extend-shallow": "^2.0.1",
4577− "is-extendable": "^0.1.1",
4578− "is-plain-object": "^2.0.3",
4579− "split-string": "^3.0.1"
4580− },
4581− "dependencies": {
4582− "extend-shallow": {
4583− "version": "2.0.1",
4584− "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
4585− "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
4586− "dev": true,
4587− "requires": {
4588− "is-extendable": "^0.1.0"
4589− }
4590− }
4591− }
4592− },
4593− "setimmediate": {
4594− "version": "1.0.5",
4595− "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
4596− "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
4597− "dev": true
4598− },
4599− "setprototypeof": {
4600− "version": "1.1.0",
4601− "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
4602− "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
4603− "dev": true
4604− },
4605− "sha.js": {
4606− "version": "2.4.11",
4607− "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
4608− "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
4609− "dev": true,
4610− "requires": {
4611− "inherits": "^2.0.1",
4612− "safe-buffer": "^5.0.1"
4613− }
4614− },
4615− "shebang-command": {
4616− "version": "1.2.0",
4617− "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
4618− "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
4619− "dev": true,
4620− "requires": {
4621− "shebang-regex": "^1.0.0"
4622− }
4623− },
4624− "shebang-regex": {
4625− "version": "1.0.0",
4626− "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
4627− "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
4628− "dev": true
4629− },
4630− "signal-exit": {
4631− "version": "3.0.2",
4632− "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
4633− "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
4634− "dev": true
4635− },
4636− "snapdragon": {
4637− "version": "0.8.2",
4638− "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
4639− "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
4640− "dev": true,
4641− "requires": {
4642− "base": "^0.11.1",
4643− "debug": "^2.2.0",
4644− "define-property": "^0.2.5",
4645− "extend-shallow": "^2.0.1",
4646− "map-cache": "^0.2.2",
4647− "source-map": "^0.5.6",
4648− "source-map-resolve": "^0.5.0",
4649− "use": "^3.1.0"
4650− },
4651− "dependencies": {
4652− "debug": {
4653− "version": "2.6.9",
4654− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
4655− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
4656− "dev": true,
4657− "requires": {
4658− "ms": "2.0.0"
4659− }
4660− },
4661− "define-property": {
4662− "version": "0.2.5",
4663− "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
4664− "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
4665− "dev": true,
4666− "requires": {
4667− "is-descriptor": "^0.1.0"
4668− }
4669− },
4670− "extend-shallow": {
4671− "version": "2.0.1",
4672− "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
4673− "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
4674− "dev": true,
4675− "requires": {
4676− "is-extendable": "^0.1.0"
4677− }
4678− }
4679− }
4680− },
4681− "snapdragon-node": {
4682− "version": "2.1.1",
4683− "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
4684− "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
4685− "dev": true,
4686− "requires": {
4687− "define-property": "^1.0.0",
4688− "isobject": "^3.0.0",
4689− "snapdragon-util": "^3.0.1"
4690− },
4691− "dependencies": {
4692− "define-property": {
4693− "version": "1.0.0",
4694− "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
4695− "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
4696− "dev": true,
4697− "requires": {
4698− "is-descriptor": "^1.0.0"
4699− }
4700− },
4701− "is-accessor-descriptor": {
4702− "version": "1.0.0",
4703− "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
4704− "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
4705− "dev": true,
4706− "requires": {
4707− "kind-of": "^6.0.0"
4708− }
4709− },
4710− "is-data-descriptor": {
4711− "version": "1.0.0",
4712− "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
4713− "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
4714− "dev": true,
4715− "requires": {
4716− "kind-of": "^6.0.0"
4717− }
4718− },
4719− "is-descriptor": {
4720− "version": "1.0.2",
4721− "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
4722− "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
4723− "dev": true,
4724− "requires": {
4725− "is-accessor-descriptor": "^1.0.0",
4726− "is-data-descriptor": "^1.0.0",
4727− "kind-of": "^6.0.2"
4728− }
4729− }
4730− }
4731− },
4732− "snapdragon-util": {
4733− "version": "3.0.1",
4734− "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
4735− "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
4736− "dev": true,
4737− "requires": {
4738− "kind-of": "^3.2.0"
4739− },
4740− "dependencies": {
4741− "kind-of": {
4742− "version": "3.2.2",
4743− "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
4744− "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
4745− "dev": true,
4746− "requires": {
4747− "is-buffer": "^1.1.5"
4748− }
4749− }
4750− }
4751− },
4752− "sockjs": {
4753− "version": "0.3.19",
4754− "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz",
4755− "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==",
4756− "dev": true,
4757− "requires": {
4758− "faye-websocket": "^0.10.0",
4759− "uuid": "^3.0.1"
4760− }
4761− },
4762− "sockjs-client": {
4763− "version": "1.3.0",
4764− "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz",
4765− "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==",
4766− "dev": true,
4767− "requires": {
4768− "debug": "^3.2.5",
4769− "eventsource": "^1.0.7",
4770− "faye-websocket": "~0.11.1",
4771− "inherits": "^2.0.3",
4772− "json3": "^3.3.2",
4773− "url-parse": "^1.4.3"
4774− },
4775− "dependencies": {
4776− "faye-websocket": {
4777− "version": "0.11.1",
4778− "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz",
4779− "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=",
4780− "dev": true,
4781− "requires": {
4782− "websocket-driver": ">=0.5.1"
4783− }
4784− }
4785− }
4786− },
4787− "source-list-map": {
4788− "version": "2.0.1",
4789− "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
4790− "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
4791− "dev": true
4792− },
4793− "source-map": {
4794− "version": "0.5.7",
4795− "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
4796− "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
4797− "dev": true
4798− },
4799− "source-map-resolve": {
4800− "version": "0.5.2",
4801− "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
4802− "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
4803− "dev": true,
4804− "requires": {
4805− "atob": "^2.1.1",
4806− "decode-uri-component": "^0.2.0",
4807− "resolve-url": "^0.2.1",
4808− "source-map-url": "^0.4.0",
4809− "urix": "^0.1.0"
4810− }
4811− },
4812− "source-map-url": {
4813− "version": "0.4.0",
4814− "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
4815− "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
4816− "dev": true
4817− },
4818− "spdy": {
4819− "version": "4.0.0",
4820− "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.0.tgz",
4821− "integrity": "sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q==",
4822− "dev": true,
4823− "requires": {
4824− "debug": "^4.1.0",
4825− "handle-thing": "^2.0.0",
4826− "http-deceiver": "^1.2.7",
4827− "select-hose": "^2.0.0",
4828− "spdy-transport": "^3.0.0"
4829− },
4830− "dependencies": {
4831− "debug": {
4832− "version": "4.1.1",
4833− "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
4834− "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
4835− "dev": true,
4836− "requires": {
4837− "ms": "^2.1.1"
4838− }
4839− },
4840− "ms": {
4841− "version": "2.1.1",
4842− "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
4843− "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
4844− "dev": true
4845− }
4846− }
4847− },
4848− "spdy-transport": {
4849− "version": "3.0.0",
4850− "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
4851− "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
4852− "dev": true,
4853− "requires": {
4854− "debug": "^4.1.0",
4855− "detect-node": "^2.0.4",
4856− "hpack.js": "^2.1.6",
4857− "obuf": "^1.1.2",
4858− "readable-stream": "^3.0.6",
4859− "wbuf": "^1.7.3"
4860− },
4861− "dependencies": {
4862− "debug": {
4863− "version": "4.1.1",
4864− "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
4865− "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
4866− "dev": true,
4867− "requires": {
4868− "ms": "^2.1.1"
4869− }
4870− },
4871− "ms": {
4872− "version": "2.1.1",
4873− "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
4874− "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
4875− "dev": true
4876− },
4877− "readable-stream": {
4878− "version": "3.1.1",
4879− "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz",
4880− "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==",
4881− "dev": true,
4882− "requires": {
4883− "inherits": "^2.0.3",
4884− "string_decoder": "^1.1.1",
4885− "util-deprecate": "^1.0.1"
4886− }
4887− }
4888− }
4889− },
4890− "split-string": {
4891− "version": "3.1.0",
4892− "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
4893− "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
4894− "dev": true,
4895− "requires": {
4896− "extend-shallow": "^3.0.0"
4897− }
4898− },
4899− "ssri": {
4900− "version": "5.3.0",
4901− "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz",
4902− "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==",
4903− "dev": true,
4904− "requires": {
4905− "safe-buffer": "^5.1.1"
4906− }
4907− },
4908− "static-extend": {
4909− "version": "0.1.2",
4910− "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
4911− "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
4912− "dev": true,
4913− "requires": {
4914− "define-property": "^0.2.5",
4915− "object-copy": "^0.1.0"
4916− },
4917− "dependencies": {
4918− "define-property": {
4919− "version": "0.2.5",
4920− "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
4921− "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
4922− "dev": true,
4923− "requires": {
4924− "is-descriptor": "^0.1.0"
4925− }
4926− }
4927− }
4928− },
4929− "statuses": {
4930− "version": "1.4.0",
4931− "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
4932− "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
4933− "dev": true
4934− },
4935− "stream-browserify": {
4936− "version": "2.0.1",
4937− "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
4938− "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
4939− "dev": true,
4940− "requires": {
4941− "inherits": "~2.0.1",
4942− "readable-stream": "^2.0.2"
4943− }
4944− },
4945− "stream-each": {
4946− "version": "1.2.3",
4947− "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
4948− "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
4949− "dev": true,
4950− "requires": {
4951− "end-of-stream": "^1.1.0",
4952− "stream-shift": "^1.0.0"
4953− }
4954− },
4955− "stream-http": {
4956− "version": "2.8.3",
4957− "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
4958− "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
4959− "dev": true,
4960− "requires": {
4961− "builtin-status-codes": "^3.0.0",
4962− "inherits": "^2.0.1",
4963− "readable-stream": "^2.3.6",
4964− "to-arraybuffer": "^1.0.0",
4965− "xtend": "^4.0.0"
4966− }
4967− },
4968− "stream-shift": {
4969− "version": "1.0.0",
4970− "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
4971− "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
4972− "dev": true
4973− },
4974− "string-width": {
4975− "version": "2.1.1",
4976− "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
4977− "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
4978− "dev": true,
4979− "requires": {
4980− "is-fullwidth-code-point": "^2.0.0",
4981− "strip-ansi": "^4.0.0"
4982− },
4983− "dependencies": {
4984− "ansi-regex": {
4985− "version": "3.0.0",
4986− "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
4987− "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
4988− "dev": true
4989− },
4990− "strip-ansi": {
4991− "version": "4.0.0",
4992− "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
4993− "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
4994− "dev": true,
4995− "requires": {
4996− "ansi-regex": "^3.0.0"
4997− }
4998− }
4999− }
5000− },
5001− "string_decoder": {
5002− "version": "1.1.1",
5003− "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
5004− "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
5005− "dev": true,
5006− "requires": {
5007− "safe-buffer": "~5.1.0"
5008− }
5009− },
5010− "strip-ansi": {
5011− "version": "3.0.1",
5012− "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
5013− "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
5014− "dev": true,
5015− "requires": {
5016− "ansi-regex": "^2.0.0"
5017− }
5018− },
5019− "strip-eof": {
5020− "version": "1.0.0",
5021− "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
5022− "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
5023− "dev": true
5024− },
5025− "supports-color": {
5026− "version": "5.4.0",
5027− "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
5028− "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
5029− "dev": true,
5030− "requires": {
5031− "has-flag": "^3.0.0"
5032− }
5033− },
5034− "tapable": {
5035− "version": "1.0.0",
5036− "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz",
5037− "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==",
5038− "dev": true
5039− },
5040− "through2": {
5041− "version": "2.0.3",
5042− "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
5043− "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
5044− "dev": true,
5045− "requires": {
5046− "readable-stream": "^2.1.5",
5047− "xtend": "~4.0.1"
5048− }
5049− },
5050− "thunky": {
5051− "version": "1.0.3",
5052− "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz",
5053− "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==",
5054− "dev": true
5055− },
5056− "timers-browserify": {
5057− "version": "2.0.10",
5058− "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz",
5059− "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==",
5060− "dev": true,
5061− "requires": {
5062− "setimmediate": "^1.0.4"
5063− }
5064− },
5065− "to-arraybuffer": {
5066− "version": "1.0.1",
5067− "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
5068− "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
5069− "dev": true
5070− },
5071− "to-object-path": {
5072− "version": "0.3.0",
5073− "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
5074− "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
5075− "dev": true,
5076− "requires": {
5077− "kind-of": "^3.0.2"
5078− },
5079− "dependencies": {
5080− "kind-of": {
5081− "version": "3.2.2",
5082− "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
5083− "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5084− "dev": true,
5085− "requires": {
5086− "is-buffer": "^1.1.5"
5087− }
5088− }
5089− }
5090− },
5091− "to-regex": {
5092− "version": "3.0.2",
5093− "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
5094− "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
5095− "dev": true,
5096− "requires": {
5097− "define-property": "^2.0.2",
5098− "extend-shallow": "^3.0.2",
5099− "regex-not": "^1.0.2",
5100− "safe-regex": "^1.1.0"
5101− }
5102− },
5103− "to-regex-range": {
5104− "version": "2.1.1",
5105− "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
5106− "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
5107− "dev": true,
5108− "requires": {
5109− "is-number": "^3.0.0",
5110− "repeat-string": "^1.6.1"
5111− }
5112− },
5113− "toposort": {
5114− "version": "1.0.7",
5115− "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz",
5116− "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=",
5117− "dev": true
5118− },
5119− "tslib": {
5120− "version": "1.9.3",
5121− "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
5122− "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==",
5123− "dev": true
5124− },
5125− "tty-browserify": {
5126− "version": "0.0.0",
5127− "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
5128− "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
5129− "dev": true
5130− },
5131− "type-is": {
5132− "version": "1.6.16",
5133− "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
5134− "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
5135− "dev": true,
5136− "requires": {
5137− "media-typer": "0.3.0",
5138− "mime-types": "~2.1.18"
5139− }
5140− },
5141− "typedarray": {
5142− "version": "0.0.6",
5143− "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
5144− "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
5145− "dev": true
5146− },
5147− "uglify-es": {
5148− "version": "3.3.9",
5149− "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz",
5150− "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==",
5151− "dev": true,
5152− "requires": {
5153− "commander": "~2.13.0",
5154− "source-map": "~0.6.1"
5155− },
5156− "dependencies": {
5157− "source-map": {
5158− "version": "0.6.1",
5159− "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
5160− "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
5161− "dev": true
5162− }
5163− }
5164− },
5165− "uglifyjs-webpack-plugin": {
5166− "version": "1.3.0",
5167− "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz",
5168− "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==",
5169− "dev": true,
5170− "requires": {
5171− "cacache": "^10.0.4",
5172− "find-cache-dir": "^1.0.0",
5173− "schema-utils": "^0.4.5",
5174− "serialize-javascript": "^1.4.0",
5175− "source-map": "^0.6.1",
5176− "uglify-es": "^3.3.4",
5177− "webpack-sources": "^1.1.0",
5178− "worker-farm": "^1.5.2"
5179− },
5180− "dependencies": {
5181− "source-map": {
5182− "version": "0.6.1",
5183− "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
5184− "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
5185− "dev": true
5186− }
5187− }
5188− },
5189− "union-value": {
5190− "version": "1.0.0",
5191− "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
5192− "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
5193− "dev": true,
5194− "requires": {
5195− "arr-union": "^3.1.0",
5196− "get-value": "^2.0.6",
5197− "is-extendable": "^0.1.1",
5198− "set-value": "^0.4.3"
5199− },
5200− "dependencies": {
5201− "extend-shallow": {
5202− "version": "2.0.1",
5203− "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
5204− "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5205− "dev": true,
5206− "requires": {
5207− "is-extendable": "^0.1.0"
5208− }
5209− },
5210− "set-value": {
5211− "version": "0.4.3",
5212− "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
5213− "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
5214− "dev": true,
5215− "requires": {
5216− "extend-shallow": "^2.0.1",
5217− "is-extendable": "^0.1.1",
5218− "is-plain-object": "^2.0.1",
5219− "to-object-path": "^0.3.0"
5220− }
5221− }
5222− }
5223− },
5224− "unique-filename": {
5225− "version": "1.1.1",
5226− "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
5227− "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
5228− "dev": true,
5229− "requires": {
5230− "unique-slug": "^2.0.0"
5231− }
5232− },
5233− "unique-slug": {
5234− "version": "2.0.1",
5235− "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz",
5236− "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==",
5237− "dev": true,
5238− "requires": {
5239− "imurmurhash": "^0.1.4"
5240− }
5241− },
5242− "unpipe": {
5243− "version": "1.0.0",
5244− "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
5245− "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
5246− "dev": true
5247− },
5248− "unset-value": {
5249− "version": "1.0.0",
5250− "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
5251− "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
5252− "dev": true,
5253− "requires": {
5254− "has-value": "^0.3.1",
5255− "isobject": "^3.0.0"
5256− },
5257− "dependencies": {
5258− "has-value": {
5259− "version": "0.3.1",
5260− "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
5261− "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
5262− "dev": true,
5263− "requires": {
5264− "get-value": "^2.0.3",
5265− "has-values": "^0.1.4",
5266− "isobject": "^2.0.0"
5267− },
5268− "dependencies": {
5269− "isobject": {
5270− "version": "2.1.0",
5271− "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
5272− "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
5273− "dev": true,
5274− "requires": {
5275− "isarray": "1.0.0"
5276− }
5277− }
5278− }
5279− },
5280− "has-values": {
5281− "version": "0.1.4",
5282− "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
5283− "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
5284− "dev": true
5285− },
5286− "isarray": {
5287− "version": "1.0.0",
5288− "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
5289− "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
5290− "dev": true
5291− }
5292− }
5293− },
5294− "upath": {
5295− "version": "1.1.0",
5296− "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
5297− "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
5298− "dev": true
5299− },
5300− "upper-case": {
5301− "version": "1.1.3",
5302− "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
5303− "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
5304− "dev": true
5305− },
5306− "uri-js": {
5307− "version": "4.2.2",
5308− "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
5309− "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
5310− "dev": true,
5311− "requires": {
5312− "punycode": "^2.1.0"
5313− }
5314− },
5315− "urix": {
5316− "version": "0.1.0",
5317− "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
5318− "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
5319− "dev": true
5320− },
5321− "url": {
5322− "version": "0.11.0",
5323− "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
5324− "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
5325− "dev": true,
5326− "requires": {
5327− "punycode": "1.3.2",
5328− "querystring": "0.2.0"
5329− },
5330− "dependencies": {
5331− "punycode": {
5332− "version": "1.3.2",
5333− "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
5334− "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
5335− "dev": true
5336− }
5337− }
5338− },
5339− "url-parse": {
5340− "version": "1.4.4",
5341− "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.4.tgz",
5342− "integrity": "sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg==",
5343− "dev": true,
5344− "requires": {
5345− "querystringify": "^2.0.0",
5346− "requires-port": "^1.0.0"
5347− }
5348− },
5349− "use": {
5350− "version": "3.1.1",
5351− "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
5352− "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
5353− "dev": true
5354− },
5355− "util": {
5356− "version": "0.10.4",
5357− "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
5358− "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
5359− "dev": true,
5360− "requires": {
5361− "inherits": "2.0.3"
5362− }
5363− },
5364− "util-deprecate": {
5365− "version": "1.0.2",
5366− "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
5367− "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
5368− "dev": true
5369− },
5370− "util.promisify": {
5371− "version": "1.0.0",
5372− "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
5373− "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
5374− "dev": true,
5375− "requires": {
5376− "define-properties": "^1.1.2",
5377− "object.getownpropertydescriptors": "^2.0.3"
5378− }
5379− },
5380− "utila": {
5381− "version": "0.4.0",
5382− "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
5383− "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
5384− "dev": true
5385− },
5386− "utils-merge": {
5387− "version": "1.0.1",
5388− "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
5389− "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
5390− "dev": true
5391− },
5392− "uuid": {
5393− "version": "3.3.2",
5394− "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
5395− "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
5396− "dev": true
5397− },
5398− "v8-compile-cache": {
5399− "version": "2.0.2",
5400− "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz",
5401− "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==",
5402− "dev": true
5403− },
5404− "vary": {
5405− "version": "1.1.2",
5406− "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
5407− "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
5408− "dev": true
5409− },
5410− "vm-browserify": {
5411− "version": "0.0.4",
5412− "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
5413− "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
5414− "dev": true,
5415− "requires": {
5416− "indexof": "0.0.1"
5417− }
5418− },
5419− "watchpack": {
5420− "version": "1.6.0",
5421− "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
5422− "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
5423− "dev": true,
5424− "requires": {
5425− "chokidar": "^2.0.2",
5426− "graceful-fs": "^4.1.2",
5427− "neo-async": "^2.5.0"
5428− }
5429− },
5430− "wbuf": {
5431− "version": "1.7.3",
5432− "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
5433− "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
5434− "dev": true,
5435− "requires": {
5436− "minimalistic-assert": "^1.0.0"
5437− }
5438− },
5439− "webpack": {
5440− "version": "4.25.1",
5441− "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.25.1.tgz",
5442− "integrity": "sha512-T0GU/3NRtO4tMfNzsvpdhUr8HnzA4LTdP2zd+e5zd6CdOH5vNKHnAlO+DvzccfhPdzqRrALOFcjYxx7K5DWmvA==",
5443− "dev": true,
5444− "requires": {
5445− "@webassemblyjs/ast": "1.7.11",
5446− "@webassemblyjs/helper-module-context": "1.7.11",
5447− "@webassemblyjs/wasm-edit": "1.7.11",
5448− "@webassemblyjs/wasm-parser": "1.7.11",
5449− "acorn": "^5.6.2",
5450− "acorn-dynamic-import": "^3.0.0",
5451− "ajv": "^6.1.0",
5452− "ajv-keywords": "^3.1.0",
5453− "chrome-trace-event": "^1.0.0",
5454− "enhanced-resolve": "^4.1.0",
5455− "eslint-scope": "^4.0.0",
5456− "json-parse-better-errors": "^1.0.2",
5457− "loader-runner": "^2.3.0",
5458− "loader-utils": "^1.1.0",
5459− "memory-fs": "~0.4.1",
5460− "micromatch": "^3.1.8",
5461− "mkdirp": "~0.5.0",
5462− "neo-async": "^2.5.0",
5463− "node-libs-browser": "^2.0.0",
5464− "schema-utils": "^0.4.4",
5465− "tapable": "^1.1.0",
5466− "uglifyjs-webpack-plugin": "^1.2.4",
5467− "watchpack": "^1.5.0",
5468− "webpack-sources": "^1.3.0"
5469− },
5470− "dependencies": {
5471− "tapable": {
5472− "version": "1.1.0",
5473− "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.0.tgz",
5474− "integrity": "sha512-IlqtmLVaZA2qab8epUXbVWRn3aB1imbDMJtjB3nu4X0NqPkcY/JH9ZtCBWKHWPxs8Svi9tyo8w2dBoi07qZbBA==",
5475− "dev": true
5476− }
5477− }
5478− },
5479− "webpack-cli": {
5480− "version": "3.1.2",
5481− "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.2.tgz",
5482− "integrity": "sha512-Cnqo7CeqeSvC6PTdts+dywNi5CRlIPbLx1AoUPK2T6vC1YAugMG3IOoO9DmEscd+Dghw7uRlnzV1KwOe5IrtgQ==",
5483− "dev": true,
5484− "requires": {
5485− "chalk": "^2.4.1",
5486− "cross-spawn": "^6.0.5",
5487− "enhanced-resolve": "^4.1.0",
5488− "global-modules-path": "^2.3.0",
5489− "import-local": "^2.0.0",
5490− "interpret": "^1.1.0",
5491− "loader-utils": "^1.1.0",
5492− "supports-color": "^5.5.0",
5493− "v8-compile-cache": "^2.0.2",
5494− "yargs": "^12.0.2"
5495− },
5496− "dependencies": {
5497− "supports-color": {
5498− "version": "5.5.0",
5499− "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
5500− "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
5501− "dev": true,
5502− "requires": {
5503− "has-flag": "^3.0.0"
5504− }
5505− }
5506− }
5507− },
5508− "webpack-dev-middleware": {
5509− "version": "3.4.0",
5510− "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz",
5511− "integrity": "sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA==",
5512− "dev": true,
5513− "requires": {
5514− "memory-fs": "~0.4.1",
5515− "mime": "^2.3.1",
5516− "range-parser": "^1.0.3",
5517− "webpack-log": "^2.0.0"
5518− },
5519− "dependencies": {
5520− "mime": {
5521− "version": "2.4.0",
5522− "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz",
5523− "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==",
5524− "dev": true
5525− }
5526− }
5527− },
5528− "webpack-dev-server": {
5529− "version": "3.1.14",
5530− "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.14.tgz",
5531− "integrity": "sha512-mGXDgz5SlTxcF3hUpfC8hrQ11yhAttuUQWf1Wmb+6zo3x6rb7b9mIfuQvAPLdfDRCGRGvakBWHdHOa0I9p/EVQ==",
5532− "dev": true,
5533− "requires": {
5534− "ansi-html": "0.0.7",
5535− "bonjour": "^3.5.0",
5536− "chokidar": "^2.0.0",
5537− "compression": "^1.5.2",
5538− "connect-history-api-fallback": "^1.3.0",
5539− "debug": "^3.1.0",
5540− "del": "^3.0.0",
5541− "express": "^4.16.2",
5542− "html-entities": "^1.2.0",
5543− "http-proxy-middleware": "~0.18.0",
5544− "import-local": "^2.0.0",
5545− "internal-ip": "^3.0.1",
5546− "ip": "^1.1.5",
5547− "killable": "^1.0.0",
5548− "loglevel": "^1.4.1",
5549− "opn": "^5.1.0",
5550− "portfinder": "^1.0.9",
5551− "schema-utils": "^1.0.0",
5552− "selfsigned": "^1.9.1",
5553− "semver": "^5.6.0",
5554− "serve-index": "^1.7.2",
5555− "sockjs": "0.3.19",
5556− "sockjs-client": "1.3.0",
5557− "spdy": "^4.0.0",
5558− "strip-ansi": "^3.0.0",
5559− "supports-color": "^5.1.0",
5560− "url": "^0.11.0",
5561− "webpack-dev-middleware": "3.4.0",
5562− "webpack-log": "^2.0.0",
5563− "yargs": "12.0.2"
5564− },
5565− "dependencies": {
5566− "schema-utils": {
5567− "version": "1.0.0",
5568− "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
5569− "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
5570− "dev": true,
5571− "requires": {
5572− "ajv": "^6.1.0",
5573− "ajv-errors": "^1.0.0",
5574− "ajv-keywords": "^3.1.0"
5575− }
5576− },
5577− "semver": {
5578− "version": "5.6.0",
5579− "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
5580− "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
5581− "dev": true
5582− }
5583− }
5584− },
5585− "webpack-log": {
5586− "version": "2.0.0",
5587− "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
5588− "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
5589− "dev": true,
5590− "requires": {
5591− "ansi-colors": "^3.0.0",
5592− "uuid": "^3.3.2"
5593− }
5594− },
5595− "webpack-sources": {
5596− "version": "1.3.0",
5597− "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz",
5598− "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==",
5599− "dev": true,
5600− "requires": {
5601− "source-list-map": "^2.0.0",
5602− "source-map": "~0.6.1"
5603− },
5604− "dependencies": {
5605− "source-map": {
5606− "version": "0.6.1",
5607− "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
5608− "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
5609− "dev": true
5610− }
5611− }
5612− },
5613− "websocket-driver": {
5614− "version": "0.7.0",
5615− "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
5616− "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
5617− "dev": true,
5618− "requires": {
5619− "http-parser-js": ">=0.4.0",
5620− "websocket-extensions": ">=0.1.1"
5621− }
5622− },
5623− "websocket-extensions": {
5624− "version": "0.1.3",
5625− "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
5626− "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
5627− "dev": true
5628− },
5629− "which": {
5630− "version": "1.3.1",
5631− "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
5632− "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
5633− "dev": true,
5634− "requires": {
5635− "isexe": "^2.0.0"
5636− }
5637− },
5638− "which-module": {
5639− "version": "2.0.0",
5640− "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
5641− "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
5642− "dev": true
5643− },
5644− "worker-farm": {
5645− "version": "1.6.0",
5646− "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz",
5647− "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==",
5648− "dev": true,
5649− "requires": {
5650− "errno": "~0.1.7"
5651− }
5652− },
5653− "wrap-ansi": {
5654− "version": "2.1.0",
5655− "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
5656− "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
5657− "dev": true,
5658− "requires": {
5659− "string-width": "^1.0.1",
5660− "strip-ansi": "^3.0.1"
5661− },
5662− "dependencies": {
5663− "is-fullwidth-code-point": {
5664− "version": "1.0.0",
5665− "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
5666− "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
5667− "dev": true,
5668− "requires": {
5669− "number-is-nan": "^1.0.0"
5670− }
5671− },
5672− "string-width": {
5673− "version": "1.0.2",
5674− "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
5675− "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
5676− "dev": true,
5677− "requires": {
5678− "code-point-at": "^1.0.0",
5679− "is-fullwidth-code-point": "^1.0.0",
5680− "strip-ansi": "^3.0.0"
5681− }
5682− }
5683− }
5684− },
5685− "wrappy": {
5686− "version": "1.0.2",
5687− "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
5688− "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
5689− "dev": true
5690− },
5691− "xregexp": {
5692− "version": "4.0.0",
5693− "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz",
5694− "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==",
5695− "dev": true
5696− },
5697− "xtend": {
5698− "version": "4.0.1",
5699− "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
5700− "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
5701− "dev": true
5702− },
5703− "y18n": {
5704− "version": "4.0.0",
5705− "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
5706− "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
5707− "dev": true
5708− },
5709− "yallist": {
5710− "version": "2.1.2",
5711− "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
5712− "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
5713− "dev": true
5714− },
5715− "yargs": {
5716− "version": "12.0.2",
5717− "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz",
5718− "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==",
5719− "dev": true,
5720− "requires": {
5721− "cliui": "^4.0.0",
5722− "decamelize": "^2.0.0",
5723− "find-up": "^3.0.0",
5724− "get-caller-file": "^1.0.1",
5725− "os-locale": "^3.0.0",
5726− "require-directory": "^2.1.1",
5727− "require-main-filename": "^1.0.1",
5728− "set-blocking": "^2.0.0",
5729− "string-width": "^2.0.0",
5730− "which-module": "^2.0.0",
5731− "y18n": "^3.2.1 || ^4.0.0",
5732− "yargs-parser": "^10.1.0"
5733− },
5734− "dependencies": {
5735− "find-up": {
5736− "version": "3.0.0",
5737− "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
5738− "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
5739− "dev": true,
5740− "requires": {
5741− "locate-path": "^3.0.0"
5742− }
5743− },
5744− "locate-path": {
5745− "version": "3.0.0",
5746− "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
5747− "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
5748− "dev": true,
5749− "requires": {
5750− "p-locate": "^3.0.0",
5751− "path-exists": "^3.0.0"
5752− }
5753− },
5754− "p-limit": {
5755− "version": "2.0.0",
5756− "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz",
5757− "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==",
5758− "dev": true,
5759− "requires": {
5760− "p-try": "^2.0.0"
5761− }
5762− },
5763− "p-locate": {
5764− "version": "3.0.0",
5765− "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
5766− "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
5767− "dev": true,
5768− "requires": {
5769− "p-limit": "^2.0.0"
5770− }
5771− },
5772− "p-try": {
5773− "version": "2.0.0",
5774− "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
5775− "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
5776− "dev": true
5777− }
5778− }
5779− },
5780− "yargs-parser": {
5781− "version": "10.1.0",
5782− "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
5783− "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
5784− "dev": true,
5785− "requires": {
5786− "camelcase": "^4.1.0"
5787− }
5788− }
5789− }
5790−}
examples/counter/package.jsondeleted−18
@@ -1,18 +0,0 @@
1−{
2− "author": "Nick Fitzgerald <nfitzgerald@mozilla.com>",
3− "name": "create-rust-webpack",
4− "version": "0.1.5",
5− "repository": "https://github.com/rustwasm/rust-webpack-template",
6− "license": "Apache-2.0/MIT",
7− "scripts": {
8− "start": "webpack-dev-server -d",
9− "build": "webpack"
10− },
11− "devDependencies": {
12− "@wasm-tool/wasm-pack-plugin": "0.1.6",
13− "html-webpack-plugin": "^3.2.0",
14− "webpack": "^4.25.1",
15− "webpack-cli": "^3.1.2",
16− "webpack-dev-server": "^3.1.14"
17− }
18−}
examples/counter/src/lib.rsnew file+87
@@ -0,0 +1,87 @@
1+use dodrio::{bumpalo, Node, Render, RenderContext};
2+use log::*;
3+use wasm_bindgen::prelude::*;
4+
5+/// A counter that can be incremented and decremented!
6+struct Counter {
7+ count: isize,
8+}
9+
10+impl Counter {
11+ /// Construct a new, zeroed counter.
12+ fn new() -> Counter {
13+ Counter { count: 0 }
14+ }
15+
16+ /// Increment this counter's count.
17+ fn increment(&mut self) {
18+ self.count += 1;
19+ }
20+
21+ /// Decrement this counter's count.
22+ fn decrement(&mut self) {
23+ self.count -= 1;
24+ }
25+}
26+
27+// The `Render` implementation for `Counter`s displays the current count and has
28+// buttons to increment and decrement the count.
29+impl<'a> Render<'a> for Counter {
30+ fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
31+ use dodrio::builder::*;
32+
33+ // Stringify the count as a bump-allocated string.
34+ let count = bumpalo::format!(in cx.bump, "{}", self.count);
35+
36+ div(&cx)
37+ .children([
38+ button(&cx)
39+ .on("click", |root, vdom, _event| {
40+ // Cast the root render component to a `Counter`, since
41+ // we know that's what it is.
42+ let counter = root.unwrap_mut::<Counter>();
43+
44+ // Increment the counter.
45+ counter.increment();
46+
47+ // Since the count has updated, we should re-render the
48+ // counter on the next animation frame.
49+ vdom.schedule_render();
50+ })
51+ .children([text("+")])
52+ .finish(),
53+ text(count.into_bump_str()),
54+ button(&cx)
55+ .on("click", |root, vdom, _event| {
56+ // Same as above, but decrementing instead of incrementing.
57+ let counter = root.unwrap_mut::<Counter>();
58+ counter.decrement();
59+ vdom.schedule_render();
60+ })
61+ .children([text("-")])
62+ .finish(),
63+ ])
64+ .finish()
65+ }
66+}
67+
68+#[wasm_bindgen(start)]
69+pub fn run() {
70+ // Initialize debug logging for if/when things go wrong.
71+ console_error_panic_hook::set_once();
72+ console_log::init_with_level(Level::Trace).expect("should initialize logging OK");
73+
74+ // Get the document's `<body>`.
75+ let window = web_sys::window().unwrap();
76+ let document = window.document().unwrap();
77+ let body = document.body().unwrap();
78+
79+ // Construct a new counter component.
80+ let counter = Counter::new();
81+
82+ // Mount our counter component to the `<body>`.
83+ let vdom = dodrio::Vdom::new(&body, counter);
84+
85+ // Run the virtual DOM and its listeners forever.
86+ vdom.forget();
87+}
examples/counter/webpack.config.jsdeleted−25
@@ -1,25 +0,0 @@
1−const path = require("path");
2−const HtmlWebpackPlugin = require("html-webpack-plugin");
3−
4−const dist = path.resolve(__dirname, "dist");
5−const WasmPackPlugin = require("@wasm-tool/wasm-pack-plugin");
6−
7−module.exports = {
8− entry: "./js/index.js",
9− output: {
10− path: dist,
11− filename: "bundle.js"
12− },
13− devServer: {
14− contentBase: dist,
15− },
16− plugins: [
17− new HtmlWebpackPlugin({
18− template: 'index.html'
19− }),
20−
21− new WasmPackPlugin({
22− crateDirectory: path.resolve(__dirname, "crate")
23− }),
24− ]
25−};
examples/game-of-life/Cargo.tomlnew file+29
@@ -0,0 +1,29 @@
1+[package]
2+name = "dodrio-game-of-life"
3+version = "0.1.0"
4+authors = ["Nick Fitzgerald <fitzgen@gmail.com>"]
5+edition = "2018"
6+
7+[lib]
8+crate-type = ["cdylib"]
9+
10+[features]
11+
12+[dependencies]
13+dodrio = { path = "../.." }
14+wasm-bindgen = "0.2.55"
15+console_error_panic_hook = "0.1.6"
16+js-sys = "0.3.32"
17+wasm-bindgen-futures = "0.4.5"
18+
19+[dependencies.web-sys]
20+version = "0.3.32"
21+features = [
22+ "Document",
23+ "HtmlElement",
24+ "Node",
25+ "Window",
26+]
27+
28+[dev-dependencies]
29+wasm-bindgen-test = "0.3.5"
examples/game-of-life/README.mdnew file+23
@@ -0,0 +1,23 @@
1+# Conway's Game of Life
2+
3+A port of the [Rust and WebAssembly tutorial's Game of Life
4+implementation](https://rustwasm.github.io/book/game-of-life/introduction.html)
5+to rendering to HTML with Dodrio instead of to a canvas via JavaScript.
6+
7+## Source
8+
9+See `src/lib.rs`.
10+
11+## Build
12+
13+```
14+wasm-pack build --target web
15+```
16+
17+## Serve
18+
19+Use any HTTP server, for example:
20+
21+```
22+python -m SimpleHTTPServer
23+```
examples/game-of-life/index.htmlnew file+44
@@ -0,0 +1,44 @@
1+<!DOCTYPE html>
2+<html>
3+ <head>
4+ <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
5+ <title>Conway's Game of Life</title>
6+ <style>
7+ .cell {
8+ display: inline-block;
9+ width: 1vh;
10+ height: 1vh;
11+ border: 1px #cccccc solid;
12+ margin: -1px;
13+ padding: 0;
14+ }
15+
16+ .row {
17+ height: 1vh;
18+ margin: 0;
19+ padding: 0;
20+ }
21+
22+ body {
23+ width: 100vw;
24+ height: 100vh;
25+ display: flex;
26+ align-items: center;
27+ justify-content: center;
28+ padding: 0;
29+ margin: 0;
30+ }
31+
32+ html {
33+ padding: 0;
34+ margin: 0;
35+ }
36+ </style>
37+ </head>
38+ <body>
39+ <script type="module">
40+ import init from "./pkg/dodrio_game_of_life.js";
41+ init("./pkg/dodrio_game_of_life_bg.wasm");
42+ </script>
43+ </body>
44+</html>
examples/game-of-life/src/lib.rsnew file+218
@@ -0,0 +1,218 @@
1+use dodrio::{bumpalo, Node, Render, RenderContext, Vdom};
2+use std::cell::RefCell;
3+use std::rc::Rc;
4+use wasm_bindgen::{prelude::*, JsCast};
5+
6+#[repr(u8)]
7+#[derive(Clone, Copy, Debug, PartialEq, Eq)]
8+pub enum Cell {
9+ Dead = 0,
10+ Alive = 1,
11+}
12+
13+/// The universe containing all of the cells for our Game of Life.
14+struct Universe {
15+ width: u32,
16+ height: u32,
17+ cells: Vec<Cell>,
18+}
19+
20+impl Universe {
21+ /// Construct a new universe.
22+ pub fn new() -> Universe {
23+ let width = 64;
24+ let height = 64;
25+
26+ let cells = (0..width * height)
27+ .map(|i| {
28+ if i % 2 == 0 || i % 7 == 0 {
29+ Cell::Alive
30+ } else {
31+ Cell::Dead
32+ }
33+ })
34+ .collect();
35+
36+ Universe {
37+ width,
38+ height,
39+ cells,
40+ }
41+ }
42+
43+ /// Compute one tick of the universe.
44+ pub fn tick(&mut self) {
45+ let mut next = self.cells.clone();
46+
47+ for row in 0..self.height {
48+ for col in 0..self.width {
49+ let idx = self.get_index(row, col);
50+ let cell = self.cells[idx];
51+ let live_neighbors = self.live_neighbor_count(row, col);
52+
53+ let next_cell = match (cell, live_neighbors) {
54+ // Rule 1: Any live cell with fewer than two live neighbours
55+ // dies, as if caused by underpopulation.
56+ (Cell::Alive, x) if x < 2 => Cell::Dead,
57+ // Rule 2: Any live cell with two or three live neighbours
58+ // lives on to the next generation.
59+ (Cell::Alive, 2) | (Cell::Alive, 3) => Cell::Alive,
60+ // Rule 3: Any live cell with more than three live
61+ // neighbours dies, as if by overpopulation.
62+ (Cell::Alive, x) if x > 3 => Cell::Dead,
63+ // Rule 4: Any dead cell with exactly three live neighbours
64+ // becomes a live cell, as if by reproduction.
65+ (Cell::Dead, 3) => Cell::Alive,
66+ // All other cells remain in the same state.
67+ (otherwise, _) => otherwise,
68+ };
69+
70+ next[idx] = next_cell;
71+ }
72+ }
73+
74+ self.cells = next;
75+ }
76+
77+ fn get_index(&self, row: u32, column: u32) -> usize {
78+ (row * self.width + column) as usize
79+ }
80+
81+ fn live_neighbor_count(&self, row: u32, column: u32) -> u8 {
82+ let mut count = 0;
83+
84+ let north = if row == 0 { self.height - 1 } else { row - 1 };
85+
86+ let south = if row == self.height - 1 { 0 } else { row + 1 };
87+
88+ let west = if column == 0 {
89+ self.width - 1
90+ } else {
91+ column - 1
92+ };
93+
94+ let east = if column == self.width - 1 {
95+ 0
96+ } else {
97+ column + 1
98+ };
99+
100+ let nw = self.get_index(north, west);
101+ count += self.cells[nw] as u8;
102+
103+ let n = self.get_index(north, column);
104+ count += self.cells[n] as u8;
105+
106+ let ne = self.get_index(north, east);
107+ count += self.cells[ne] as u8;
108+
109+ let w = self.get_index(row, west);
110+ count += self.cells[w] as u8;
111+
112+ let e = self.get_index(row, east);
113+ count += self.cells[e] as u8;
114+
115+ let sw = self.get_index(south, west);
116+ count += self.cells[sw] as u8;
117+
118+ let s = self.get_index(south, column);
119+ count += self.cells[s] as u8;
120+
121+ let se = self.get_index(south, east);
122+ count += self.cells[se] as u8;
123+
124+ count
125+ }
126+}
127+
128+/// The rendering implementation for our Game of Life.
129+impl<'a> Render<'a> for Universe {
130+ fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
131+ use dodrio::builder::*;
132+
133+ let mut rows = bumpalo::collections::Vec::with_capacity_in(self.height as usize, cx.bump);
134+
135+ for row in self.cells.chunks(self.width as usize) {
136+ let mut cells =
137+ bumpalo::collections::Vec::with_capacity_in(self.width as usize, cx.bump);
138+
139+ for cell in row {
140+ cells.push(
141+ span(&cx)
142+ .attr("class", "cell")
143+ .attr(
144+ "style",
145+ match cell {
146+ Cell::Alive => "background-color: black",
147+ Cell::Dead => "background-color: white",
148+ },
149+ )
150+ .finish(),
151+ );
152+ }
153+
154+ rows.push(div(&cx).attr("class", "row").children(cells).finish());
155+ }
156+
157+ div(&cx).attr("class", "universe").children(rows).finish()
158+ }
159+}
160+
161+#[wasm_bindgen(start)]
162+pub fn run() {
163+ // Set up the panic hook for debugging when things go wrong.
164+ console_error_panic_hook::set_once();
165+
166+ // Grab the document's `<body>`.
167+ let window = web_sys::window().unwrap_throw();
168+ let document = window.document().unwrap_throw();
169+ let body = document.body().unwrap_throw();
170+
171+ // Create a new Game of Life `Universe` render component.
172+ let universe = Universe::new();
173+
174+ // Create a virtual DOM and mount it and the `Universe` render component to the
175+ // `<body>`.
176+ let vdom = Vdom::new(body.as_ref(), universe);
177+
178+ // Kick off a loop that keeps computing a tick of the universe and then
179+ // re-rendering on every animation frame.
180+ let rc = <Rc<RefCell<Option<Closure<dyn FnMut()>>>>>::default();
181+ let rc2 = rc.clone();
182+ let window2 = window.clone();
183+ let weak = vdom.weak();
184+ let f = Closure::wrap(Box::new(move || {
185+ weak.schedule_render();
186+
187+ wasm_bindgen_futures::spawn_local({
188+ let weak = weak.clone();
189+ async move {
190+ let fut = weak.with_component(|root| {
191+ let universe = root.unwrap_mut::<Universe>();
192+ universe.tick();
193+ });
194+
195+ if fut.await.is_err() {
196+ wasm_bindgen::throw_str("impossible, we always keep the vdom alive");
197+ }
198+ }
199+ });
200+
201+ window
202+ .request_animation_frame(
203+ rc.borrow()
204+ .as_ref()
205+ .unwrap_throw()
206+ .as_ref()
207+ .unchecked_ref::<js_sys::Function>(),
208+ )
209+ .unwrap_throw();
210+ }) as Box<dyn FnMut()>);
211+ window2
212+ .request_animation_frame(f.as_ref().unchecked_ref::<js_sys::Function>())
213+ .unwrap_throw();
214+ *rc2.borrow_mut() = Some(f);
215+
216+ // Run the virtual DOM forever and don't unmount it.
217+ vdom.forget();
218+}
examples/hello-world/.bin/create-rust-webpack.jsdeleted−38
@@ -1,38 +0,0 @@
1−#!/usr/bin/env node
2−
3−const { spawn } = require("child_process");
4−const fs = require("fs");
5−
6−let folderName = '.';
7−
8−if (process.argv.length >= 3) {
9− folderName = process.argv[2];
10− if (!fs.existsSync(folderName)) {
11− fs.mkdirSync(folderName);
12− }
13−}
14−
15−const clone = spawn("git", ["clone", "https://github.com/rustwasm/rust-webpack-template.git", folderName]);
16−
17−clone.on("close", (code) => {
18− if (code !== 0) {
19− handleError("install", code);
20− } else {
21− console.log(" 🦀 Rust + 🕸 WebAssembly + Webpack = ❤️ ");
22−
23− const install = spawn('npm', ['install'], { cwd: folderName });
24− install.on("close", (code) => {
25− if (code !== 0) {
26− handleError("install", code);
27− } else {
28− console.log(" Installed dependencies ✅ ");
29− }
30− });
31− }
32−});
33−
34−function handleError(type, errCode) {
35− // TODO(sven): handle error here
36− console.error()
37− process.exit(errCode);
38−}
examples/hello-world/.gitignoredeleted−7
@@ -1,7 +0,0 @@
1−dist
2−node_modules
3−crate/bin
4−crate/pkg
5−crate/target
6−crate/wasm-pack.log
7−crate/Cargo.lock
examples/hello-world/.travis.ymldeleted−11
@@ -1,11 +0,0 @@
1−language: rust
2−
3−install:
4− - curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
5− - source ~/.nvm/nvm.sh
6− - nvm install v10.5
7− - curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh -s -- -f
8−
9−script:
10− - npm install
11− - npm run build
examples/hello-world/crate/Cargo.toml → examples/hello-world/Cargo.tomlrenamed+6−7
@@ -5,18 +5,17 @@ authors = ["Nick Fitzgerald <fitzgen@gmail.com>"]
55edition = "2018"
66
77[lib]
8−crate-type = ["cdylib", "rlib"]
8+crate-type = ["cdylib"]
99
1010[features]
1111
1212[dependencies]
13−bumpalo = "1.0.2"
14−dodrio = { path = "../../.." }
15−wasm-bindgen = "0.2"
16−console_error_panic_hook = "0.1.1"
13+dodrio = { path = "../.." }
14+wasm-bindgen = "0.2.55"
15+console_error_panic_hook = "0.1.6"
1716
1817[dependencies.web-sys]
19−version = "0.3.8"
18+version = "0.3.32"
2019features = [
2120 "Document",
2221 "HtmlElement",
@@ -25,4 +24,4 @@ features = [
2524]
2625
2726[dev-dependencies]
28−wasm-bindgen-test = "0.2"
27+wasm-bindgen-test = "0.3.5"
examples/hello-world/LICENSE-APACHEdeleted−201
@@ -1,201 +0,0 @@
1− Apache License
2− Version 2.0, January 2004
3− http://www.apache.org/licenses/
4−
5−TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6−
7−1. Definitions.
8−
9− "License" shall mean the terms and conditions for use, reproduction,
10− and distribution as defined by Sections 1 through 9 of this document.
11−
12− "Licensor" shall mean the copyright owner or entity authorized by
13− the copyright owner that is granting the License.
14−
15− "Legal Entity" shall mean the union of the acting entity and all
16− other entities that control, are controlled by, or are under common
17− control with that entity. For the purposes of this definition,
18− "control" means (i) the power, direct or indirect, to cause the
19− direction or management of such entity, whether by contract or
20− otherwise, or (ii) ownership of fifty percent (50%) or more of the
21− outstanding shares, or (iii) beneficial ownership of such entity.
22−
23− "You" (or "Your") shall mean an individual or Legal Entity
24− exercising permissions granted by this License.
25−
26− "Source" form shall mean the preferred form for making modifications,
27− including but not limited to software source code, documentation
28− source, and configuration files.
29−
30− "Object" form shall mean any form resulting from mechanical
31− transformation or translation of a Source form, including but
32− not limited to compiled object code, generated documentation,
33− and conversions to other media types.
34−
35− "Work" shall mean the work of authorship, whether in Source or
36− Object form, made available under the License, as indicated by a
37− copyright notice that is included in or attached to the work
38− (an example is provided in the Appendix below).
39−
40− "Derivative Works" shall mean any work, whether in Source or Object
41− form, that is based on (or derived from) the Work and for which the
42− editorial revisions, annotations, elaborations, or other modifications
43− represent, as a whole, an original work of authorship. For the purposes
44− of this License, Derivative Works shall not include works that remain
45− separable from, or merely link (or bind by name) to the interfaces of,
46− the Work and Derivative Works thereof.
47−
48− "Contribution" shall mean any work of authorship, including
49− the original version of the Work and any modifications or additions
50− to that Work or Derivative Works thereof, that is intentionally
51− submitted to Licensor for inclusion in the Work by the copyright owner
52− or by an individual or Legal Entity authorized to submit on behalf of
53− the copyright owner. For the purposes of this definition, "submitted"
54− means any form of electronic, verbal, or written communication sent
55− to the Licensor or its representatives, including but not limited to
56− communication on electronic mailing lists, source code control systems,
57− and issue tracking systems that are managed by, or on behalf of, the
58− Licensor for the purpose of discussing and improving the Work, but
59− excluding communication that is conspicuously marked or otherwise
60− designated in writing by the copyright owner as "Not a Contribution."
61−
62− "Contributor" shall mean Licensor and any individual or Legal Entity
63− on behalf of whom a Contribution has been received by Licensor and
64− subsequently incorporated within the Work.
65−
66−2. Grant of Copyright License. Subject to the terms and conditions of
67− this License, each Contributor hereby grants to You a perpetual,
68− worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69− copyright license to reproduce, prepare Derivative Works of,
70− publicly display, publicly perform, sublicense, and distribute the
71− Work and such Derivative Works in Source or Object form.
72−
73−3. Grant of Patent License. Subject to the terms and conditions of
74− this License, each Contributor hereby grants to You a perpetual,
75− worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76− (except as stated in this section) patent license to make, have made,
77− use, offer to sell, sell, import, and otherwise transfer the Work,
78− where such license applies only to those patent claims licensable
79− by such Contributor that are necessarily infringed by their
80− Contribution(s) alone or by combination of their Contribution(s)
81− with the Work to which such Contribution(s) was submitted. If You
82− institute patent litigation against any entity (including a
83− cross-claim or counterclaim in a lawsuit) alleging that the Work
84− or a Contribution incorporated within the Work constitutes direct
85− or contributory patent infringement, then any patent licenses
86− granted to You under this License for that Work shall terminate
87− as of the date such litigation is filed.
88−
89−4. Redistribution. You may reproduce and distribute copies of the
90− Work or Derivative Works thereof in any medium, with or without
91− modifications, and in Source or Object form, provided that You
92− meet the following conditions:
93−
94− (a) You must give any other recipients of the Work or
95− Derivative Works a copy of this License; and
96−
97− (b) You must cause any modified files to carry prominent notices
98− stating that You changed the files; and
99−
100− (c) You must retain, in the Source form of any Derivative Works
101− that You distribute, all copyright, patent, trademark, and
102− attribution notices from the Source form of the Work,
103− excluding those notices that do not pertain to any part of
104− the Derivative Works; and
105−
106− (d) If the Work includes a "NOTICE" text file as part of its
107− distribution, then any Derivative Works that You distribute must
108− include a readable copy of the attribution notices contained
109− within such NOTICE file, excluding those notices that do not
110− pertain to any part of the Derivative Works, in at least one
111− of the following places: within a NOTICE text file distributed
112− as part of the Derivative Works; within the Source form or
113− documentation, if provided along with the Derivative Works; or,
114− within a display generated by the Derivative Works, if and
115− wherever such third-party notices normally appear. The contents
116− of the NOTICE file are for informational purposes only and
117− do not modify the License. You may add Your own attribution
118− notices within Derivative Works that You distribute, alongside
119− or as an addendum to the NOTICE text from the Work, provided
120− that such additional attribution notices cannot be construed
121− as modifying the License.
122−
123− You may add Your own copyright statement to Your modifications and
124− may provide additional or different license terms and conditions
125− for use, reproduction, or distribution of Your modifications, or
126− for any such Derivative Works as a whole, provided Your use,
127− reproduction, and distribution of the Work otherwise complies with
128− the conditions stated in this License.
129−
130−5. Submission of Contributions. Unless You explicitly state otherwise,
131− any Contribution intentionally submitted for inclusion in the Work
132− by You to the Licensor shall be under the terms and conditions of
133− this License, without any additional terms or conditions.
134− Notwithstanding the above, nothing herein shall supersede or modify
135− the terms of any separate license agreement you may have executed
136− with Licensor regarding such Contributions.
137−
138−6. Trademarks. This License does not grant permission to use the trade
139− names, trademarks, service marks, or product names of the Licensor,
140− except as required for reasonable and customary use in describing the
141− origin of the Work and reproducing the content of the NOTICE file.
142−
143−7. Disclaimer of Warranty. Unless required by applicable law or
144− agreed to in writing, Licensor provides the Work (and each
145− Contributor provides its Contributions) on an "AS IS" BASIS,
146− WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147− implied, including, without limitation, any warranties or conditions
148− of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149− PARTICULAR PURPOSE. You are solely responsible for determining the
150− appropriateness of using or redistributing the Work and assume any
151− risks associated with Your exercise of permissions under this License.
152−
153−8. Limitation of Liability. In no event and under no legal theory,
154− whether in tort (including negligence), contract, or otherwise,
155− unless required by applicable law (such as deliberate and grossly
156− negligent acts) or agreed to in writing, shall any Contributor be
157− liable to You for damages, including any direct, indirect, special,
158− incidental, or consequential damages of any character arising as a
159− result of this License or out of the use or inability to use the
160− Work (including but not limited to damages for loss of goodwill,
161− work stoppage, computer failure or malfunction, or any and all
162− other commercial damages or losses), even if such Contributor
163− has been advised of the possibility of such damages.
164−
165−9. Accepting Warranty or Additional Liability. While redistributing
166− the Work or Derivative Works thereof, You may choose to offer,
167− and charge a fee for, acceptance of support, warranty, indemnity,
168− or other liability obligations and/or rights consistent with this
169− License. However, in accepting such obligations, You may act only
170− on Your own behalf and on Your sole responsibility, not on behalf
171− of any other Contributor, and only if You agree to indemnify,
172− defend, and hold each Contributor harmless for any liability
173− incurred by, or claims asserted against, such Contributor by reason
174− of your accepting any such warranty or additional liability.
175−
176−END OF TERMS AND CONDITIONS
177−
178−APPENDIX: How to apply the Apache License to your work.
179−
180− To apply the Apache License to your work, attach the following
181− boilerplate notice, with the fields enclosed by brackets "[]"
182− replaced with your own identifying information. (Don't include
183− the brackets!) The text should be enclosed in the appropriate
184− comment syntax for the file format. We also recommend that a
185− file or class name and description of purpose be included on the
186− same "printed page" as the copyright notice for easier
187− identification within third-party archives.
188−
189−Copyright [yyyy] [name of copyright owner]
190−
191−Licensed under the Apache License, Version 2.0 (the "License");
192−you may not use this file except in compliance with the License.
193−You may obtain a copy of the License at
194−
195− http://www.apache.org/licenses/LICENSE-2.0
196−
197−Unless required by applicable law or agreed to in writing, software
198−distributed under the License is distributed on an "AS IS" BASIS,
199−WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200−See the License for the specific language governing permissions and
201−limitations under the License.
examples/hello-world/LICENSE-MITdeleted−25
@@ -1,25 +0,0 @@
1−Copyright (c) 2015 The Rust Project Developers
2−
3−Permission is hereby granted, free of charge, to any
4−person obtaining a copy of this software and associated
5−documentation files (the "Software"), to deal in the
6−Software without restriction, including without
7−limitation the rights to use, copy, modify, merge,
8−publish, distribute, sublicense, and/or sell copies of
9−the Software, and to permit persons to whom the Software
10−is furnished to do so, subject to the following
11−conditions:
12−
13−The above copyright notice and this permission notice
14−shall be included in all copies or substantial portions
15−of the Software.
16−
17−THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
18−ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
19−TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
20−PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
21−SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22−CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23−OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
24−IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25−DEALINGS IN THE SOFTWARE.
examples/hello-world/README.md+12−20
@@ -1,29 +1,21 @@
1−# 🦀🕸 `rust-webpack-template`
1+# Hello World
22
3−> **Kickstart your Rust, WebAssembly, and Webpack project!**
3+The most basic example!
44
5−This template is designed for creating monorepo-style Web applications with
6−Rust-generated WebAssembly and Webpack without publishing your wasm to NPM.
5+## Source
76
8−* Want to create and publish NPM packages with Rust and WebAssembly? [Check out
9− `wasm-pack-template`.](https://github.com/rustwasm/wasm-pack-template)
7+See `src/lib.rs`.
108
11−## 🔋 Batteries Included
9+## Build
1210
13−This template comes pre-configured with all the boilerplate for compiling Rust
14−to WebAssembly and hooking into a Webpack build pipeline.
15−
16−* `npm run start` -- Serve the project locally for development at
17− `http://localhost:8080`.
18−
19−* `npm run build` -- Bundle the project (in production mode).
20−
21−## 🚴 Using This Template
11+```
12+wasm-pack build --target web
13+```
2214
23−First, [install `wasm-pack`!](https://rustwasm.github.io/wasm-pack/installer/)
15+## Serve
2416
25−Then, use `npm init` to clone this template:
17+Use any HTTP server, for example:
2618
27−```sh
28−npm init rust-webpack my-app
19+```
20+python -m SimpleHTTPServer
2921```
examples/hello-world/crate/src/lib.rsdeleted−45
@@ -1,45 +0,0 @@
1−use bumpalo::Bump;
2−use dodrio::{Node, Render};
3−use wasm_bindgen::prelude::*;
4−
5−struct HelloWorld<'a>(&'a str);
6−
7−impl<'who> HelloWorld<'who> {
8− fn new(who: &str) -> HelloWorld {
9− HelloWorld(who)
10− }
11−}
12−
13−impl<'who> Render for HelloWorld<'who> {
14− fn render<'a, 'bump>(&'a self, bump: &'bump Bump) -> dodrio::node::NodeRef<'bump>
15− where
16− 'a: 'bump,
17− {
18− bump.alloc(Node::element(
19− "p",
20− [],
21− [
22− bump.alloc(Node::text("Hello, ")).into(),
23− bump.alloc(Node::text(self.0)).into(),
24− bump.alloc(Node::text("!")).into(),
25− ],
26− ))
27− .into()
28− }
29−}
30−
31−#[wasm_bindgen]
32−pub fn run() {
33− console_error_panic_hook::set_once();
34−
35− let window = web_sys::window().unwrap();
36− let document = window.document().unwrap();
37− let body = document.body().unwrap();
38−
39− // Create a new dodrio vdom contained in the body, with an initial virtual
40− // dom.
41− let mut vdom = dodrio::Vdom::new(body.as_ref(), &HelloWorld::new("World"));
42−
43− // Render a new node tree into the virtual dom.
44− vdom.render(&HelloWorld::new("Dodrio"));
45−}
examples/hello-world/index.html+4
@@ -5,5 +5,9 @@
55 <title>Hello, World!</title>
66 </head>
77 <body>
8+ <script type="module">
9+ import init from "./pkg/dodrio_hello_world.js";
10+ init("./pkg/dodrio_hello_world_bg.wasm");
11+ </script>
812 </body>
913</html>
examples/hello-world/js/index.jsdeleted−3
@@ -1,3 +0,0 @@
1−import("../crate/pkg").then(module => {
2− module.run();
3−});
examples/hello-world/package-lock.jsondeleted−5790
@@ -1,5790 +0,0 @@
1−{
2− "name": "create-rust-webpack",
3− "version": "0.1.5",
4− "lockfileVersion": 1,
5− "requires": true,
6− "dependencies": {
7− "@wasm-tool/wasm-pack-plugin": {
8− "version": "0.1.6",
9− "resolved": "https://registry.npmjs.org/@wasm-tool/wasm-pack-plugin/-/wasm-pack-plugin-0.1.6.tgz",
10− "integrity": "sha512-Nk6IqWSpvSnfjHOIElcol4aXLusl+/XKeuC2ViqbHOKHIClfN1r9KK9/KvGTslw7Qyjg4pVBYjGrTTRFqvvvvw==",
11− "dev": true,
12− "requires": {
13− "chalk": "^2.4.1",
14− "command-exists": "^1.2.7",
15− "glob": "^7.1.2",
16− "watchpack": "^1.6.0"
17− }
18− },
19− "@webassemblyjs/ast": {
20− "version": "1.7.11",
21− "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.11.tgz",
22− "integrity": "sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA==",
23− "dev": true,
24− "requires": {
25− "@webassemblyjs/helper-module-context": "1.7.11",
26− "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
27− "@webassemblyjs/wast-parser": "1.7.11"
28− }
29− },
30− "@webassemblyjs/floating-point-hex-parser": {
31− "version": "1.7.11",
32− "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz",
33− "integrity": "sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg==",
34− "dev": true
35− },
36− "@webassemblyjs/helper-api-error": {
37− "version": "1.7.11",
38− "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz",
39− "integrity": "sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg==",
40− "dev": true
41− },
42− "@webassemblyjs/helper-buffer": {
43− "version": "1.7.11",
44− "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz",
45− "integrity": "sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w==",
46− "dev": true
47− },
48− "@webassemblyjs/helper-code-frame": {
49− "version": "1.7.11",
50− "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz",
51− "integrity": "sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw==",
52− "dev": true,
53− "requires": {
54− "@webassemblyjs/wast-printer": "1.7.11"
55− }
56− },
57− "@webassemblyjs/helper-fsm": {
58− "version": "1.7.11",
59− "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz",
60− "integrity": "sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A==",
61− "dev": true
62− },
63− "@webassemblyjs/helper-module-context": {
64− "version": "1.7.11",
65− "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz",
66− "integrity": "sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg==",
67− "dev": true
68− },
69− "@webassemblyjs/helper-wasm-bytecode": {
70− "version": "1.7.11",
71− "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz",
72− "integrity": "sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ==",
73− "dev": true
74− },
75− "@webassemblyjs/helper-wasm-section": {
76− "version": "1.7.11",
77− "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz",
78− "integrity": "sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q==",
79− "dev": true,
80− "requires": {
81− "@webassemblyjs/ast": "1.7.11",
82− "@webassemblyjs/helper-buffer": "1.7.11",
83− "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
84− "@webassemblyjs/wasm-gen": "1.7.11"
85− }
86− },
87− "@webassemblyjs/ieee754": {
88− "version": "1.7.11",
89− "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz",
90− "integrity": "sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ==",
91− "dev": true,
92− "requires": {
93− "@xtuc/ieee754": "^1.2.0"
94− }
95− },
96− "@webassemblyjs/leb128": {
97− "version": "1.7.11",
98− "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.11.tgz",
99− "integrity": "sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw==",
100− "dev": true,
101− "requires": {
102− "@xtuc/long": "4.2.1"
103− }
104− },
105− "@webassemblyjs/utf8": {
106− "version": "1.7.11",
107− "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.11.tgz",
108− "integrity": "sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA==",
109− "dev": true
110− },
111− "@webassemblyjs/wasm-edit": {
112− "version": "1.7.11",
113− "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz",
114− "integrity": "sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg==",
115− "dev": true,
116− "requires": {
117− "@webassemblyjs/ast": "1.7.11",
118− "@webassemblyjs/helper-buffer": "1.7.11",
119− "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
120− "@webassemblyjs/helper-wasm-section": "1.7.11",
121− "@webassemblyjs/wasm-gen": "1.7.11",
122− "@webassemblyjs/wasm-opt": "1.7.11",
123− "@webassemblyjs/wasm-parser": "1.7.11",
124− "@webassemblyjs/wast-printer": "1.7.11"
125− }
126− },
127− "@webassemblyjs/wasm-gen": {
128− "version": "1.7.11",
129− "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz",
130− "integrity": "sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA==",
131− "dev": true,
132− "requires": {
133− "@webassemblyjs/ast": "1.7.11",
134− "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
135− "@webassemblyjs/ieee754": "1.7.11",
136− "@webassemblyjs/leb128": "1.7.11",
137− "@webassemblyjs/utf8": "1.7.11"
138− }
139− },
140− "@webassemblyjs/wasm-opt": {
141− "version": "1.7.11",
142− "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz",
143− "integrity": "sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg==",
144− "dev": true,
145− "requires": {
146− "@webassemblyjs/ast": "1.7.11",
147− "@webassemblyjs/helper-buffer": "1.7.11",
148− "@webassemblyjs/wasm-gen": "1.7.11",
149− "@webassemblyjs/wasm-parser": "1.7.11"
150− }
151− },
152− "@webassemblyjs/wasm-parser": {
153− "version": "1.7.11",
154− "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz",
155− "integrity": "sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg==",
156− "dev": true,
157− "requires": {
158− "@webassemblyjs/ast": "1.7.11",
159− "@webassemblyjs/helper-api-error": "1.7.11",
160− "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
161− "@webassemblyjs/ieee754": "1.7.11",
162− "@webassemblyjs/leb128": "1.7.11",
163− "@webassemblyjs/utf8": "1.7.11"
164− }
165− },
166− "@webassemblyjs/wast-parser": {
167− "version": "1.7.11",
168− "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz",
169− "integrity": "sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ==",
170− "dev": true,
171− "requires": {
172− "@webassemblyjs/ast": "1.7.11",
173− "@webassemblyjs/floating-point-hex-parser": "1.7.11",
174− "@webassemblyjs/helper-api-error": "1.7.11",
175− "@webassemblyjs/helper-code-frame": "1.7.11",
176− "@webassemblyjs/helper-fsm": "1.7.11",
177− "@xtuc/long": "4.2.1"
178− }
179− },
180− "@webassemblyjs/wast-printer": {
181− "version": "1.7.11",
182− "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz",
183− "integrity": "sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg==",
184− "dev": true,
185− "requires": {
186− "@webassemblyjs/ast": "1.7.11",
187− "@webassemblyjs/wast-parser": "1.7.11",
188− "@xtuc/long": "4.2.1"
189− }
190− },
191− "@xtuc/ieee754": {
192− "version": "1.2.0",
193− "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
194− "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
195− "dev": true
196− },
197− "@xtuc/long": {
198− "version": "4.2.1",
199− "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz",
200− "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==",
201− "dev": true
202− },
203− "accepts": {
204− "version": "1.3.5",
205− "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
206− "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
207− "dev": true,
208− "requires": {
209− "mime-types": "~2.1.18",
210− "negotiator": "0.6.1"
211− }
212− },
213− "acorn": {
214− "version": "5.7.3",
215− "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
216− "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
217− "dev": true
218− },
219− "acorn-dynamic-import": {
220− "version": "3.0.0",
221− "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz",
222− "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==",
223− "dev": true,
224− "requires": {
225− "acorn": "^5.0.0"
226− }
227− },
228− "ajv": {
229− "version": "6.5.3",
230− "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz",
231− "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==",
232− "dev": true,
233− "requires": {
234− "fast-deep-equal": "^2.0.1",
235− "fast-json-stable-stringify": "^2.0.0",
236− "json-schema-traverse": "^0.4.1",
237− "uri-js": "^4.2.2"
238− }
239− },
240− "ajv-errors": {
241− "version": "1.0.1",
242− "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
243− "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
244− "dev": true
245− },
246− "ajv-keywords": {
247− "version": "3.2.0",
248− "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz",
249− "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=",
250− "dev": true
251− },
252− "ansi-colors": {
253− "version": "3.2.3",
254− "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
255− "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==",
256− "dev": true
257− },
258− "ansi-html": {
259− "version": "0.0.7",
260− "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
261− "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
262− "dev": true
263− },
264− "ansi-regex": {
265− "version": "2.1.1",
266− "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
267− "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
268− "dev": true
269− },
270− "ansi-styles": {
271− "version": "3.2.1",
272− "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
273− "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
274− "dev": true,
275− "requires": {
276− "color-convert": "^1.9.0"
277− }
278− },
279− "anymatch": {
280− "version": "2.0.0",
281− "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
282− "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
283− "dev": true,
284− "requires": {
285− "micromatch": "^3.1.4",
286− "normalize-path": "^2.1.1"
287− }
288− },
289− "aproba": {
290− "version": "1.2.0",
291− "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
292− "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
293− "dev": true
294− },
295− "arr-diff": {
296− "version": "4.0.0",
297− "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
298− "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
299− "dev": true
300− },
301− "arr-flatten": {
302− "version": "1.1.0",
303− "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
304− "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
305− "dev": true
306− },
307− "arr-union": {
308− "version": "3.1.0",
309− "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
310− "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
311− "dev": true
312− },
313− "array-flatten": {
314− "version": "2.1.2",
315− "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
316− "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
317− "dev": true
318− },
319− "array-union": {
320− "version": "1.0.2",
321− "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
322− "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
323− "dev": true,
324− "requires": {
325− "array-uniq": "^1.0.1"
326− }
327− },
328− "array-uniq": {
329− "version": "1.0.3",
330− "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
331− "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
332− "dev": true
333− },
334− "array-unique": {
335− "version": "0.3.2",
336− "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
337− "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
338− "dev": true
339− },
340− "asn1.js": {
341− "version": "4.10.1",
342− "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
343− "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
344− "dev": true,
345− "requires": {
346− "bn.js": "^4.0.0",
347− "inherits": "^2.0.1",
348− "minimalistic-assert": "^1.0.0"
349− }
350− },
351− "assert": {
352− "version": "1.4.1",
353− "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
354− "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
355− "dev": true,
356− "requires": {
357− "util": "0.10.3"
358− },
359− "dependencies": {
360− "inherits": {
361− "version": "2.0.1",
362− "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
363− "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
364− "dev": true
365− },
366− "util": {
367− "version": "0.10.3",
368− "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
369− "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
370− "dev": true,
371− "requires": {
372− "inherits": "2.0.1"
373− }
374− }
375− }
376− },
377− "assign-symbols": {
378− "version": "1.0.0",
379− "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
380− "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
381− "dev": true
382− },
383− "async": {
384− "version": "1.5.2",
385− "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz",
386− "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
387− "dev": true
388− },
389− "async-each": {
390− "version": "1.0.1",
391− "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
392− "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
393− "dev": true
394− },
395− "atob": {
396− "version": "2.1.1",
397− "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz",
398− "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=",
399− "dev": true
400− },
401− "balanced-match": {
402− "version": "1.0.0",
403− "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
404− "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
405− "dev": true
406− },
407− "base": {
408− "version": "0.11.2",
409− "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
410− "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
411− "dev": true,
412− "requires": {
413− "cache-base": "^1.0.1",
414− "class-utils": "^0.3.5",
415− "component-emitter": "^1.2.1",
416− "define-property": "^1.0.0",
417− "isobject": "^3.0.1",
418− "mixin-deep": "^1.2.0",
419− "pascalcase": "^0.1.1"
420− },
421− "dependencies": {
422− "define-property": {
423− "version": "1.0.0",
424− "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
425− "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
426− "dev": true,
427− "requires": {
428− "is-descriptor": "^1.0.0"
429− }
430− },
431− "is-accessor-descriptor": {
432− "version": "1.0.0",
433− "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
434− "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
435− "dev": true,
436− "requires": {
437− "kind-of": "^6.0.0"
438− }
439− },
440− "is-data-descriptor": {
441− "version": "1.0.0",
442− "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
443− "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
444− "dev": true,
445− "requires": {
446− "kind-of": "^6.0.0"
447− }
448− },
449− "is-descriptor": {
450− "version": "1.0.2",
451− "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
452− "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
453− "dev": true,
454− "requires": {
455− "is-accessor-descriptor": "^1.0.0",
456− "is-data-descriptor": "^1.0.0",
457− "kind-of": "^6.0.2"
458− }
459− }
460− }
461− },
462− "base64-js": {
463− "version": "1.3.0",
464− "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
465− "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
466− "dev": true
467− },
468− "batch": {
469− "version": "0.6.1",
470− "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
471− "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
472− "dev": true
473− },
474− "big.js": {
475− "version": "3.2.0",
476− "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
477− "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
478− "dev": true
479− },
480− "binary-extensions": {
481− "version": "1.11.0",
482− "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
483− "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=",
484− "dev": true
485− },
486− "bluebird": {
487− "version": "3.5.2",
488− "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.2.tgz",
489− "integrity": "sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg==",
490− "dev": true
491− },
492− "bn.js": {
493− "version": "4.11.8",
494− "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
495− "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
496− "dev": true
497− },
498− "body-parser": {
499− "version": "1.18.3",
500− "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz",
501− "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=",
502− "dev": true,
503− "requires": {
504− "bytes": "3.0.0",
505− "content-type": "~1.0.4",
506− "debug": "2.6.9",
507− "depd": "~1.1.2",
508− "http-errors": "~1.6.3",
509− "iconv-lite": "0.4.23",
510− "on-finished": "~2.3.0",
511− "qs": "6.5.2",
512− "raw-body": "2.3.3",
513− "type-is": "~1.6.16"
514− },
515− "dependencies": {
516− "debug": {
517− "version": "2.6.9",
518− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
519− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
520− "dev": true,
521− "requires": {
522− "ms": "2.0.0"
523− }
524− }
525− }
526− },
527− "bonjour": {
528− "version": "3.5.0",
529− "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
530− "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
531− "dev": true,
532− "requires": {
533− "array-flatten": "^2.1.0",
534− "deep-equal": "^1.0.1",
535− "dns-equal": "^1.0.0",
536− "dns-txt": "^2.0.2",
537− "multicast-dns": "^6.0.1",
538− "multicast-dns-service-types": "^1.1.0"
539− }
540− },
541− "boolbase": {
542− "version": "1.0.0",
543− "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
544− "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
545− "dev": true
546− },
547− "brace-expansion": {
548− "version": "1.1.11",
549− "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
550− "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
551− "dev": true,
552− "requires": {
553− "balanced-match": "^1.0.0",
554− "concat-map": "0.0.1"
555− }
556− },
557− "braces": {
558− "version": "2.3.2",
559− "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
560− "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
561− "dev": true,
562− "requires": {
563− "arr-flatten": "^1.1.0",
564− "array-unique": "^0.3.2",
565− "extend-shallow": "^2.0.1",
566− "fill-range": "^4.0.0",
567− "isobject": "^3.0.1",
568− "repeat-element": "^1.1.2",
569− "snapdragon": "^0.8.1",
570− "snapdragon-node": "^2.0.1",
571− "split-string": "^3.0.2",
572− "to-regex": "^3.0.1"
573− },
574− "dependencies": {
575− "extend-shallow": {
576− "version": "2.0.1",
577− "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
578− "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
579− "dev": true,
580− "requires": {
581− "is-extendable": "^0.1.0"
582− }
583− }
584− }
585− },
586− "brorand": {
587− "version": "1.1.0",
588− "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
589− "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
590− "dev": true
591− },
592− "browserify-aes": {
593− "version": "1.2.0",
594− "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
595− "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
596− "dev": true,
597− "requires": {
598− "buffer-xor": "^1.0.3",
599− "cipher-base": "^1.0.0",
600− "create-hash": "^1.1.0",
601− "evp_bytestokey": "^1.0.3",
602− "inherits": "^2.0.1",
603− "safe-buffer": "^5.0.1"
604− }
605− },
606− "browserify-cipher": {
607− "version": "1.0.1",
608− "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
609− "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
610− "dev": true,
611− "requires": {
612− "browserify-aes": "^1.0.4",
613− "browserify-des": "^1.0.0",
614− "evp_bytestokey": "^1.0.0"
615− }
616− },
617− "browserify-des": {
618− "version": "1.0.2",
619− "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
620− "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
621− "dev": true,
622− "requires": {
623− "cipher-base": "^1.0.1",
624− "des.js": "^1.0.0",
625− "inherits": "^2.0.1",
626− "safe-buffer": "^5.1.2"
627− }
628− },
629− "browserify-rsa": {
630− "version": "4.0.1",
631− "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
632− "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
633− "dev": true,
634− "requires": {
635− "bn.js": "^4.1.0",
636− "randombytes": "^2.0.1"
637− }
638− },
639− "browserify-sign": {
640− "version": "4.0.4",
641− "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
642− "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
643− "dev": true,
644− "requires": {
645− "bn.js": "^4.1.1",
646− "browserify-rsa": "^4.0.0",
647− "create-hash": "^1.1.0",
648− "create-hmac": "^1.1.2",
649− "elliptic": "^6.0.0",
650− "inherits": "^2.0.1",
651− "parse-asn1": "^5.0.0"
652− }
653− },
654− "browserify-zlib": {
655− "version": "0.2.0",
656− "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
657− "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
658− "dev": true,
659− "requires": {
660− "pako": "~1.0.5"
661− }
662− },
663− "buffer": {
664− "version": "4.9.1",
665− "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
666− "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
667− "dev": true,
668− "requires": {
669− "base64-js": "^1.0.2",
670− "ieee754": "^1.1.4",
671− "isarray": "^1.0.0"
672− }
673− },
674− "buffer-from": {
675− "version": "1.1.1",
676− "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
677− "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
678− "dev": true
679− },
680− "buffer-indexof": {
681− "version": "1.1.1",
682− "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
683− "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==",
684− "dev": true
685− },
686− "buffer-xor": {
687− "version": "1.0.3",
688− "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
689− "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
690− "dev": true
691− },
692− "builtin-status-codes": {
693− "version": "3.0.0",
694− "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
695− "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
696− "dev": true
697− },
698− "bytes": {
699− "version": "3.0.0",
700− "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
701− "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
702− "dev": true
703− },
704− "cacache": {
705− "version": "10.0.4",
706− "resolved": "http://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz",
707− "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==",
708− "dev": true,
709− "requires": {
710− "bluebird": "^3.5.1",
711− "chownr": "^1.0.1",
712− "glob": "^7.1.2",
713− "graceful-fs": "^4.1.11",
714− "lru-cache": "^4.1.1",
715− "mississippi": "^2.0.0",
716− "mkdirp": "^0.5.1",
717− "move-concurrently": "^1.0.1",
718− "promise-inflight": "^1.0.1",
719− "rimraf": "^2.6.2",
720− "ssri": "^5.2.4",
721− "unique-filename": "^1.1.0",
722− "y18n": "^4.0.0"
723− }
724− },
725− "cache-base": {
726− "version": "1.0.1",
727− "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
728− "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
729− "dev": true,
730− "requires": {
731− "collection-visit": "^1.0.0",
732− "component-emitter": "^1.2.1",
733− "get-value": "^2.0.6",
734− "has-value": "^1.0.0",
735− "isobject": "^3.0.1",
736− "set-value": "^2.0.0",
737− "to-object-path": "^0.3.0",
738− "union-value": "^1.0.0",
739− "unset-value": "^1.0.0"
740− }
741− },
742− "camel-case": {
743− "version": "3.0.0",
744− "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
745− "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
746− "dev": true,
747− "requires": {
748− "no-case": "^2.2.0",
749− "upper-case": "^1.1.1"
750− }
751− },
752− "camelcase": {
753− "version": "4.1.0",
754− "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
755− "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
756− "dev": true
757− },
758− "chalk": {
759− "version": "2.4.1",
760− "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
761− "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
762− "dev": true,
763− "requires": {
764− "ansi-styles": "^3.2.1",
765− "escape-string-regexp": "^1.0.5",
766− "supports-color": "^5.3.0"
767− }
768− },
769− "chokidar": {
770− "version": "2.0.4",
771− "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
772− "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
773− "dev": true,
774− "requires": {
775− "anymatch": "^2.0.0",
776− "async-each": "^1.0.0",
777− "braces": "^2.3.0",
778− "fsevents": "^1.2.2",
779− "glob-parent": "^3.1.0",
780− "inherits": "^2.0.1",
781− "is-binary-path": "^1.0.0",
782− "is-glob": "^4.0.0",
783− "lodash.debounce": "^4.0.8",
784− "normalize-path": "^2.1.1",
785− "path-is-absolute": "^1.0.0",
786− "readdirp": "^2.0.0",
787− "upath": "^1.0.5"
788− }
789− },
790− "chownr": {
791− "version": "1.1.1",
792− "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz",
793− "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
794− "dev": true
795− },
796− "chrome-trace-event": {
797− "version": "1.0.0",
798− "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz",
799− "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==",
800− "dev": true,
801− "requires": {
802− "tslib": "^1.9.0"
803− }
804− },
805− "cipher-base": {
806− "version": "1.0.4",
807− "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
808− "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
809− "dev": true,
810− "requires": {
811− "inherits": "^2.0.1",
812− "safe-buffer": "^5.0.1"
813− }
814− },
815− "class-utils": {
816− "version": "0.3.6",
817− "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
818− "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
819− "dev": true,
820− "requires": {
821− "arr-union": "^3.1.0",
822− "define-property": "^0.2.5",
823− "isobject": "^3.0.0",
824− "static-extend": "^0.1.1"
825− },
826− "dependencies": {
827− "define-property": {
828− "version": "0.2.5",
829− "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
830− "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
831− "dev": true,
832− "requires": {
833− "is-descriptor": "^0.1.0"
834− }
835− }
836− }
837− },
838− "clean-css": {
839− "version": "4.1.11",
840− "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz",
841− "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=",
842− "dev": true,
843− "requires": {
844− "source-map": "0.5.x"
845− }
846− },
847− "cliui": {
848− "version": "4.1.0",
849− "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
850− "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
851− "dev": true,
852− "requires": {
853− "string-width": "^2.1.1",
854− "strip-ansi": "^4.0.0",
855− "wrap-ansi": "^2.0.0"
856− },
857− "dependencies": {
858− "ansi-regex": {
859− "version": "3.0.0",
860− "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
861− "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
862− "dev": true
863− },
864− "strip-ansi": {
865− "version": "4.0.0",
866− "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
867− "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
868− "dev": true,
869− "requires": {
870− "ansi-regex": "^3.0.0"
871− }
872− }
873− }
874− },
875− "code-point-at": {
876− "version": "1.1.0",
877− "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
878− "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
879− "dev": true
880− },
881− "collection-visit": {
882− "version": "1.0.0",
883− "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
884− "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
885− "dev": true,
886− "requires": {
887− "map-visit": "^1.0.0",
888− "object-visit": "^1.0.0"
889− }
890− },
891− "color-convert": {
892− "version": "1.9.2",
893− "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz",
894− "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==",
895− "dev": true,
896− "requires": {
897− "color-name": "1.1.1"
898− }
899− },
900− "color-name": {
901− "version": "1.1.1",
902− "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz",
903− "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=",
904− "dev": true
905− },
906− "command-exists": {
907− "version": "1.2.8",
908− "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.8.tgz",
909− "integrity": "sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==",
910− "dev": true
911− },
912− "commander": {
913− "version": "2.13.0",
914− "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
915− "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==",
916− "dev": true
917− },
918− "commondir": {
919− "version": "1.0.1",
920− "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
921− "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
922− "dev": true
923− },
924− "component-emitter": {
925− "version": "1.2.1",
926− "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
927− "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
928− "dev": true
929− },
930− "compressible": {
931− "version": "2.0.15",
932− "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.15.tgz",
933− "integrity": "sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==",
934− "dev": true,
935− "requires": {
936− "mime-db": ">= 1.36.0 < 2"
937− }
938− },
939− "compression": {
940− "version": "1.7.3",
941− "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz",
942− "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==",
943− "dev": true,
944− "requires": {
945− "accepts": "~1.3.5",
946− "bytes": "3.0.0",
947− "compressible": "~2.0.14",
948− "debug": "2.6.9",
949− "on-headers": "~1.0.1",
950− "safe-buffer": "5.1.2",
951− "vary": "~1.1.2"
952− },
953− "dependencies": {
954− "debug": {
955− "version": "2.6.9",
956− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
957− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
958− "dev": true,
959− "requires": {
960− "ms": "2.0.0"
961− }
962− }
963− }
964− },
965− "concat-map": {
966− "version": "0.0.1",
967− "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
968− "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
969− "dev": true
970− },
971− "concat-stream": {
972− "version": "1.6.2",
973− "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
974− "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
975− "dev": true,
976− "requires": {
977− "buffer-from": "^1.0.0",
978− "inherits": "^2.0.3",
979− "readable-stream": "^2.2.2",
980− "typedarray": "^0.0.6"
981− }
982− },
983− "connect-history-api-fallback": {
984− "version": "1.6.0",
985− "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
986− "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
987− "dev": true
988− },
989− "console-browserify": {
990− "version": "1.1.0",
991− "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
992− "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
993− "dev": true,
994− "requires": {
995− "date-now": "^0.1.4"
996− }
997− },
998− "constants-browserify": {
999− "version": "1.0.0",
1000− "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
1001− "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
1002− "dev": true
1003− },
1004− "content-disposition": {
1005− "version": "0.5.2",
1006− "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
1007− "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=",
1008− "dev": true
1009− },
1010− "content-type": {
1011− "version": "1.0.4",
1012− "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
1013− "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
1014− "dev": true
1015− },
1016− "cookie": {
1017− "version": "0.3.1",
1018− "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
1019− "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
1020− "dev": true
1021− },
1022− "cookie-signature": {
1023− "version": "1.0.6",
1024− "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
1025− "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
1026− "dev": true
1027− },
1028− "copy-concurrently": {
1029− "version": "1.0.5",
1030− "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
1031− "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
1032− "dev": true,
1033− "requires": {
1034− "aproba": "^1.1.1",
1035− "fs-write-stream-atomic": "^1.0.8",
1036− "iferr": "^0.1.5",
1037− "mkdirp": "^0.5.1",
1038− "rimraf": "^2.5.4",
1039− "run-queue": "^1.0.0"
1040− }
1041− },
1042− "copy-descriptor": {
1043− "version": "0.1.1",
1044− "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
1045− "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
1046− "dev": true
1047− },
1048− "core-util-is": {
1049− "version": "1.0.2",
1050− "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
1051− "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
1052− "dev": true
1053− },
1054− "create-ecdh": {
1055− "version": "4.0.3",
1056− "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
1057− "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
1058− "dev": true,
1059− "requires": {
1060− "bn.js": "^4.1.0",
1061− "elliptic": "^6.0.0"
1062− }
1063− },
1064− "create-hash": {
1065− "version": "1.2.0",
1066− "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
1067− "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
1068− "dev": true,
1069− "requires": {
1070− "cipher-base": "^1.0.1",
1071− "inherits": "^2.0.1",
1072− "md5.js": "^1.3.4",
1073− "ripemd160": "^2.0.1",
1074− "sha.js": "^2.4.0"
1075− }
1076− },
1077− "create-hmac": {
1078− "version": "1.1.7",
1079− "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
1080− "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
1081− "dev": true,
1082− "requires": {
1083− "cipher-base": "^1.0.3",
1084− "create-hash": "^1.1.0",
1085− "inherits": "^2.0.1",
1086− "ripemd160": "^2.0.0",
1087− "safe-buffer": "^5.0.1",
1088− "sha.js": "^2.4.8"
1089− }
1090− },
1091− "cross-spawn": {
1092− "version": "6.0.5",
1093− "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
1094− "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
1095− "dev": true,
1096− "requires": {
1097− "nice-try": "^1.0.4",
1098− "path-key": "^2.0.1",
1099− "semver": "^5.5.0",
1100− "shebang-command": "^1.2.0",
1101− "which": "^1.2.9"
1102− }
1103− },
1104− "crypto-browserify": {
1105− "version": "3.12.0",
1106− "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
1107− "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
1108− "dev": true,
1109− "requires": {
1110− "browserify-cipher": "^1.0.0",
1111− "browserify-sign": "^4.0.0",
1112− "create-ecdh": "^4.0.0",
1113− "create-hash": "^1.1.0",
1114− "create-hmac": "^1.1.0",
1115− "diffie-hellman": "^5.0.0",
1116− "inherits": "^2.0.1",
1117− "pbkdf2": "^3.0.3",
1118− "public-encrypt": "^4.0.0",
1119− "randombytes": "^2.0.0",
1120− "randomfill": "^1.0.3"
1121− }
1122− },
1123− "css-select": {
1124− "version": "1.2.0",
1125− "resolved": "http://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
1126− "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
1127− "dev": true,
1128− "requires": {
1129− "boolbase": "~1.0.0",
1130− "css-what": "2.1",
1131− "domutils": "1.5.1",
1132− "nth-check": "~1.0.1"
1133− }
1134− },
1135− "css-what": {
1136− "version": "2.1.0",
1137− "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz",
1138− "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=",
1139− "dev": true
1140− },
1141− "cyclist": {
1142− "version": "0.2.2",
1143− "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
1144− "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=",
1145− "dev": true
1146− },
1147− "date-now": {
1148− "version": "0.1.4",
1149− "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
1150− "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
1151− "dev": true
1152− },
1153− "debug": {
1154− "version": "3.2.6",
1155− "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
1156− "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
1157− "dev": true,
1158− "requires": {
1159− "ms": "^2.1.1"
1160− },
1161− "dependencies": {
1162− "ms": {
1163− "version": "2.1.1",
1164− "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
1165− "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
1166− "dev": true
1167− }
1168− }
1169− },
1170− "decamelize": {
1171− "version": "2.0.0",
1172− "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz",
1173− "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==",
1174− "dev": true,
1175− "requires": {
1176− "xregexp": "4.0.0"
1177− }
1178− },
1179− "decode-uri-component": {
1180− "version": "0.2.0",
1181− "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
1182− "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
1183− "dev": true
1184− },
1185− "deep-equal": {
1186− "version": "1.0.1",
1187− "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
1188− "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
1189− "dev": true
1190− },
1191− "default-gateway": {
1192− "version": "2.7.2",
1193− "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.2.tgz",
1194− "integrity": "sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ==",
1195− "dev": true,
1196− "requires": {
1197− "execa": "^0.10.0",
1198− "ip-regex": "^2.1.0"
1199− }
1200− },
1201− "define-properties": {
1202− "version": "1.1.2",
1203− "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
1204− "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
1205− "dev": true,
1206− "requires": {
1207− "foreach": "^2.0.5",
1208− "object-keys": "^1.0.8"
1209− }
1210− },
1211− "define-property": {
1212− "version": "2.0.2",
1213− "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
1214− "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
1215− "dev": true,
1216− "requires": {
1217− "is-descriptor": "^1.0.2",
1218− "isobject": "^3.0.1"
1219− },
1220− "dependencies": {
1221− "is-accessor-descriptor": {
1222− "version": "1.0.0",
1223− "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1224− "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1225− "dev": true,
1226− "requires": {
1227− "kind-of": "^6.0.0"
1228− }
1229− },
1230− "is-data-descriptor": {
1231− "version": "1.0.0",
1232− "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1233− "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1234− "dev": true,
1235− "requires": {
1236− "kind-of": "^6.0.0"
1237− }
1238− },
1239− "is-descriptor": {
1240− "version": "1.0.2",
1241− "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1242− "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1243− "dev": true,
1244− "requires": {
1245− "is-accessor-descriptor": "^1.0.0",
1246− "is-data-descriptor": "^1.0.0",
1247− "kind-of": "^6.0.2"
1248− }
1249− }
1250− }
1251− },
1252− "del": {
1253− "version": "3.0.0",
1254− "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz",
1255− "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=",
1256− "dev": true,
1257− "requires": {
1258− "globby": "^6.1.0",
1259− "is-path-cwd": "^1.0.0",
1260− "is-path-in-cwd": "^1.0.0",
1261− "p-map": "^1.1.1",
1262− "pify": "^3.0.0",
1263− "rimraf": "^2.2.8"
1264− }
1265− },
1266− "depd": {
1267− "version": "1.1.2",
1268− "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
1269− "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
1270− "dev": true
1271− },
1272− "des.js": {
1273− "version": "1.0.0",
1274− "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
1275− "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
1276− "dev": true,
1277− "requires": {
1278− "inherits": "^2.0.1",
1279− "minimalistic-assert": "^1.0.0"
1280− }
1281− },
1282− "destroy": {
1283− "version": "1.0.4",
1284− "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
1285− "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
1286− "dev": true
1287− },
1288− "detect-node": {
1289− "version": "2.0.4",
1290− "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
1291− "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
1292− "dev": true
1293− },
1294− "diffie-hellman": {
1295− "version": "5.0.3",
1296− "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
1297− "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
1298− "dev": true,
1299− "requires": {
1300− "bn.js": "^4.1.0",
1301− "miller-rabin": "^4.0.0",
1302− "randombytes": "^2.0.0"
1303− }
1304− },
1305− "dns-equal": {
1306− "version": "1.0.0",
1307− "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
1308− "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
1309− "dev": true
1310− },
1311− "dns-packet": {
1312− "version": "1.3.1",
1313− "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz",
1314− "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==",
1315− "dev": true,
1316− "requires": {
1317− "ip": "^1.1.0",
1318− "safe-buffer": "^5.0.1"
1319− }
1320− },
1321− "dns-txt": {
1322− "version": "2.0.2",
1323− "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
1324− "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
1325− "dev": true,
1326− "requires": {
1327− "buffer-indexof": "^1.0.0"
1328− }
1329− },
1330− "dom-converter": {
1331− "version": "0.1.4",
1332− "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz",
1333− "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=",
1334− "dev": true,
1335− "requires": {
1336− "utila": "~0.3"
1337− },
1338− "dependencies": {
1339− "utila": {
1340− "version": "0.3.3",
1341− "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz",
1342− "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=",
1343− "dev": true
1344− }
1345− }
1346− },
1347− "dom-serializer": {
1348− "version": "0.1.0",
1349− "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
1350− "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
1351− "dev": true,
1352− "requires": {
1353− "domelementtype": "~1.1.1",
1354− "entities": "~1.1.1"
1355− },
1356− "dependencies": {
1357− "domelementtype": {
1358− "version": "1.1.3",
1359− "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
1360− "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
1361− "dev": true
1362− }
1363− }
1364− },
1365− "domain-browser": {
1366− "version": "1.2.0",
1367− "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
1368− "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
1369− "dev": true
1370− },
1371− "domelementtype": {
1372− "version": "1.3.0",
1373− "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
1374− "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=",
1375− "dev": true
1376− },
1377− "domhandler": {
1378− "version": "2.1.0",
1379− "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz",
1380− "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=",
1381− "dev": true,
1382− "requires": {
1383− "domelementtype": "1"
1384− }
1385− },
1386− "domutils": {
1387− "version": "1.5.1",
1388− "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
1389− "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
1390− "dev": true,
1391− "requires": {
1392− "dom-serializer": "0",
1393− "domelementtype": "1"
1394− }
1395− },
1396− "duplexify": {
1397− "version": "3.6.1",
1398− "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz",
1399− "integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==",
1400− "dev": true,
1401− "requires": {
1402− "end-of-stream": "^1.0.0",
1403− "inherits": "^2.0.1",
1404− "readable-stream": "^2.0.0",
1405− "stream-shift": "^1.0.0"
1406− }
1407− },
1408− "ee-first": {
1409− "version": "1.1.1",
1410− "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
1411− "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
1412− "dev": true
1413− },
1414− "elliptic": {
1415− "version": "6.4.1",
1416− "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz",
1417− "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==",
1418− "dev": true,
1419− "requires": {
1420− "bn.js": "^4.4.0",
1421− "brorand": "^1.0.1",
1422− "hash.js": "^1.0.0",
1423− "hmac-drbg": "^1.0.0",
1424− "inherits": "^2.0.1",
1425− "minimalistic-assert": "^1.0.0",
1426− "minimalistic-crypto-utils": "^1.0.0"
1427− }
1428− },
1429− "emojis-list": {
1430− "version": "2.1.0",
1431− "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
1432− "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
1433− "dev": true
1434− },
1435− "encodeurl": {
1436− "version": "1.0.2",
1437− "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
1438− "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
1439− "dev": true
1440− },
1441− "end-of-stream": {
1442− "version": "1.4.1",
1443− "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
1444− "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
1445− "dev": true,
1446− "requires": {
1447− "once": "^1.4.0"
1448− }
1449− },
1450− "enhanced-resolve": {
1451− "version": "4.1.0",
1452− "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz",
1453− "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==",
1454− "dev": true,
1455− "requires": {
1456− "graceful-fs": "^4.1.2",
1457− "memory-fs": "^0.4.0",
1458− "tapable": "^1.0.0"
1459− }
1460− },
1461− "entities": {
1462− "version": "1.1.1",
1463− "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
1464− "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=",
1465− "dev": true
1466− },
1467− "errno": {
1468− "version": "0.1.7",
1469− "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
1470− "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
1471− "dev": true,
1472− "requires": {
1473− "prr": "~1.0.1"
1474− }
1475− },
1476− "es-abstract": {
1477− "version": "1.12.0",
1478− "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
1479− "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==",
1480− "dev": true,
1481− "requires": {
1482− "es-to-primitive": "^1.1.1",
1483− "function-bind": "^1.1.1",
1484− "has": "^1.0.1",
1485− "is-callable": "^1.1.3",
1486− "is-regex": "^1.0.4"
1487− }
1488− },
1489− "es-to-primitive": {
1490− "version": "1.1.1",
1491− "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
1492− "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
1493− "dev": true,
1494− "requires": {
1495− "is-callable": "^1.1.1",
1496− "is-date-object": "^1.0.1",
1497− "is-symbol": "^1.0.1"
1498− }
1499− },
1500− "escape-html": {
1501− "version": "1.0.3",
1502− "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
1503− "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
1504− "dev": true
1505− },
1506− "escape-string-regexp": {
1507− "version": "1.0.5",
1508− "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1509− "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
1510− "dev": true
1511− },
1512− "eslint-scope": {
1513− "version": "4.0.0",
1514− "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz",
1515− "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==",
1516− "dev": true,
1517− "requires": {
1518− "esrecurse": "^4.1.0",
1519− "estraverse": "^4.1.1"
1520− }
1521− },
1522− "esrecurse": {
1523− "version": "4.2.1",
1524− "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
1525− "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
1526− "dev": true,
1527− "requires": {
1528− "estraverse": "^4.1.0"
1529− }
1530− },
1531− "estraverse": {
1532− "version": "4.2.0",
1533− "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
1534− "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
1535− "dev": true
1536− },
1537− "etag": {
1538− "version": "1.8.1",
1539− "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
1540− "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
1541− "dev": true
1542− },
1543− "eventemitter3": {
1544− "version": "3.1.0",
1545− "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
1546− "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==",
1547− "dev": true
1548− },
1549− "events": {
1550− "version": "1.1.1",
1551− "resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz",
1552− "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
1553− "dev": true
1554− },
1555− "eventsource": {
1556− "version": "1.0.7",
1557− "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz",
1558− "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==",
1559− "dev": true,
1560− "requires": {
1561− "original": "^1.0.0"
1562− }
1563− },
1564− "evp_bytestokey": {
1565− "version": "1.0.3",
1566− "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
1567− "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
1568− "dev": true,
1569− "requires": {
1570− "md5.js": "^1.3.4",
1571− "safe-buffer": "^5.1.1"
1572− }
1573− },
1574− "execa": {
1575− "version": "0.10.0",
1576− "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz",
1577− "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==",
1578− "dev": true,
1579− "requires": {
1580− "cross-spawn": "^6.0.0",
1581− "get-stream": "^3.0.0",
1582− "is-stream": "^1.1.0",
1583− "npm-run-path": "^2.0.0",
1584− "p-finally": "^1.0.0",
1585− "signal-exit": "^3.0.0",
1586− "strip-eof": "^1.0.0"
1587− }
1588− },
1589− "expand-brackets": {
1590− "version": "2.1.4",
1591− "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
1592− "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
1593− "dev": true,
1594− "requires": {
1595− "debug": "^2.3.3",
1596− "define-property": "^0.2.5",
1597− "extend-shallow": "^2.0.1",
1598− "posix-character-classes": "^0.1.0",
1599− "regex-not": "^1.0.0",
1600− "snapdragon": "^0.8.1",
1601− "to-regex": "^3.0.1"
1602− },
1603− "dependencies": {
1604− "debug": {
1605− "version": "2.6.9",
1606− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1607− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1608− "dev": true,
1609− "requires": {
1610− "ms": "2.0.0"
1611− }
1612− },
1613− "define-property": {
1614− "version": "0.2.5",
1615− "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1616− "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1617− "dev": true,
1618− "requires": {
1619− "is-descriptor": "^0.1.0"
1620− }
1621− },
1622− "extend-shallow": {
1623− "version": "2.0.1",
1624− "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1625− "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1626− "dev": true,
1627− "requires": {
1628− "is-extendable": "^0.1.0"
1629− }
1630− }
1631− }
1632− },
1633− "express": {
1634− "version": "4.16.4",
1635− "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz",
1636− "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==",
1637− "dev": true,
1638− "requires": {
1639− "accepts": "~1.3.5",
1640− "array-flatten": "1.1.1",
1641− "body-parser": "1.18.3",
1642− "content-disposition": "0.5.2",
1643− "content-type": "~1.0.4",
1644− "cookie": "0.3.1",
1645− "cookie-signature": "1.0.6",
1646− "debug": "2.6.9",
1647− "depd": "~1.1.2",
1648− "encodeurl": "~1.0.2",
1649− "escape-html": "~1.0.3",
1650− "etag": "~1.8.1",
1651− "finalhandler": "1.1.1",
1652− "fresh": "0.5.2",
1653− "merge-descriptors": "1.0.1",
1654− "methods": "~1.1.2",
1655− "on-finished": "~2.3.0",
1656− "parseurl": "~1.3.2",
1657− "path-to-regexp": "0.1.7",
1658− "proxy-addr": "~2.0.4",
1659− "qs": "6.5.2",
1660− "range-parser": "~1.2.0",
1661− "safe-buffer": "5.1.2",
1662− "send": "0.16.2",
1663− "serve-static": "1.13.2",
1664− "setprototypeof": "1.1.0",
1665− "statuses": "~1.4.0",
1666− "type-is": "~1.6.16",
1667− "utils-merge": "1.0.1",
1668− "vary": "~1.1.2"
1669− },
1670− "dependencies": {
1671− "array-flatten": {
1672− "version": "1.1.1",
1673− "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
1674− "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
1675− "dev": true
1676− },
1677− "debug": {
1678− "version": "2.6.9",
1679− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1680− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1681− "dev": true,
1682− "requires": {
1683− "ms": "2.0.0"
1684− }
1685− }
1686− }
1687− },
1688− "extend-shallow": {
1689− "version": "3.0.2",
1690− "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
1691− "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
1692− "dev": true,
1693− "requires": {
1694− "assign-symbols": "^1.0.0",
1695− "is-extendable": "^1.0.1"
1696− },
1697− "dependencies": {
1698− "is-extendable": {
1699− "version": "1.0.1",
1700− "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
1701− "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1702− "dev": true,
1703− "requires": {
1704− "is-plain-object": "^2.0.4"
1705− }
1706− }
1707− }
1708− },
1709− "extglob": {
1710− "version": "2.0.4",
1711− "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
1712− "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
1713− "dev": true,
1714− "requires": {
1715− "array-unique": "^0.3.2",
1716− "define-property": "^1.0.0",
1717− "expand-brackets": "^2.1.4",
1718− "extend-shallow": "^2.0.1",
1719− "fragment-cache": "^0.2.1",
1720− "regex-not": "^1.0.0",
1721− "snapdragon": "^0.8.1",
1722− "to-regex": "^3.0.1"
1723− },
1724− "dependencies": {
1725− "define-property": {
1726− "version": "1.0.0",
1727− "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
1728− "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
1729− "dev": true,
1730− "requires": {
1731− "is-descriptor": "^1.0.0"
1732− }
1733− },
1734− "extend-shallow": {
1735− "version": "2.0.1",
1736− "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1737− "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1738− "dev": true,
1739− "requires": {
1740− "is-extendable": "^0.1.0"
1741− }
1742− },
1743− "is-accessor-descriptor": {
1744− "version": "1.0.0",
1745− "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1746− "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1747− "dev": true,
1748− "requires": {
1749− "kind-of": "^6.0.0"
1750− }
1751− },
1752− "is-data-descriptor": {
1753− "version": "1.0.0",
1754− "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1755− "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1756− "dev": true,
1757− "requires": {
1758− "kind-of": "^6.0.0"
1759− }
1760− },
1761− "is-descriptor": {
1762− "version": "1.0.2",
1763− "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1764− "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1765− "dev": true,
1766− "requires": {
1767− "is-accessor-descriptor": "^1.0.0",
1768− "is-data-descriptor": "^1.0.0",
1769− "kind-of": "^6.0.2"
1770− }
1771− }
1772− }
1773− },
1774− "fast-deep-equal": {
1775− "version": "2.0.1",
1776− "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
1777− "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
1778− "dev": true
1779− },
1780− "fast-json-stable-stringify": {
1781− "version": "2.0.0",
1782− "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
1783− "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
1784− "dev": true
1785− },
1786− "faye-websocket": {
1787− "version": "0.10.0",
1788− "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
1789− "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
1790− "dev": true,
1791− "requires": {
1792− "websocket-driver": ">=0.5.1"
1793− }
1794− },
1795− "fill-range": {
1796− "version": "4.0.0",
1797− "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
1798− "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
1799− "dev": true,
1800− "requires": {
1801− "extend-shallow": "^2.0.1",
1802− "is-number": "^3.0.0",
1803− "repeat-string": "^1.6.1",
1804− "to-regex-range": "^2.1.0"
1805− },
1806− "dependencies": {
1807− "extend-shallow": {
1808− "version": "2.0.1",
1809− "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1810− "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1811− "dev": true,
1812− "requires": {
1813− "is-extendable": "^0.1.0"
1814− }
1815− }
1816− }
1817− },
1818− "finalhandler": {
1819− "version": "1.1.1",
1820− "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
1821− "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
1822− "dev": true,
1823− "requires": {
1824− "debug": "2.6.9",
1825− "encodeurl": "~1.0.2",
1826− "escape-html": "~1.0.3",
1827− "on-finished": "~2.3.0",
1828− "parseurl": "~1.3.2",
1829− "statuses": "~1.4.0",
1830− "unpipe": "~1.0.0"
1831− },
1832− "dependencies": {
1833− "debug": {
1834− "version": "2.6.9",
1835− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1836− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1837− "dev": true,
1838− "requires": {
1839− "ms": "2.0.0"
1840− }
1841− }
1842− }
1843− },
1844− "find-cache-dir": {
1845− "version": "1.0.0",
1846− "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
1847− "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
1848− "dev": true,
1849− "requires": {
1850− "commondir": "^1.0.1",
1851− "make-dir": "^1.0.0",
1852− "pkg-dir": "^2.0.0"
1853− }
1854− },
1855− "find-up": {
1856− "version": "2.1.0",
1857− "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
1858− "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
1859− "dev": true,
1860− "requires": {
1861− "locate-path": "^2.0.0"
1862− }
1863− },
1864− "flush-write-stream": {
1865− "version": "1.0.3",
1866− "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz",
1867− "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
1868− "dev": true,
1869− "requires": {
1870− "inherits": "^2.0.1",
1871− "readable-stream": "^2.0.4"
1872− }
1873− },
1874− "follow-redirects": {
1875− "version": "1.6.1",
1876− "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.6.1.tgz",
1877− "integrity": "sha512-t2JCjbzxQpWvbhts3l6SH1DKzSrx8a+SsaVf4h6bG4kOXUuPYS/kg2Lr4gQSb7eemaHqJkOThF1BGyjlUkO1GQ==",
1878− "dev": true,
1879− "requires": {
1880− "debug": "=3.1.0"
1881− },
1882− "dependencies": {
1883− "debug": {
1884− "version": "3.1.0",
1885− "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
1886− "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
1887− "dev": true,
1888− "requires": {
1889− "ms": "2.0.0"
1890− }
1891− }
1892− }
1893− },
1894− "for-in": {
1895− "version": "1.0.2",
1896− "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
1897− "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
1898− "dev": true
1899− },
1900− "foreach": {
1901− "version": "2.0.5",
1902− "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
1903− "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
1904− "dev": true
1905− },
1906− "forwarded": {
1907− "version": "0.1.2",
1908− "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
1909− "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
1910− "dev": true
1911− },
1912− "fragment-cache": {
1913− "version": "0.2.1",
1914− "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
1915− "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
1916− "dev": true,
1917− "requires": {
1918− "map-cache": "^0.2.2"
1919− }
1920− },
1921− "fresh": {
1922− "version": "0.5.2",
1923− "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
1924− "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
1925− "dev": true
1926− },
1927− "from2": {
1928− "version": "2.3.0",
1929− "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
1930− "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
1931− "dev": true,
1932− "requires": {
1933− "inherits": "^2.0.1",
1934− "readable-stream": "^2.0.0"
1935− }
1936− },
1937− "fs-write-stream-atomic": {
1938− "version": "1.0.10",
1939− "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
1940− "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
1941− "dev": true,
1942− "requires": {
1943− "graceful-fs": "^4.1.2",
1944− "iferr": "^0.1.5",
1945− "imurmurhash": "^0.1.4",
1946− "readable-stream": "1 || 2"
1947− }
1948− },
1949− "fs.realpath": {
1950− "version": "1.0.0",
1951− "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1952− "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
1953− "dev": true
1954− },
1955− "fsevents": {
1956− "version": "1.2.4",
1957− "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",
1958− "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",
1959− "dev": true,
1960− "optional": true,
1961− "requires": {
1962− "nan": "^2.9.2",
1963− "node-pre-gyp": "^0.10.0"
1964− },
1965− "dependencies": {
1966− "abbrev": {
1967− "version": "1.1.1",
1968− "bundled": true,
1969− "dev": true,
1970− "optional": true
1971− },
1972− "ansi-regex": {
1973− "version": "2.1.1",
1974− "bundled": true,
1975− "dev": true
1976− },
1977− "aproba": {
1978− "version": "1.2.0",
1979− "bundled": true,
1980− "dev": true,
1981− "optional": true
1982− },
1983− "are-we-there-yet": {
1984− "version": "1.1.4",
1985− "bundled": true,
1986− "dev": true,
1987− "optional": true,
1988− "requires": {
1989− "delegates": "^1.0.0",
1990− "readable-stream": "^2.0.6"
1991− }
1992− },
1993− "balanced-match": {
1994− "version": "1.0.0",
1995− "bundled": true,
1996− "dev": true
1997− },
1998− "brace-expansion": {
1999− "version": "1.1.11",
2000− "bundled": true,
2001− "dev": true,
2002− "requires": {
2003− "balanced-match": "^1.0.0",
2004− "concat-map": "0.0.1"
2005− }
2006− },
2007− "chownr": {
2008− "version": "1.0.1",
2009− "bundled": true,
2010− "dev": true,
2011− "optional": true
2012− },
2013− "code-point-at": {
2014− "version": "1.1.0",
2015− "bundled": true,
2016− "dev": true
2017− },
2018− "concat-map": {
2019− "version": "0.0.1",
2020− "bundled": true,
2021− "dev": true
2022− },
2023− "console-control-strings": {
2024− "version": "1.1.0",
2025− "bundled": true,
2026− "dev": true
2027− },
2028− "core-util-is": {
2029− "version": "1.0.2",
2030− "bundled": true,
2031− "dev": true,
2032− "optional": true
2033− },
2034− "debug": {
2035− "version": "2.6.9",
2036− "bundled": true,
2037− "dev": true,
2038− "optional": true,
2039− "requires": {
2040− "ms": "2.0.0"
2041− }
2042− },
2043− "deep-extend": {
2044− "version": "0.5.1",
2045− "bundled": true,
2046− "dev": true,
2047− "optional": true
2048− },
2049− "delegates": {
2050− "version": "1.0.0",
2051− "bundled": true,
2052− "dev": true,
2053− "optional": true
2054− },
2055− "detect-libc": {
2056− "version": "1.0.3",
2057− "bundled": true,
2058− "dev": true,
2059− "optional": true
2060− },
2061− "fs-minipass": {
2062− "version": "1.2.5",
2063− "bundled": true,
2064− "dev": true,
2065− "optional": true,
2066− "requires": {
2067− "minipass": "^2.2.1"
2068− }
2069− },
2070− "fs.realpath": {
2071− "version": "1.0.0",
2072− "bundled": true,
2073− "dev": true,
2074− "optional": true
2075− },
2076− "gauge": {
2077− "version": "2.7.4",
2078− "bundled": true,
2079− "dev": true,
2080− "optional": true,
2081− "requires": {
2082− "aproba": "^1.0.3",
2083− "console-control-strings": "^1.0.0",
2084− "has-unicode": "^2.0.0",
2085− "object-assign": "^4.1.0",
2086− "signal-exit": "^3.0.0",
2087− "string-width": "^1.0.1",
2088− "strip-ansi": "^3.0.1",
2089− "wide-align": "^1.1.0"
2090− }
2091− },
2092− "glob": {
2093− "version": "7.1.2",
2094− "bundled": true,
2095− "dev": true,
2096− "optional": true,
2097− "requires": {
2098− "fs.realpath": "^1.0.0",
2099− "inflight": "^1.0.4",
2100− "inherits": "2",
2101− "minimatch": "^3.0.4",
2102− "once": "^1.3.0",
2103− "path-is-absolute": "^1.0.0"
2104− }
2105− },
2106− "has-unicode": {
2107− "version": "2.0.1",
2108− "bundled": true,
2109− "dev": true,
2110− "optional": true
2111− },
2112− "iconv-lite": {
2113− "version": "0.4.21",
2114− "bundled": true,
2115− "dev": true,
2116− "optional": true,
2117− "requires": {
2118− "safer-buffer": "^2.1.0"
2119− }
2120− },
2121− "ignore-walk": {
2122− "version": "3.0.1",
2123− "bundled": true,
2124− "dev": true,
2125− "optional": true,
2126− "requires": {
2127− "minimatch": "^3.0.4"
2128− }
2129− },
2130− "inflight": {
2131− "version": "1.0.6",
2132− "bundled": true,
2133− "dev": true,
2134− "optional": true,
2135− "requires": {
2136− "once": "^1.3.0",
2137− "wrappy": "1"
2138− }
2139− },
2140− "inherits": {
2141− "version": "2.0.3",
2142− "bundled": true,
2143− "dev": true
2144− },
2145− "ini": {
2146− "version": "1.3.5",
2147− "bundled": true,
2148− "dev": true,
2149− "optional": true
2150− },
2151− "is-fullwidth-code-point": {
2152− "version": "1.0.0",
2153− "bundled": true,
2154− "dev": true,
2155− "requires": {
2156− "number-is-nan": "^1.0.0"
2157− }
2158− },
2159− "isarray": {
2160− "version": "1.0.0",
2161− "bundled": true,
2162− "dev": true,
2163− "optional": true
2164− },
2165− "minimatch": {
2166− "version": "3.0.4",
2167− "bundled": true,
2168− "dev": true,
2169− "requires": {
2170− "brace-expansion": "^1.1.7"
2171− }
2172− },
2173− "minimist": {
2174− "version": "0.0.8",
2175− "bundled": true,
2176− "dev": true
2177− },
2178− "minipass": {
2179− "version": "2.2.4",
2180− "bundled": true,
2181− "dev": true,
2182− "requires": {
2183− "safe-buffer": "^5.1.1",
2184− "yallist": "^3.0.0"
2185− }
2186− },
2187− "minizlib": {
2188− "version": "1.1.0",
2189− "bundled": true,
2190− "dev": true,
2191− "optional": true,
2192− "requires": {
2193− "minipass": "^2.2.1"
2194− }
2195− },
2196− "mkdirp": {
2197− "version": "0.5.1",
2198− "bundled": true,
2199− "dev": true,
2200− "requires": {
2201− "minimist": "0.0.8"
2202− }
2203− },
2204− "ms": {
2205− "version": "2.0.0",
2206− "bundled": true,
2207− "dev": true,
2208− "optional": true
2209− },
2210− "needle": {
2211− "version": "2.2.0",
2212− "bundled": true,
2213− "dev": true,
2214− "optional": true,
2215− "requires": {
2216− "debug": "^2.1.2",
2217− "iconv-lite": "^0.4.4",
2218− "sax": "^1.2.4"
2219− }
2220− },
2221− "node-pre-gyp": {
2222− "version": "0.10.0",
2223− "bundled": true,
2224− "dev": true,
2225− "optional": true,
2226− "requires": {
2227− "detect-libc": "^1.0.2",
2228− "mkdirp": "^0.5.1",
2229− "needle": "^2.2.0",
2230− "nopt": "^4.0.1",
2231− "npm-packlist": "^1.1.6",
2232− "npmlog": "^4.0.2",
2233− "rc": "^1.1.7",
2234− "rimraf": "^2.6.1",
2235− "semver": "^5.3.0",
2236− "tar": "^4"
2237− }
2238− },
2239− "nopt": {
2240− "version": "4.0.1",
2241− "bundled": true,
2242− "dev": true,
2243− "optional": true,
2244− "requires": {
2245− "abbrev": "1",
2246− "osenv": "^0.1.4"
2247− }
2248− },
2249− "npm-bundled": {
2250− "version": "1.0.3",
2251− "bundled": true,
2252− "dev": true,
2253− "optional": true
2254− },
2255− "npm-packlist": {
2256− "version": "1.1.10",
2257− "bundled": true,
2258− "dev": true,
2259− "optional": true,
2260− "requires": {
2261− "ignore-walk": "^3.0.1",
2262− "npm-bundled": "^1.0.1"
2263− }
2264− },
2265− "npmlog": {
2266− "version": "4.1.2",
2267− "bundled": true,
2268− "dev": true,
2269− "optional": true,
2270− "requires": {
2271− "are-we-there-yet": "~1.1.2",
2272− "console-control-strings": "~1.1.0",
2273− "gauge": "~2.7.3",
2274− "set-blocking": "~2.0.0"
2275− }
2276− },
2277− "number-is-nan": {
2278− "version": "1.0.1",
2279− "bundled": true,
2280− "dev": true
2281− },
2282− "object-assign": {
2283− "version": "4.1.1",
2284− "bundled": true,
2285− "dev": true,
2286− "optional": true
2287− },
2288− "once": {
2289− "version": "1.4.0",
2290− "bundled": true,
2291− "dev": true,
2292− "requires": {
2293− "wrappy": "1"
2294− }
2295− },
2296− "os-homedir": {
2297− "version": "1.0.2",
2298− "bundled": true,
2299− "dev": true,
2300− "optional": true
2301− },
2302− "os-tmpdir": {
2303− "version": "1.0.2",
2304− "bundled": true,
2305− "dev": true,
2306− "optional": true
2307− },
2308− "osenv": {
2309− "version": "0.1.5",
2310− "bundled": true,
2311− "dev": true,
2312− "optional": true,
2313− "requires": {
2314− "os-homedir": "^1.0.0",
2315− "os-tmpdir": "^1.0.0"
2316− }
2317− },
2318− "path-is-absolute": {
2319− "version": "1.0.1",
2320− "bundled": true,
2321− "dev": true,
2322− "optional": true
2323− },
2324− "process-nextick-args": {
2325− "version": "2.0.0",
2326− "bundled": true,
2327− "dev": true,
2328− "optional": true
2329− },
2330− "rc": {
2331− "version": "1.2.7",
2332− "bundled": true,
2333− "dev": true,
2334− "optional": true,
2335− "requires": {
2336− "deep-extend": "^0.5.1",
2337− "ini": "~1.3.0",
2338− "minimist": "^1.2.0",
2339− "strip-json-comments": "~2.0.1"
2340− },
2341− "dependencies": {
2342− "minimist": {
2343− "version": "1.2.0",
2344− "bundled": true,
2345− "dev": true,
2346− "optional": true
2347− }
2348− }
2349− },
2350− "readable-stream": {
2351− "version": "2.3.6",
2352− "bundled": true,
2353− "dev": true,
2354− "optional": true,
2355− "requires": {
2356− "core-util-is": "~1.0.0",
2357− "inherits": "~2.0.3",
2358− "isarray": "~1.0.0",
2359− "process-nextick-args": "~2.0.0",
2360− "safe-buffer": "~5.1.1",
2361− "string_decoder": "~1.1.1",
2362− "util-deprecate": "~1.0.1"
2363− }
2364− },
2365− "rimraf": {
2366− "version": "2.6.2",
2367− "bundled": true,
2368− "dev": true,
2369− "optional": true,
2370− "requires": {
2371− "glob": "^7.0.5"
2372− }
2373− },
2374− "safe-buffer": {
2375− "version": "5.1.1",
2376− "bundled": true,
2377− "dev": true
2378− },
2379− "safer-buffer": {
2380− "version": "2.1.2",
2381− "bundled": true,
2382− "dev": true,
2383− "optional": true
2384− },
2385− "sax": {
2386− "version": "1.2.4",
2387− "bundled": true,
2388− "dev": true,
2389− "optional": true
2390− },
2391− "semver": {
2392− "version": "5.5.0",
2393− "bundled": true,
2394− "dev": true,
2395− "optional": true
2396− },
2397− "set-blocking": {
2398− "version": "2.0.0",
2399− "bundled": true,
2400− "dev": true,
2401− "optional": true
2402− },
2403− "signal-exit": {
2404− "version": "3.0.2",
2405− "bundled": true,
2406− "dev": true,
2407− "optional": true
2408− },
2409− "string-width": {
2410− "version": "1.0.2",
2411− "bundled": true,
2412− "dev": true,
2413− "requires": {
2414− "code-point-at": "^1.0.0",
2415− "is-fullwidth-code-point": "^1.0.0",
2416− "strip-ansi": "^3.0.0"
2417− }
2418− },
2419− "string_decoder": {
2420− "version": "1.1.1",
2421− "bundled": true,
2422− "dev": true,
2423− "optional": true,
2424− "requires": {
2425− "safe-buffer": "~5.1.0"
2426− }
2427− },
2428− "strip-ansi": {
2429− "version": "3.0.1",
2430− "bundled": true,
2431− "dev": true,
2432− "requires": {
2433− "ansi-regex": "^2.0.0"
2434− }
2435− },
2436− "strip-json-comments": {
2437− "version": "2.0.1",
2438− "bundled": true,
2439− "dev": true,
2440− "optional": true
2441− },
2442− "tar": {
2443− "version": "4.4.1",
2444− "bundled": true,
2445− "dev": true,
2446− "optional": true,
2447− "requires": {
2448− "chownr": "^1.0.1",
2449− "fs-minipass": "^1.2.5",
2450− "minipass": "^2.2.4",
2451− "minizlib": "^1.1.0",
2452− "mkdirp": "^0.5.0",
2453− "safe-buffer": "^5.1.1",
2454− "yallist": "^3.0.2"
2455− }
2456− },
2457− "util-deprecate": {
2458− "version": "1.0.2",
2459− "bundled": true,
2460− "dev": true,
2461− "optional": true
2462− },
2463− "wide-align": {
2464− "version": "1.1.2",
2465− "bundled": true,
2466− "dev": true,
2467− "optional": true,
2468− "requires": {
2469− "string-width": "^1.0.2"
2470− }
2471− },
2472− "wrappy": {
2473− "version": "1.0.2",
2474− "bundled": true,
2475− "dev": true
2476− },
2477− "yallist": {
2478− "version": "3.0.2",
2479− "bundled": true,
2480− "dev": true
2481− }
2482− }
2483− },
2484− "function-bind": {
2485− "version": "1.1.1",
2486− "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
2487− "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
2488− "dev": true
2489− },
2490− "get-caller-file": {
2491− "version": "1.0.3",
2492− "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
2493− "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
2494− "dev": true
2495− },
2496− "get-stream": {
2497− "version": "3.0.0",
2498− "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
2499− "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
2500− "dev": true
2501− },
2502− "get-value": {
2503− "version": "2.0.6",
2504− "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
2505− "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
2506− "dev": true
2507− },
2508− "glob": {
2509− "version": "7.1.2",
2510− "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
2511− "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
2512− "dev": true,
2513− "requires": {
2514− "fs.realpath": "^1.0.0",
2515− "inflight": "^1.0.4",
2516− "inherits": "2",
2517− "minimatch": "^3.0.4",
2518− "once": "^1.3.0",
2519− "path-is-absolute": "^1.0.0"
2520− }
2521− },
2522− "glob-parent": {
2523− "version": "3.1.0",
2524− "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
2525− "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
2526− "dev": true,
2527− "requires": {
2528− "is-glob": "^3.1.0",
2529− "path-dirname": "^1.0.0"
2530− },
2531− "dependencies": {
2532− "is-glob": {
2533− "version": "3.1.0",
2534− "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
2535− "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
2536− "dev": true,
2537− "requires": {
2538− "is-extglob": "^2.1.0"
2539− }
2540− }
2541− }
2542− },
2543− "global-modules-path": {
2544− "version": "2.3.0",
2545− "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.0.tgz",
2546− "integrity": "sha512-HchvMJNYh9dGSCy8pOQ2O8u/hoXaL+0XhnrwH0RyLiSXMMTl9W3N6KUU73+JFOg5PGjtzl6VZzUQsnrpm7Szag==",
2547− "dev": true
2548− },
2549− "globby": {
2550− "version": "6.1.0",
2551− "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
2552− "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
2553− "dev": true,
2554− "requires": {
2555− "array-union": "^1.0.1",
2556− "glob": "^7.0.3",
2557− "object-assign": "^4.0.1",
2558− "pify": "^2.0.0",
2559− "pinkie-promise": "^2.0.0"
2560− },
2561− "dependencies": {
2562− "pify": {
2563− "version": "2.3.0",
2564− "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
2565− "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
2566− "dev": true
2567− }
2568− }
2569− },
2570− "graceful-fs": {
2571− "version": "4.1.11",
2572− "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
2573− "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
2574− "dev": true
2575− },
2576− "handle-thing": {
2577− "version": "2.0.0",
2578− "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz",
2579− "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==",
2580− "dev": true
2581− },
2582− "has": {
2583− "version": "1.0.3",
2584− "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
2585− "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
2586− "dev": true,
2587− "requires": {
2588− "function-bind": "^1.1.1"
2589− }
2590− },
2591− "has-flag": {
2592− "version": "3.0.0",
2593− "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
2594− "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
2595− "dev": true
2596− },
2597− "has-value": {
2598− "version": "1.0.0",
2599− "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
2600− "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
2601− "dev": true,
2602− "requires": {
2603− "get-value": "^2.0.6",
2604− "has-values": "^1.0.0",
2605− "isobject": "^3.0.0"
2606− }
2607− },
2608− "has-values": {
2609− "version": "1.0.0",
2610− "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
2611− "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
2612− "dev": true,
2613− "requires": {
2614− "is-number": "^3.0.0",
2615− "kind-of": "^4.0.0"
2616− },
2617− "dependencies": {
2618− "kind-of": {
2619− "version": "4.0.0",
2620− "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
2621− "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
2622− "dev": true,
2623− "requires": {
2624− "is-buffer": "^1.1.5"
2625− }
2626− }
2627− }
2628− },
2629− "hash-base": {
2630− "version": "3.0.4",
2631− "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
2632− "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
2633− "dev": true,
2634− "requires": {
2635− "inherits": "^2.0.1",
2636− "safe-buffer": "^5.0.1"
2637− }
2638− },
2639− "hash.js": {
2640− "version": "1.1.5",
2641− "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz",
2642− "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==",
2643− "dev": true,
2644− "requires": {
2645− "inherits": "^2.0.3",
2646− "minimalistic-assert": "^1.0.1"
2647− }
2648− },
2649− "he": {
2650− "version": "1.1.1",
2651− "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
2652− "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=",
2653− "dev": true
2654− },
2655− "hmac-drbg": {
2656− "version": "1.0.1",
2657− "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
2658− "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
2659− "dev": true,
2660− "requires": {
2661− "hash.js": "^1.0.3",
2662− "minimalistic-assert": "^1.0.0",
2663− "minimalistic-crypto-utils": "^1.0.1"
2664− }
2665− },
2666− "hpack.js": {
2667− "version": "2.1.6",
2668− "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
2669− "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
2670− "dev": true,
2671− "requires": {
2672− "inherits": "^2.0.1",
2673− "obuf": "^1.0.0",
2674− "readable-stream": "^2.0.1",
2675− "wbuf": "^1.1.0"
2676− }
2677− },
2678− "html-entities": {
2679− "version": "1.2.1",
2680− "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz",
2681− "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=",
2682− "dev": true
2683− },
2684− "html-minifier": {
2685− "version": "3.5.19",
2686− "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.19.tgz",
2687− "integrity": "sha512-Qr2JC9nsjK8oCrEmuB430ZIA8YWbF3D5LSjywD75FTuXmeqacwHgIM8wp3vHYzzPbklSjp53RdmDuzR4ub2HzA==",
2688− "dev": true,
2689− "requires": {
2690− "camel-case": "3.0.x",
2691− "clean-css": "4.1.x",
2692− "commander": "2.16.x",
2693− "he": "1.1.x",
2694− "param-case": "2.1.x",
2695− "relateurl": "0.2.x",
2696− "uglify-js": "3.4.x"
2697− },
2698− "dependencies": {
2699− "commander": {
2700− "version": "2.16.0",
2701− "resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz",
2702− "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==",
2703− "dev": true
2704− },
2705− "source-map": {
2706− "version": "0.6.1",
2707− "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2708− "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
2709− "dev": true
2710− },
2711− "uglify-js": {
2712− "version": "3.4.7",
2713− "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.7.tgz",
2714− "integrity": "sha512-J0M2i1mQA+ze3EdN9SBi751DNdAXmeFLfJrd/MDIkRc3G3Gbb9OPVSx7GIQvVwfWxQARcYV2DTxIkMyDAk3o9Q==",
2715− "dev": true,
2716− "requires": {
2717− "commander": "~2.16.0",
2718− "source-map": "~0.6.1"
2719− }
2720− }
2721− }
2722− },
2723− "html-webpack-plugin": {
2724− "version": "3.2.0",
2725− "resolved": "http://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz",
2726− "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=",
2727− "dev": true,
2728− "requires": {
2729− "html-minifier": "^3.2.3",
2730− "loader-utils": "^0.2.16",
2731− "lodash": "^4.17.3",
2732− "pretty-error": "^2.0.2",
2733− "tapable": "^1.0.0",
2734− "toposort": "^1.0.0",
2735− "util.promisify": "1.0.0"
2736− },
2737− "dependencies": {
2738− "loader-utils": {
2739− "version": "0.2.17",
2740− "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
2741− "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
2742− "dev": true,
2743− "requires": {
2744− "big.js": "^3.1.3",
2745− "emojis-list": "^2.0.0",
2746− "json5": "^0.5.0",
2747− "object-assign": "^4.0.1"
2748− }
2749− }
2750− }
2751− },
2752− "htmlparser2": {
2753− "version": "3.3.0",
2754− "resolved": "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz",
2755− "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=",
2756− "dev": true,
2757− "requires": {
2758− "domelementtype": "1",
2759− "domhandler": "2.1",
2760− "domutils": "1.1",
2761− "readable-stream": "1.0"
2762− },
2763− "dependencies": {
2764− "domutils": {
2765− "version": "1.1.6",
2766− "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz",
2767− "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=",
2768− "dev": true,
2769− "requires": {
2770− "domelementtype": "1"
2771− }
2772− },
2773− "isarray": {
2774− "version": "0.0.1",
2775− "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
2776− "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
2777− "dev": true
2778− },
2779− "readable-stream": {
2780− "version": "1.0.34",
2781− "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
2782− "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
2783− "dev": true,
2784− "requires": {
2785− "core-util-is": "~1.0.0",
2786− "inherits": "~2.0.1",
2787− "isarray": "0.0.1",
2788− "string_decoder": "~0.10.x"
2789− }
2790− },
2791− "string_decoder": {
2792− "version": "0.10.31",
2793− "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
2794− "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
2795− "dev": true
2796− }
2797− }
2798− },
2799− "http-deceiver": {
2800− "version": "1.2.7",
2801− "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
2802− "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
2803− "dev": true
2804− },
2805− "http-errors": {
2806− "version": "1.6.3",
2807− "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
2808− "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
2809− "dev": true,
2810− "requires": {
2811− "depd": "~1.1.2",
2812− "inherits": "2.0.3",
2813− "setprototypeof": "1.1.0",
2814− "statuses": ">= 1.4.0 < 2"
2815− }
2816− },
2817− "http-parser-js": {
2818− "version": "0.5.0",
2819− "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz",
2820− "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==",
2821− "dev": true
2822− },
2823− "http-proxy": {
2824− "version": "1.17.0",
2825− "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
2826− "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",
2827− "dev": true,
2828− "requires": {
2829− "eventemitter3": "^3.0.0",
2830− "follow-redirects": "^1.0.0",
2831− "requires-port": "^1.0.0"
2832− }
2833− },
2834− "http-proxy-middleware": {
2835− "version": "0.18.0",
2836− "resolved": "http://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz",
2837− "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==",
2838− "dev": true,
2839− "requires": {
2840− "http-proxy": "^1.16.2",
2841− "is-glob": "^4.0.0",
2842− "lodash": "^4.17.5",
2843− "micromatch": "^3.1.9"
2844− }
2845− },
2846− "https-browserify": {
2847− "version": "1.0.0",
2848− "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
2849− "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
2850− "dev": true
2851− },
2852− "iconv-lite": {
2853− "version": "0.4.23",
2854− "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
2855− "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
2856− "dev": true,
2857− "requires": {
2858− "safer-buffer": ">= 2.1.2 < 3"
2859− }
2860− },
2861− "ieee754": {
2862− "version": "1.1.12",
2863− "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz",
2864− "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==",
2865− "dev": true
2866− },
2867− "iferr": {
2868− "version": "0.1.5",
2869− "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
2870− "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
2871− "dev": true
2872− },
2873− "import-local": {
2874− "version": "2.0.0",
2875− "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
2876− "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
2877− "dev": true,
2878− "requires": {
2879− "pkg-dir": "^3.0.0",
2880− "resolve-cwd": "^2.0.0"
2881− },
2882− "dependencies": {
2883− "find-up": {
2884− "version": "3.0.0",
2885− "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
2886− "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
2887− "dev": true,
2888− "requires": {
2889− "locate-path": "^3.0.0"
2890− }
2891− },
2892− "locate-path": {
2893− "version": "3.0.0",
2894− "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
2895− "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
2896− "dev": true,
2897− "requires": {
2898− "p-locate": "^3.0.0",
2899− "path-exists": "^3.0.0"
2900− }
2901− },
2902− "p-limit": {
2903− "version": "2.0.0",
2904− "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz",
2905− "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==",
2906− "dev": true,
2907− "requires": {
2908− "p-try": "^2.0.0"
2909− }
2910− },
2911− "p-locate": {
2912− "version": "3.0.0",
2913− "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
2914− "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
2915− "dev": true,
2916− "requires": {
2917− "p-limit": "^2.0.0"
2918− }
2919− },
2920− "p-try": {
2921− "version": "2.0.0",
2922− "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
2923− "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
2924− "dev": true
2925− },
2926− "pkg-dir": {
2927− "version": "3.0.0",
2928− "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
2929− "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
2930− "dev": true,
2931− "requires": {
2932− "find-up": "^3.0.0"
2933− }
2934− }
2935− }
2936− },
2937− "imurmurhash": {
2938− "version": "0.1.4",
2939− "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
2940− "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
2941− "dev": true
2942− },
2943− "indexof": {
2944− "version": "0.0.1",
2945− "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
2946− "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
2947− "dev": true
2948− },
2949− "inflight": {
2950− "version": "1.0.6",
2951− "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
2952− "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
2953− "dev": true,
2954− "requires": {
2955− "once": "^1.3.0",
2956− "wrappy": "1"
2957− }
2958− },
2959− "inherits": {
2960− "version": "2.0.3",
2961− "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
2962− "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
2963− "dev": true
2964− },
2965− "internal-ip": {
2966− "version": "3.0.1",
2967− "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-3.0.1.tgz",
2968− "integrity": "sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q==",
2969− "dev": true,
2970− "requires": {
2971− "default-gateway": "^2.6.0",
2972− "ipaddr.js": "^1.5.2"
2973− }
2974− },
2975− "interpret": {
2976− "version": "1.1.0",
2977− "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
2978− "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
2979− "dev": true
2980− },
2981− "invert-kv": {
2982− "version": "2.0.0",
2983− "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
2984− "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
2985− "dev": true
2986− },
2987− "ip": {
2988− "version": "1.1.5",
2989− "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
2990− "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
2991− "dev": true
2992− },
2993− "ip-regex": {
2994− "version": "2.1.0",
2995− "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
2996− "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
2997− "dev": true
2998− },
2999− "ipaddr.js": {
3000− "version": "1.8.0",
3001− "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz",
3002− "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=",
3003− "dev": true
3004− },
3005− "is-accessor-descriptor": {
3006− "version": "0.1.6",
3007− "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
3008− "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
3009− "dev": true,
3010− "requires": {
3011− "kind-of": "^3.0.2"
3012− },
3013− "dependencies": {
3014− "kind-of": {
3015− "version": "3.2.2",
3016− "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3017− "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3018− "dev": true,
3019− "requires": {
3020− "is-buffer": "^1.1.5"
3021− }
3022− }
3023− }
3024− },
3025− "is-binary-path": {
3026− "version": "1.0.1",
3027− "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
3028− "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
3029− "dev": true,
3030− "requires": {
3031− "binary-extensions": "^1.0.0"
3032− }
3033− },
3034− "is-buffer": {
3035− "version": "1.1.6",
3036− "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
3037− "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
3038− "dev": true
3039− },
3040− "is-callable": {
3041− "version": "1.1.4",
3042− "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
3043− "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
3044− "dev": true
3045− },
3046− "is-data-descriptor": {
3047− "version": "0.1.4",
3048− "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
3049− "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
3050− "dev": true,
3051− "requires": {
3052− "kind-of": "^3.0.2"
3053− },
3054− "dependencies": {
3055− "kind-of": {
3056− "version": "3.2.2",
3057− "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3058− "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3059− "dev": true,
3060− "requires": {
3061− "is-buffer": "^1.1.5"
3062− }
3063− }
3064− }
3065− },
3066− "is-date-object": {
3067− "version": "1.0.1",
3068− "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
3069− "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
3070− "dev": true
3071− },
3072− "is-descriptor": {
3073− "version": "0.1.6",
3074− "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
3075− "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
3076− "dev": true,
3077− "requires": {
3078− "is-accessor-descriptor": "^0.1.6",
3079− "is-data-descriptor": "^0.1.4",
3080− "kind-of": "^5.0.0"
3081− },
3082− "dependencies": {
3083− "kind-of": {
3084− "version": "5.1.0",
3085− "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
3086− "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
3087− "dev": true
3088− }
3089− }
3090− },
3091− "is-extendable": {
3092− "version": "0.1.1",
3093− "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
3094− "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
3095− "dev": true
3096− },
3097− "is-extglob": {
3098− "version": "2.1.1",
3099− "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
3100− "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
3101− "dev": true
3102− },
3103− "is-fullwidth-code-point": {
3104− "version": "2.0.0",
3105− "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
3106− "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
3107− "dev": true
3108− },
3109− "is-glob": {
3110− "version": "4.0.0",
3111− "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
3112− "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
3113− "dev": true,
3114− "requires": {
3115− "is-extglob": "^2.1.1"
3116− }
3117− },
3118− "is-number": {
3119− "version": "3.0.0",
3120− "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
3121− "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
3122− "dev": true,
3123− "requires": {
3124− "kind-of": "^3.0.2"
3125− },
3126− "dependencies": {
3127− "kind-of": {
3128− "version": "3.2.2",
3129− "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3130− "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3131− "dev": true,
3132− "requires": {
3133− "is-buffer": "^1.1.5"
3134− }
3135− }
3136− }
3137− },
3138− "is-path-cwd": {
3139− "version": "1.0.0",
3140− "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
3141− "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
3142− "dev": true
3143− },
3144− "is-path-in-cwd": {
3145− "version": "1.0.1",
3146− "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
3147− "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
3148− "dev": true,
3149− "requires": {
3150− "is-path-inside": "^1.0.0"
3151− }
3152− },
3153− "is-path-inside": {
3154− "version": "1.0.1",
3155− "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
3156− "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
3157− "dev": true,
3158− "requires": {
3159− "path-is-inside": "^1.0.1"
3160− }
3161− },
3162− "is-plain-object": {
3163− "version": "2.0.4",
3164− "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
3165− "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
3166− "dev": true,
3167− "requires": {
3168− "isobject": "^3.0.1"
3169− }
3170− },
3171− "is-regex": {
3172− "version": "1.0.4",
3173− "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
3174− "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
3175− "dev": true,
3176− "requires": {
3177− "has": "^1.0.1"
3178− }
3179− },
3180− "is-stream": {
3181− "version": "1.1.0",
3182− "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
3183− "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
3184− "dev": true
3185− },
3186− "is-symbol": {
3187− "version": "1.0.1",
3188− "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
3189− "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=",
3190− "dev": true
3191− },
3192− "is-windows": {
3193− "version": "1.0.2",
3194− "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
3195− "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
3196− "dev": true
3197− },
3198− "is-wsl": {
3199− "version": "1.1.0",
3200− "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
3201− "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
3202− "dev": true
3203− },
3204− "isarray": {
3205− "version": "1.0.0",
3206− "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
3207− "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
3208− "dev": true
3209− },
3210− "isexe": {
3211− "version": "2.0.0",
3212− "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
3213− "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
3214− "dev": true
3215− },
3216− "isobject": {
3217− "version": "3.0.1",
3218− "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
3219− "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
3220− "dev": true
3221− },
3222− "json-parse-better-errors": {
3223− "version": "1.0.2",
3224− "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
3225− "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
3226− "dev": true
3227− },
3228− "json-schema-traverse": {
3229− "version": "0.4.1",
3230− "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
3231− "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
3232− "dev": true
3233− },
3234− "json3": {
3235− "version": "3.3.2",
3236− "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
3237− "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
3238− "dev": true
3239− },
3240− "json5": {
3241− "version": "0.5.1",
3242− "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
3243− "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
3244− "dev": true
3245− },
3246− "killable": {
3247− "version": "1.0.1",
3248− "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
3249− "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==",
3250− "dev": true
3251− },
3252− "kind-of": {
3253− "version": "6.0.2",
3254− "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
3255− "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
3256− "dev": true
3257− },
3258− "lcid": {
3259− "version": "2.0.0",
3260− "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
3261− "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
3262− "dev": true,
3263− "requires": {
3264− "invert-kv": "^2.0.0"
3265− }
3266− },
3267− "loader-runner": {
3268− "version": "2.3.1",
3269− "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.1.tgz",
3270− "integrity": "sha512-By6ZFY7ETWOc9RFaAIb23IjJVcM4dvJC/N57nmdz9RSkMXvAXGI7SyVlAw3v8vjtDRlqThgVDVmTnr9fqMlxkw==",
3271− "dev": true
3272− },
3273− "loader-utils": {
3274− "version": "1.1.0",
3275− "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
3276− "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
3277− "dev": true,
3278− "requires": {
3279− "big.js": "^3.1.3",
3280− "emojis-list": "^2.0.0",
3281− "json5": "^0.5.0"
3282− }
3283− },
3284− "locate-path": {
3285− "version": "2.0.0",
3286− "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
3287− "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
3288− "dev": true,
3289− "requires": {
3290− "p-locate": "^2.0.0",
3291− "path-exists": "^3.0.0"
3292− }
3293− },
3294− "lodash": {
3295− "version": "4.17.10",
3296− "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
3297− "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
3298− "dev": true
3299− },
3300− "lodash.debounce": {
3301− "version": "4.0.8",
3302− "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
3303− "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
3304− "dev": true
3305− },
3306− "loglevel": {
3307− "version": "1.6.1",
3308− "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz",
3309− "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=",
3310− "dev": true
3311− },
3312− "lower-case": {
3313− "version": "1.1.4",
3314− "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
3315− "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
3316− "dev": true
3317− },
3318− "lru-cache": {
3319− "version": "4.1.3",
3320− "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
3321− "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
3322− "dev": true,
3323− "requires": {
3324− "pseudomap": "^1.0.2",
3325− "yallist": "^2.1.2"
3326− }
3327− },
3328− "make-dir": {
3329− "version": "1.3.0",
3330− "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
3331− "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
3332− "dev": true,
3333− "requires": {
3334− "pify": "^3.0.0"
3335− }
3336− },
3337− "map-age-cleaner": {
3338− "version": "0.1.2",
3339− "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.2.tgz",
3340− "integrity": "sha512-UN1dNocxQq44IhJyMI4TU8phc2m9BddacHRPRjKGLYaF0jqd3xLz0jS0skpAU9WgYyoR4gHtUpzytNBS385FWQ==",
3341− "dev": true,
3342− "requires": {
3343− "p-defer": "^1.0.0"
3344− }
3345− },
3346− "map-cache": {
3347− "version": "0.2.2",
3348− "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
3349− "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
3350− "dev": true
3351− },
3352− "map-visit": {
3353− "version": "1.0.0",
3354− "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
3355− "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
3356− "dev": true,
3357− "requires": {
3358− "object-visit": "^1.0.0"
3359− }
3360− },
3361− "md5.js": {
3362− "version": "1.3.5",
3363− "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
3364− "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
3365− "dev": true,
3366− "requires": {
3367− "hash-base": "^3.0.0",
3368− "inherits": "^2.0.1",
3369− "safe-buffer": "^5.1.2"
3370− }
3371− },
3372− "media-typer": {
3373− "version": "0.3.0",
3374− "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
3375− "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
3376− "dev": true
3377− },
3378− "mem": {
3379− "version": "4.0.0",
3380− "resolved": "https://registry.npmjs.org/mem/-/mem-4.0.0.tgz",
3381− "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==",
3382− "dev": true,
3383− "requires": {
3384− "map-age-cleaner": "^0.1.1",
3385− "mimic-fn": "^1.0.0",
3386− "p-is-promise": "^1.1.0"
3387− }
3388− },
3389− "memory-fs": {
3390− "version": "0.4.1",
3391− "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
3392− "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
3393− "dev": true,
3394− "requires": {
3395− "errno": "^0.1.3",
3396− "readable-stream": "^2.0.1"
3397− },
3398− "dependencies": {
3399− "isarray": {
3400− "version": "1.0.0",
3401− "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
3402− "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
3403− "dev": true
3404− },
3405− "readable-stream": {
3406− "version": "2.3.6",
3407− "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
3408− "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
3409− "dev": true,
3410− "requires": {
3411− "core-util-is": "~1.0.0",
3412− "inherits": "~2.0.3",
3413− "isarray": "~1.0.0",
3414− "process-nextick-args": "~2.0.0",
3415− "safe-buffer": "~5.1.1",
3416− "string_decoder": "~1.1.1",
3417− "util-deprecate": "~1.0.1"
3418− }
3419− },
3420− "string_decoder": {
3421− "version": "1.1.1",
3422− "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
3423− "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
3424− "dev": true,
3425− "requires": {
3426− "safe-buffer": "~5.1.0"
3427− }
3428− }
3429− }
3430− },
3431− "merge-descriptors": {
3432− "version": "1.0.1",
3433− "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
3434− "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
3435− "dev": true
3436− },
3437− "methods": {
3438− "version": "1.1.2",
3439− "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
3440− "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
3441− "dev": true
3442− },
3443− "micromatch": {
3444− "version": "3.1.10",
3445− "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
3446− "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
3447− "dev": true,
3448− "requires": {
3449− "arr-diff": "^4.0.0",
3450− "array-unique": "^0.3.2",
3451− "braces": "^2.3.1",
3452− "define-property": "^2.0.2",
3453− "extend-shallow": "^3.0.2",
3454− "extglob": "^2.0.4",
3455− "fragment-cache": "^0.2.1",
3456− "kind-of": "^6.0.2",
3457− "nanomatch": "^1.2.9",
3458− "object.pick": "^1.3.0",
3459− "regex-not": "^1.0.0",
3460− "snapdragon": "^0.8.1",
3461− "to-regex": "^3.0.2"
3462− }
3463− },
3464− "miller-rabin": {
3465− "version": "4.0.1",
3466− "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
3467− "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
3468− "dev": true,
3469− "requires": {
3470− "bn.js": "^4.0.0",
3471− "brorand": "^1.0.1"
3472− }
3473− },
3474− "mime": {
3475− "version": "1.4.1",
3476− "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
3477− "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==",
3478− "dev": true
3479− },
3480− "mime-db": {
3481− "version": "1.37.0",
3482− "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
3483− "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
3484− "dev": true
3485− },
3486− "mime-types": {
3487− "version": "2.1.21",
3488− "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
3489− "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
3490− "dev": true,
3491− "requires": {
3492− "mime-db": "~1.37.0"
3493− }
3494− },
3495− "mimic-fn": {
3496− "version": "1.2.0",
3497− "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
3498− "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
3499− "dev": true
3500− },
3501− "minimalistic-assert": {
3502− "version": "1.0.1",
3503− "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
3504− "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
3505− "dev": true
3506− },
3507− "minimalistic-crypto-utils": {
3508− "version": "1.0.1",
3509− "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
3510− "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
3511− "dev": true
3512− },
3513− "minimatch": {
3514− "version": "3.0.4",
3515− "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
3516− "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
3517− "dev": true,
3518− "requires": {
3519− "brace-expansion": "^1.1.7"
3520− }
3521− },
3522− "minimist": {
3523− "version": "0.0.8",
3524− "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
3525− "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
3526− "dev": true
3527− },
3528− "mississippi": {
3529− "version": "2.0.0",
3530− "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz",
3531− "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==",
3532− "dev": true,
3533− "requires": {
3534− "concat-stream": "^1.5.0",
3535− "duplexify": "^3.4.2",
3536− "end-of-stream": "^1.1.0",
3537− "flush-write-stream": "^1.0.0",
3538− "from2": "^2.1.0",
3539− "parallel-transform": "^1.1.0",
3540− "pump": "^2.0.1",
3541− "pumpify": "^1.3.3",
3542− "stream-each": "^1.1.0",
3543− "through2": "^2.0.0"
3544− }
3545− },
3546− "mixin-deep": {
3547− "version": "1.3.1",
3548− "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
3549− "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
3550− "dev": true,
3551− "requires": {
3552− "for-in": "^1.0.2",
3553− "is-extendable": "^1.0.1"
3554− },
3555− "dependencies": {
3556− "is-extendable": {
3557− "version": "1.0.1",
3558− "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
3559− "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
3560− "dev": true,
3561− "requires": {
3562− "is-plain-object": "^2.0.4"
3563− }
3564− }
3565− }
3566− },
3567− "mkdirp": {
3568− "version": "0.5.1",
3569− "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
3570− "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
3571− "dev": true,
3572− "requires": {
3573− "minimist": "0.0.8"
3574− }
3575− },
3576− "move-concurrently": {
3577− "version": "1.0.1",
3578− "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
3579− "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
3580− "dev": true,
3581− "requires": {
3582− "aproba": "^1.1.1",
3583− "copy-concurrently": "^1.0.0",
3584− "fs-write-stream-atomic": "^1.0.8",
3585− "mkdirp": "^0.5.1",
3586− "rimraf": "^2.5.4",
3587− "run-queue": "^1.0.3"
3588− }
3589− },
3590− "ms": {
3591− "version": "2.0.0",
3592− "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
3593− "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
3594− "dev": true
3595− },
3596− "multicast-dns": {
3597− "version": "6.2.3",
3598− "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
3599− "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
3600− "dev": true,
3601− "requires": {
3602− "dns-packet": "^1.3.1",
3603− "thunky": "^1.0.2"
3604− }
3605− },
3606− "multicast-dns-service-types": {
3607− "version": "1.1.0",
3608− "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
3609− "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
3610− "dev": true
3611− },
3612− "nan": {
3613− "version": "2.11.1",
3614− "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz",
3615− "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==",
3616− "dev": true,
3617− "optional": true
3618− },
3619− "nanomatch": {
3620− "version": "1.2.13",
3621− "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
3622− "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
3623− "dev": true,
3624− "requires": {
3625− "arr-diff": "^4.0.0",
3626− "array-unique": "^0.3.2",
3627− "define-property": "^2.0.2",
3628− "extend-shallow": "^3.0.2",
3629− "fragment-cache": "^0.2.1",
3630− "is-windows": "^1.0.2",
3631− "kind-of": "^6.0.2",
3632− "object.pick": "^1.3.0",
3633− "regex-not": "^1.0.0",
3634− "snapdragon": "^0.8.1",
3635− "to-regex": "^3.0.1"
3636− }
3637− },
3638− "negotiator": {
3639− "version": "0.6.1",
3640− "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
3641− "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
3642− "dev": true
3643− },
3644− "neo-async": {
3645− "version": "2.5.1",
3646− "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz",
3647− "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==",
3648− "dev": true
3649− },
3650− "nice-try": {
3651− "version": "1.0.4",
3652− "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz",
3653− "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==",
3654− "dev": true
3655− },
3656− "no-case": {
3657− "version": "2.3.2",
3658− "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
3659− "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
3660− "dev": true,
3661− "requires": {
3662− "lower-case": "^1.1.1"
3663− }
3664− },
3665− "node-forge": {
3666− "version": "0.7.5",
3667− "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz",
3668− "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==",
3669− "dev": true
3670− },
3671− "node-libs-browser": {
3672− "version": "2.1.0",
3673− "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
3674− "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==",
3675− "dev": true,
3676− "requires": {
3677− "assert": "^1.1.1",
3678− "browserify-zlib": "^0.2.0",
3679− "buffer": "^4.3.0",
3680− "console-browserify": "^1.1.0",
3681− "constants-browserify": "^1.0.0",
3682− "crypto-browserify": "^3.11.0",
3683− "domain-browser": "^1.1.1",
3684− "events": "^1.0.0",
3685− "https-browserify": "^1.0.0",
3686− "os-browserify": "^0.3.0",
3687− "path-browserify": "0.0.0",
3688− "process": "^0.11.10",
3689− "punycode": "^1.2.4",
3690− "querystring-es3": "^0.2.0",
3691− "readable-stream": "^2.3.3",
3692− "stream-browserify": "^2.0.1",
3693− "stream-http": "^2.7.2",
3694− "string_decoder": "^1.0.0",
3695− "timers-browserify": "^2.0.4",
3696− "tty-browserify": "0.0.0",
3697− "url": "^0.11.0",
3698− "util": "^0.10.3",
3699− "vm-browserify": "0.0.4"
3700− },
3701− "dependencies": {
3702− "punycode": {
3703− "version": "1.4.1",
3704− "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
3705− "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
3706− "dev": true
3707− }
3708− }
3709− },
3710− "normalize-path": {
3711− "version": "2.1.1",
3712− "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
3713− "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
3714− "dev": true,
3715− "requires": {
3716− "remove-trailing-separator": "^1.0.1"
3717− }
3718− },
3719− "npm-run-path": {
3720− "version": "2.0.2",
3721− "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
3722− "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
3723− "dev": true,
3724− "requires": {
3725− "path-key": "^2.0.0"
3726− }
3727− },
3728− "nth-check": {
3729− "version": "1.0.1",
3730− "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz",
3731− "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=",
3732− "dev": true,
3733− "requires": {
3734− "boolbase": "~1.0.0"
3735− }
3736− },
3737− "number-is-nan": {
3738− "version": "1.0.1",
3739− "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
3740− "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
3741− "dev": true
3742− },
3743− "object-assign": {
3744− "version": "4.1.1",
3745− "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
3746− "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
3747− "dev": true
3748− },
3749− "object-copy": {
3750− "version": "0.1.0",
3751− "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
3752− "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
3753− "dev": true,
3754− "requires": {
3755− "copy-descriptor": "^0.1.0",
3756− "define-property": "^0.2.5",
3757− "kind-of": "^3.0.3"
3758− },
3759− "dependencies": {
3760− "define-property": {
3761− "version": "0.2.5",
3762− "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
3763− "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
3764− "dev": true,
3765− "requires": {
3766− "is-descriptor": "^0.1.0"
3767− }
3768− },
3769− "kind-of": {
3770− "version": "3.2.2",
3771− "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3772− "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3773− "dev": true,
3774− "requires": {
3775− "is-buffer": "^1.1.5"
3776− }
3777− }
3778− }
3779− },
3780− "object-keys": {
3781− "version": "1.0.12",
3782− "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
3783− "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==",
3784− "dev": true
3785− },
3786− "object-visit": {
3787− "version": "1.0.1",
3788− "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
3789− "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
3790− "dev": true,
3791− "requires": {
3792− "isobject": "^3.0.0"
3793− }
3794− },
3795− "object.getownpropertydescriptors": {
3796− "version": "2.0.3",
3797− "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
3798− "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
3799− "dev": true,
3800− "requires": {
3801− "define-properties": "^1.1.2",
3802− "es-abstract": "^1.5.1"
3803− }
3804− },
3805− "object.pick": {
3806− "version": "1.3.0",
3807− "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
3808− "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
3809− "dev": true,
3810− "requires": {
3811− "isobject": "^3.0.1"
3812− }
3813− },
3814− "obuf": {
3815− "version": "1.1.2",
3816− "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
3817− "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
3818− "dev": true
3819− },
3820− "on-finished": {
3821− "version": "2.3.0",
3822− "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
3823− "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
3824− "dev": true,
3825− "requires": {
3826− "ee-first": "1.1.1"
3827− }
3828− },
3829− "on-headers": {
3830− "version": "1.0.1",
3831− "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
3832− "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=",
3833− "dev": true
3834− },
3835− "once": {
3836− "version": "1.4.0",
3837− "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
3838− "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
3839− "dev": true,
3840− "requires": {
3841− "wrappy": "1"
3842− }
3843− },
3844− "opn": {
3845− "version": "5.4.0",
3846− "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz",
3847− "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==",
3848− "dev": true,
3849− "requires": {
3850− "is-wsl": "^1.1.0"
3851− }
3852− },
3853− "original": {
3854− "version": "1.0.2",
3855− "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
3856− "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==",
3857− "dev": true,
3858− "requires": {
3859− "url-parse": "^1.4.3"
3860− }
3861− },
3862− "os-browserify": {
3863− "version": "0.3.0",
3864− "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
3865− "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
3866− "dev": true
3867− },
3868− "os-locale": {
3869− "version": "3.0.1",
3870− "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz",
3871− "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==",
3872− "dev": true,
3873− "requires": {
3874− "execa": "^0.10.0",
3875− "lcid": "^2.0.0",
3876− "mem": "^4.0.0"
3877− }
3878− },
3879− "p-defer": {
3880− "version": "1.0.0",
3881− "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
3882− "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
3883− "dev": true
3884− },
3885− "p-finally": {
3886− "version": "1.0.0",
3887− "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
3888− "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
3889− "dev": true
3890− },
3891− "p-is-promise": {
3892− "version": "1.1.0",
3893− "resolved": "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz",
3894− "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=",
3895− "dev": true
3896− },
3897− "p-limit": {
3898− "version": "1.3.0",
3899− "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
3900− "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
3901− "dev": true,
3902− "requires": {
3903− "p-try": "^1.0.0"
3904− }
3905− },
3906− "p-locate": {
3907− "version": "2.0.0",
3908− "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
3909− "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
3910− "dev": true,
3911− "requires": {
3912− "p-limit": "^1.1.0"
3913− }
3914− },
3915− "p-map": {
3916− "version": "1.2.0",
3917− "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
3918− "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==",
3919− "dev": true
3920− },
3921− "p-try": {
3922− "version": "1.0.0",
3923− "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
3924− "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
3925− "dev": true
3926− },
3927− "pako": {
3928− "version": "1.0.6",
3929− "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
3930− "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==",
3931− "dev": true
3932− },
3933− "parallel-transform": {
3934− "version": "1.1.0",
3935− "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz",
3936− "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=",
3937− "dev": true,
3938− "requires": {
3939− "cyclist": "~0.2.2",
3940− "inherits": "^2.0.3",
3941− "readable-stream": "^2.1.5"
3942− }
3943− },
3944− "param-case": {
3945− "version": "2.1.1",
3946− "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
3947− "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
3948− "dev": true,
3949− "requires": {
3950− "no-case": "^2.2.0"
3951− }
3952− },
3953− "parse-asn1": {
3954− "version": "5.1.1",
3955− "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
3956− "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==",
3957− "dev": true,
3958− "requires": {
3959− "asn1.js": "^4.0.0",
3960− "browserify-aes": "^1.0.0",
3961− "create-hash": "^1.1.0",
3962− "evp_bytestokey": "^1.0.0",
3963− "pbkdf2": "^3.0.3"
3964− }
3965− },
3966− "parseurl": {
3967− "version": "1.3.2",
3968− "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
3969− "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
3970− "dev": true
3971− },
3972− "pascalcase": {
3973− "version": "0.1.1",
3974− "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
3975− "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
3976− "dev": true
3977− },
3978− "path-browserify": {
3979− "version": "0.0.0",
3980− "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
3981− "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
3982− "dev": true
3983− },
3984− "path-dirname": {
3985− "version": "1.0.2",
3986− "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
3987− "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
3988− "dev": true
3989− },
3990− "path-exists": {
3991− "version": "3.0.0",
3992− "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
3993− "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
3994− "dev": true
3995− },
3996− "path-is-absolute": {
3997− "version": "1.0.1",
3998− "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
3999− "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
4000− "dev": true
4001− },
4002− "path-is-inside": {
4003− "version": "1.0.2",
4004− "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
4005− "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
4006− "dev": true
4007− },
4008− "path-key": {
4009− "version": "2.0.1",
4010− "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
4011− "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
4012− "dev": true
4013− },
4014− "path-to-regexp": {
4015− "version": "0.1.7",
4016− "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
4017− "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
4018− "dev": true
4019− },
4020− "pbkdf2": {
4021− "version": "3.0.17",
4022− "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
4023− "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
4024− "dev": true,
4025− "requires": {
4026− "create-hash": "^1.1.2",
4027− "create-hmac": "^1.1.4",
4028− "ripemd160": "^2.0.1",
4029− "safe-buffer": "^5.0.1",
4030− "sha.js": "^2.4.8"
4031− }
4032− },
4033− "pify": {
4034− "version": "3.0.0",
4035− "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
4036− "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
4037− "dev": true
4038− },
4039− "pinkie": {
4040− "version": "2.0.4",
4041− "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
4042− "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
4043− "dev": true
4044− },
4045− "pinkie-promise": {
4046− "version": "2.0.1",
4047− "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
4048− "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
4049− "dev": true,
4050− "requires": {
4051− "pinkie": "^2.0.0"
4052− }
4053− },
4054− "pkg-dir": {
4055− "version": "2.0.0",
4056− "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
4057− "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
4058− "dev": true,
4059− "requires": {
4060− "find-up": "^2.1.0"
4061− }
4062− },
4063− "portfinder": {
4064− "version": "1.0.20",
4065− "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz",
4066− "integrity": "sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==",
4067− "dev": true,
4068− "requires": {
4069− "async": "^1.5.2",
4070− "debug": "^2.2.0",
4071− "mkdirp": "0.5.x"
4072− },
4073− "dependencies": {
4074− "debug": {
4075− "version": "2.6.9",
4076− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
4077− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
4078− "dev": true,
4079− "requires": {
4080− "ms": "2.0.0"
4081− }
4082− }
4083− }
4084− },
4085− "posix-character-classes": {
4086− "version": "0.1.1",
4087− "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
4088− "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
4089− "dev": true
4090− },
4091− "pretty-error": {
4092− "version": "2.1.1",
4093− "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz",
4094− "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=",
4095− "dev": true,
4096− "requires": {
4097− "renderkid": "^2.0.1",
4098− "utila": "~0.4"
4099− }
4100− },
4101− "process": {
4102− "version": "0.11.10",
4103− "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
4104− "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
4105− "dev": true
4106− },
4107− "process-nextick-args": {
4108− "version": "2.0.0",
4109− "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
4110− "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
4111− "dev": true
4112− },
4113− "promise-inflight": {
4114− "version": "1.0.1",
4115− "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
4116− "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
4117− "dev": true
4118− },
4119− "proxy-addr": {
4120− "version": "2.0.4",
4121− "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz",
4122− "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==",
4123− "dev": true,
4124− "requires": {
4125− "forwarded": "~0.1.2",
4126− "ipaddr.js": "1.8.0"
4127− }
4128− },
4129− "prr": {
4130− "version": "1.0.1",
4131− "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
4132− "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
4133− "dev": true
4134− },
4135− "pseudomap": {
4136− "version": "1.0.2",
4137− "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
4138− "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
4139− "dev": true
4140− },
4141− "public-encrypt": {
4142− "version": "4.0.3",
4143− "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
4144− "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
4145− "dev": true,
4146− "requires": {
4147− "bn.js": "^4.1.0",
4148− "browserify-rsa": "^4.0.0",
4149− "create-hash": "^1.1.0",
4150− "parse-asn1": "^5.0.0",
4151− "randombytes": "^2.0.1",
4152− "safe-buffer": "^5.1.2"
4153− }
4154− },
4155− "pump": {
4156− "version": "2.0.1",
4157− "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
4158− "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
4159− "dev": true,
4160− "requires": {
4161− "end-of-stream": "^1.1.0",
4162− "once": "^1.3.1"
4163− }
4164− },
4165− "pumpify": {
4166− "version": "1.5.1",
4167− "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
4168− "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
4169− "dev": true,
4170− "requires": {
4171− "duplexify": "^3.6.0",
4172− "inherits": "^2.0.3",
4173− "pump": "^2.0.0"
4174− }
4175− },
4176− "punycode": {
4177− "version": "2.1.1",
4178− "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
4179− "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
4180− "dev": true
4181− },
4182− "qs": {
4183− "version": "6.5.2",
4184− "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
4185− "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
4186− "dev": true
4187− },
4188− "querystring": {
4189− "version": "0.2.0",
4190− "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
4191− "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
4192− "dev": true
4193− },
4194− "querystring-es3": {
4195− "version": "0.2.1",
4196− "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
4197− "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
4198− "dev": true
4199− },
4200− "querystringify": {
4201− "version": "2.1.0",
4202− "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz",
4203− "integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==",
4204− "dev": true
4205− },
4206− "randombytes": {
4207− "version": "2.0.6",
4208− "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
4209− "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
4210− "dev": true,
4211− "requires": {
4212− "safe-buffer": "^5.1.0"
4213− }
4214− },
4215− "randomfill": {
4216− "version": "1.0.4",
4217− "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
4218− "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
4219− "dev": true,
4220− "requires": {
4221− "randombytes": "^2.0.5",
4222− "safe-buffer": "^5.1.0"
4223− }
4224− },
4225− "range-parser": {
4226− "version": "1.2.0",
4227− "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
4228− "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
4229− "dev": true
4230− },
4231− "raw-body": {
4232− "version": "2.3.3",
4233− "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz",
4234− "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==",
4235− "dev": true,
4236− "requires": {
4237− "bytes": "3.0.0",
4238− "http-errors": "1.6.3",
4239− "iconv-lite": "0.4.23",
4240− "unpipe": "1.0.0"
4241− }
4242− },
4243− "readable-stream": {
4244− "version": "2.3.6",
4245− "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
4246− "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
4247− "dev": true,
4248− "requires": {
4249− "core-util-is": "~1.0.0",
4250− "inherits": "~2.0.3",
4251− "isarray": "~1.0.0",
4252− "process-nextick-args": "~2.0.0",
4253− "safe-buffer": "~5.1.1",
4254− "string_decoder": "~1.1.1",
4255− "util-deprecate": "~1.0.1"
4256− }
4257− },
4258− "readdirp": {
4259− "version": "2.1.0",
4260− "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
4261− "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
4262− "dev": true,
4263− "requires": {
4264− "graceful-fs": "^4.1.2",
4265− "minimatch": "^3.0.2",
4266− "readable-stream": "^2.0.2",
4267− "set-immediate-shim": "^1.0.1"
4268− },
4269− "dependencies": {
4270− "isarray": {
4271− "version": "1.0.0",
4272− "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
4273− "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
4274− "dev": true
4275− },
4276− "readable-stream": {
4277− "version": "2.3.6",
4278− "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
4279− "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
4280− "dev": true,
4281− "requires": {
4282− "core-util-is": "~1.0.0",
4283− "inherits": "~2.0.3",
4284− "isarray": "~1.0.0",
4285− "process-nextick-args": "~2.0.0",
4286− "safe-buffer": "~5.1.1",
4287− "string_decoder": "~1.1.1",
4288− "util-deprecate": "~1.0.1"
4289− }
4290− },
4291− "string_decoder": {
4292− "version": "1.1.1",
4293− "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
4294− "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
4295− "dev": true,
4296− "requires": {
4297− "safe-buffer": "~5.1.0"
4298− }
4299− }
4300− }
4301− },
4302− "regex-not": {
4303− "version": "1.0.2",
4304− "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
4305− "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
4306− "dev": true,
4307− "requires": {
4308− "extend-shallow": "^3.0.2",
4309− "safe-regex": "^1.1.0"
4310− }
4311− },
4312− "relateurl": {
4313− "version": "0.2.7",
4314− "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
4315− "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
4316− "dev": true
4317− },
4318− "remove-trailing-separator": {
4319− "version": "1.1.0",
4320− "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
4321− "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
4322− "dev": true
4323− },
4324− "renderkid": {
4325− "version": "2.0.1",
4326− "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz",
4327− "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=",
4328− "dev": true,
4329− "requires": {
4330− "css-select": "^1.1.0",
4331− "dom-converter": "~0.1",
4332− "htmlparser2": "~3.3.0",
4333− "strip-ansi": "^3.0.0",
4334− "utila": "~0.3"
4335− },
4336− "dependencies": {
4337− "utila": {
4338− "version": "0.3.3",
4339− "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz",
4340− "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=",
4341− "dev": true
4342− }
4343− }
4344− },
4345− "repeat-element": {
4346− "version": "1.1.2",
4347− "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
4348− "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
4349− "dev": true
4350− },
4351− "repeat-string": {
4352− "version": "1.6.1",
4353− "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
4354− "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
4355− "dev": true
4356− },
4357− "require-directory": {
4358− "version": "2.1.1",
4359− "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
4360− "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
4361− "dev": true
4362− },
4363− "require-main-filename": {
4364− "version": "1.0.1",
4365− "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
4366− "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
4367− "dev": true
4368− },
4369− "requires-port": {
4370− "version": "1.0.0",
4371− "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
4372− "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
4373− "dev": true
4374− },
4375− "resolve-cwd": {
4376− "version": "2.0.0",
4377− "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
4378− "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
4379− "dev": true,
4380− "requires": {
4381− "resolve-from": "^3.0.0"
4382− }
4383− },
4384− "resolve-from": {
4385− "version": "3.0.0",
4386− "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
4387− "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
4388− "dev": true
4389− },
4390− "resolve-url": {
4391− "version": "0.2.1",
4392− "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
4393− "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
4394− "dev": true
4395− },
4396− "ret": {
4397− "version": "0.1.15",
4398− "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
4399− "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
4400− "dev": true
4401− },
4402− "rimraf": {
4403− "version": "2.6.2",
4404− "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
4405− "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
4406− "dev": true,
4407− "requires": {
4408− "glob": "^7.0.5"
4409− }
4410− },
4411− "ripemd160": {
4412− "version": "2.0.2",
4413− "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
4414− "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
4415− "dev": true,
4416− "requires": {
4417− "hash-base": "^3.0.0",
4418− "inherits": "^2.0.1"
4419− }
4420− },
4421− "run-queue": {
4422− "version": "1.0.3",
4423− "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
4424− "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
4425− "dev": true,
4426− "requires": {
4427− "aproba": "^1.1.1"
4428− }
4429− },
4430− "safe-buffer": {
4431− "version": "5.1.2",
4432− "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
4433− "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
4434− "dev": true
4435− },
4436− "safe-regex": {
4437− "version": "1.1.0",
4438− "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
4439− "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
4440− "dev": true,
4441− "requires": {
4442− "ret": "~0.1.10"
4443− }
4444− },
4445− "safer-buffer": {
4446− "version": "2.1.2",
4447− "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
4448− "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
4449− "dev": true
4450− },
4451− "schema-utils": {
4452− "version": "0.4.7",
4453− "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
4454− "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
4455− "dev": true,
4456− "requires": {
4457− "ajv": "^6.1.0",
4458− "ajv-keywords": "^3.1.0"
4459− }
4460− },
4461− "select-hose": {
4462− "version": "2.0.0",
4463− "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
4464− "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
4465− "dev": true
4466− },
4467− "selfsigned": {
4468− "version": "1.10.4",
4469− "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz",
4470− "integrity": "sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw==",
4471− "dev": true,
4472− "requires": {
4473− "node-forge": "0.7.5"
4474− }
4475− },
4476− "semver": {
4477− "version": "5.5.0",
4478− "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
4479− "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
4480− "dev": true
4481− },
4482− "send": {
4483− "version": "0.16.2",
4484− "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
4485− "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
4486− "dev": true,
4487− "requires": {
4488− "debug": "2.6.9",
4489− "depd": "~1.1.2",
4490− "destroy": "~1.0.4",
4491− "encodeurl": "~1.0.2",
4492− "escape-html": "~1.0.3",
4493− "etag": "~1.8.1",
4494− "fresh": "0.5.2",
4495− "http-errors": "~1.6.2",
4496− "mime": "1.4.1",
4497− "ms": "2.0.0",
4498− "on-finished": "~2.3.0",
4499− "range-parser": "~1.2.0",
4500− "statuses": "~1.4.0"
4501− },
4502− "dependencies": {
4503− "debug": {
4504− "version": "2.6.9",
4505− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
4506− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
4507− "dev": true,
4508− "requires": {
4509− "ms": "2.0.0"
4510− }
4511− }
4512− }
4513− },
4514− "serialize-javascript": {
4515− "version": "1.5.0",
4516− "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz",
4517− "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==",
4518− "dev": true
4519− },
4520− "serve-index": {
4521− "version": "1.9.1",
4522− "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
4523− "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
4524− "dev": true,
4525− "requires": {
4526− "accepts": "~1.3.4",
4527− "batch": "0.6.1",
4528− "debug": "2.6.9",
4529− "escape-html": "~1.0.3",
4530− "http-errors": "~1.6.2",
4531− "mime-types": "~2.1.17",
4532− "parseurl": "~1.3.2"
4533− },
4534− "dependencies": {
4535− "debug": {
4536− "version": "2.6.9",
4537− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
4538− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
4539− "dev": true,
4540− "requires": {
4541− "ms": "2.0.0"
4542− }
4543− }
4544− }
4545− },
4546− "serve-static": {
4547− "version": "1.13.2",
4548− "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
4549− "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
4550− "dev": true,
4551− "requires": {
4552− "encodeurl": "~1.0.2",
4553− "escape-html": "~1.0.3",
4554− "parseurl": "~1.3.2",
4555− "send": "0.16.2"
4556− }
4557− },
4558− "set-blocking": {
4559− "version": "2.0.0",
4560− "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
4561− "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
4562− "dev": true
4563− },
4564− "set-immediate-shim": {
4565− "version": "1.0.1",
4566− "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
4567− "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
4568− "dev": true
4569− },
4570− "set-value": {
4571− "version": "2.0.0",
4572− "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
4573− "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
4574− "dev": true,
4575− "requires": {
4576− "extend-shallow": "^2.0.1",
4577− "is-extendable": "^0.1.1",
4578− "is-plain-object": "^2.0.3",
4579− "split-string": "^3.0.1"
4580− },
4581− "dependencies": {
4582− "extend-shallow": {
4583− "version": "2.0.1",
4584− "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
4585− "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
4586− "dev": true,
4587− "requires": {
4588− "is-extendable": "^0.1.0"
4589− }
4590− }
4591− }
4592− },
4593− "setimmediate": {
4594− "version": "1.0.5",
4595− "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
4596− "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
4597− "dev": true
4598− },
4599− "setprototypeof": {
4600− "version": "1.1.0",
4601− "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
4602− "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
4603− "dev": true
4604− },
4605− "sha.js": {
4606− "version": "2.4.11",
4607− "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
4608− "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
4609− "dev": true,
4610− "requires": {
4611− "inherits": "^2.0.1",
4612− "safe-buffer": "^5.0.1"
4613− }
4614− },
4615− "shebang-command": {
4616− "version": "1.2.0",
4617− "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
4618− "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
4619− "dev": true,
4620− "requires": {
4621− "shebang-regex": "^1.0.0"
4622− }
4623− },
4624− "shebang-regex": {
4625− "version": "1.0.0",
4626− "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
4627− "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
4628− "dev": true
4629− },
4630− "signal-exit": {
4631− "version": "3.0.2",
4632− "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
4633− "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
4634− "dev": true
4635− },
4636− "snapdragon": {
4637− "version": "0.8.2",
4638− "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
4639− "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
4640− "dev": true,
4641− "requires": {
4642− "base": "^0.11.1",
4643− "debug": "^2.2.0",
4644− "define-property": "^0.2.5",
4645− "extend-shallow": "^2.0.1",
4646− "map-cache": "^0.2.2",
4647− "source-map": "^0.5.6",
4648− "source-map-resolve": "^0.5.0",
4649− "use": "^3.1.0"
4650− },
4651− "dependencies": {
4652− "debug": {
4653− "version": "2.6.9",
4654− "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
4655− "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
4656− "dev": true,
4657− "requires": {
4658− "ms": "2.0.0"
4659− }
4660− },
4661− "define-property": {
4662− "version": "0.2.5",
4663− "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
4664− "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
4665− "dev": true,
4666− "requires": {
4667− "is-descriptor": "^0.1.0"
4668− }
4669− },
4670− "extend-shallow": {
4671− "version": "2.0.1",
4672− "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
4673− "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
4674− "dev": true,
4675− "requires": {
4676− "is-extendable": "^0.1.0"
4677− }
4678− }
4679− }
4680− },
4681− "snapdragon-node": {
4682− "version": "2.1.1",
4683− "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
4684− "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
4685− "dev": true,
4686− "requires": {
4687− "define-property": "^1.0.0",
4688− "isobject": "^3.0.0",
4689− "snapdragon-util": "^3.0.1"
4690− },
4691− "dependencies": {
4692− "define-property": {
4693− "version": "1.0.0",
4694− "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
4695− "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
4696− "dev": true,
4697− "requires": {
4698− "is-descriptor": "^1.0.0"
4699− }
4700− },
4701− "is-accessor-descriptor": {
4702− "version": "1.0.0",
4703− "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
4704− "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
4705− "dev": true,
4706− "requires": {
4707− "kind-of": "^6.0.0"
4708− }
4709− },
4710− "is-data-descriptor": {
4711− "version": "1.0.0",
4712− "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
4713− "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
4714− "dev": true,
4715− "requires": {
4716− "kind-of": "^6.0.0"
4717− }
4718− },
4719− "is-descriptor": {
4720− "version": "1.0.2",
4721− "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
4722− "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
4723− "dev": true,
4724− "requires": {
4725− "is-accessor-descriptor": "^1.0.0",
4726− "is-data-descriptor": "^1.0.0",
4727− "kind-of": "^6.0.2"
4728− }
4729− }
4730− }
4731− },
4732− "snapdragon-util": {
4733− "version": "3.0.1",
4734− "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
4735− "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
4736− "dev": true,
4737− "requires": {
4738− "kind-of": "^3.2.0"
4739− },
4740− "dependencies": {
4741− "kind-of": {
4742− "version": "3.2.2",
4743− "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
4744− "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
4745− "dev": true,
4746− "requires": {
4747− "is-buffer": "^1.1.5"
4748− }
4749− }
4750− }
4751− },
4752− "sockjs": {
4753− "version": "0.3.19",
4754− "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz",
4755− "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==",
4756− "dev": true,
4757− "requires": {
4758− "faye-websocket": "^0.10.0",
4759− "uuid": "^3.0.1"
4760− }
4761− },
4762− "sockjs-client": {
4763− "version": "1.3.0",
4764− "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz",
4765− "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==",
4766− "dev": true,
4767− "requires": {
4768− "debug": "^3.2.5",
4769− "eventsource": "^1.0.7",
4770− "faye-websocket": "~0.11.1",
4771− "inherits": "^2.0.3",
4772− "json3": "^3.3.2",
4773− "url-parse": "^1.4.3"
4774− },
4775− "dependencies": {
4776− "faye-websocket": {
4777− "version": "0.11.1",
4778− "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz",
4779− "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=",
4780− "dev": true,
4781− "requires": {
4782− "websocket-driver": ">=0.5.1"
4783− }
4784− }
4785− }
4786− },
4787− "source-list-map": {
4788− "version": "2.0.1",
4789− "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
4790− "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
4791− "dev": true
4792− },
4793− "source-map": {
4794− "version": "0.5.7",
4795− "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
4796− "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
4797− "dev": true
4798− },
4799− "source-map-resolve": {
4800− "version": "0.5.2",
4801− "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
4802− "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
4803− "dev": true,
4804− "requires": {
4805− "atob": "^2.1.1",
4806− "decode-uri-component": "^0.2.0",
4807− "resolve-url": "^0.2.1",
4808− "source-map-url": "^0.4.0",
4809− "urix": "^0.1.0"
4810− }
4811− },
4812− "source-map-url": {
4813− "version": "0.4.0",
4814− "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
4815− "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
4816− "dev": true
4817− },
4818− "spdy": {
4819− "version": "4.0.0",
4820− "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.0.tgz",
4821− "integrity": "sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q==",
4822− "dev": true,
4823− "requires": {
4824− "debug": "^4.1.0",
4825− "handle-thing": "^2.0.0",
4826− "http-deceiver": "^1.2.7",
4827− "select-hose": "^2.0.0",
4828− "spdy-transport": "^3.0.0"
4829− },
4830− "dependencies": {
4831− "debug": {
4832− "version": "4.1.1",
4833− "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
4834− "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
4835− "dev": true,
4836− "requires": {
4837− "ms": "^2.1.1"
4838− }
4839− },
4840− "ms": {
4841− "version": "2.1.1",
4842− "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
4843− "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
4844− "dev": true
4845− }
4846− }
4847− },
4848− "spdy-transport": {
4849− "version": "3.0.0",
4850− "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
4851− "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
4852− "dev": true,
4853− "requires": {
4854− "debug": "^4.1.0",
4855− "detect-node": "^2.0.4",
4856− "hpack.js": "^2.1.6",
4857− "obuf": "^1.1.2",
4858− "readable-stream": "^3.0.6",
4859− "wbuf": "^1.7.3"
4860− },
4861− "dependencies": {
4862− "debug": {
4863− "version": "4.1.1",
4864− "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
4865− "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
4866− "dev": true,
4867− "requires": {
4868− "ms": "^2.1.1"
4869− }
4870− },
4871− "ms": {
4872− "version": "2.1.1",
4873− "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
4874− "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
4875− "dev": true
4876− },
4877− "readable-stream": {
4878− "version": "3.1.1",
4879− "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz",
4880− "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==",
4881− "dev": true,
4882− "requires": {
4883− "inherits": "^2.0.3",
4884− "string_decoder": "^1.1.1",
4885− "util-deprecate": "^1.0.1"
4886− }
4887− }
4888− }
4889− },
4890− "split-string": {
4891− "version": "3.1.0",
4892− "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
4893− "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
4894− "dev": true,
4895− "requires": {
4896− "extend-shallow": "^3.0.0"
4897− }
4898− },
4899− "ssri": {
4900− "version": "5.3.0",
4901− "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz",
4902− "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==",
4903− "dev": true,
4904− "requires": {
4905− "safe-buffer": "^5.1.1"
4906− }
4907− },
4908− "static-extend": {
4909− "version": "0.1.2",
4910− "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
4911− "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
4912− "dev": true,
4913− "requires": {
4914− "define-property": "^0.2.5",
4915− "object-copy": "^0.1.0"
4916− },
4917− "dependencies": {
4918− "define-property": {
4919− "version": "0.2.5",
4920− "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
4921− "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
4922− "dev": true,
4923− "requires": {
4924− "is-descriptor": "^0.1.0"
4925− }
4926− }
4927− }
4928− },
4929− "statuses": {
4930− "version": "1.4.0",
4931− "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
4932− "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
4933− "dev": true
4934− },
4935− "stream-browserify": {
4936− "version": "2.0.1",
4937− "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
4938− "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
4939− "dev": true,
4940− "requires": {
4941− "inherits": "~2.0.1",
4942− "readable-stream": "^2.0.2"
4943− }
4944− },
4945− "stream-each": {
4946− "version": "1.2.3",
4947− "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
4948− "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
4949− "dev": true,
4950− "requires": {
4951− "end-of-stream": "^1.1.0",
4952− "stream-shift": "^1.0.0"
4953− }
4954− },
4955− "stream-http": {
4956− "version": "2.8.3",
4957− "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
4958− "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
4959− "dev": true,
4960− "requires": {
4961− "builtin-status-codes": "^3.0.0",
4962− "inherits": "^2.0.1",
4963− "readable-stream": "^2.3.6",
4964− "to-arraybuffer": "^1.0.0",
4965− "xtend": "^4.0.0"
4966− }
4967− },
4968− "stream-shift": {
4969− "version": "1.0.0",
4970− "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
4971− "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
4972− "dev": true
4973− },
4974− "string-width": {
4975− "version": "2.1.1",
4976− "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
4977− "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
4978− "dev": true,
4979− "requires": {
4980− "is-fullwidth-code-point": "^2.0.0",
4981− "strip-ansi": "^4.0.0"
4982− },
4983− "dependencies": {
4984− "ansi-regex": {
4985− "version": "3.0.0",
4986− "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
4987− "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
4988− "dev": true
4989− },
4990− "strip-ansi": {
4991− "version": "4.0.0",
4992− "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
4993− "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
4994− "dev": true,
4995− "requires": {
4996− "ansi-regex": "^3.0.0"
4997− }
4998− }
4999− }
5000− },
5001− "string_decoder": {
5002− "version": "1.1.1",
5003− "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
5004− "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
5005− "dev": true,
5006− "requires": {
5007− "safe-buffer": "~5.1.0"
5008− }
5009− },
5010− "strip-ansi": {
5011− "version": "3.0.1",
5012− "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
5013− "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
5014− "dev": true,
5015− "requires": {
5016− "ansi-regex": "^2.0.0"
5017− }
5018− },
5019− "strip-eof": {
5020− "version": "1.0.0",
5021− "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
5022− "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
5023− "dev": true
5024− },
5025− "supports-color": {
5026− "version": "5.4.0",
5027− "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
5028− "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
5029− "dev": true,
5030− "requires": {
5031− "has-flag": "^3.0.0"
5032− }
5033− },
5034− "tapable": {
5035− "version": "1.0.0",
5036− "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz",
5037− "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==",
5038− "dev": true
5039− },
5040− "through2": {
5041− "version": "2.0.3",
5042− "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
5043− "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
5044− "dev": true,
5045− "requires": {
5046− "readable-stream": "^2.1.5",
5047− "xtend": "~4.0.1"
5048− }
5049− },
5050− "thunky": {
5051− "version": "1.0.3",
5052− "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz",
5053− "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==",
5054− "dev": true
5055− },
5056− "timers-browserify": {
5057− "version": "2.0.10",
5058− "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz",
5059− "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==",
5060− "dev": true,
5061− "requires": {
5062− "setimmediate": "^1.0.4"
5063− }
5064− },
5065− "to-arraybuffer": {
5066− "version": "1.0.1",
5067− "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
5068− "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
5069− "dev": true
5070− },
5071− "to-object-path": {
5072− "version": "0.3.0",
5073− "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
5074− "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
5075− "dev": true,
5076− "requires": {
5077− "kind-of": "^3.0.2"
5078− },
5079− "dependencies": {
5080− "kind-of": {
5081− "version": "3.2.2",
5082− "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
5083− "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5084− "dev": true,
5085− "requires": {
5086− "is-buffer": "^1.1.5"
5087− }
5088− }
5089− }
5090− },
5091− "to-regex": {
5092− "version": "3.0.2",
5093− "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
5094− "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
5095− "dev": true,
5096− "requires": {
5097− "define-property": "^2.0.2",
5098− "extend-shallow": "^3.0.2",
5099− "regex-not": "^1.0.2",
5100− "safe-regex": "^1.1.0"
5101− }
5102− },
5103− "to-regex-range": {
5104− "version": "2.1.1",
5105− "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
5106− "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
5107− "dev": true,
5108− "requires": {
5109− "is-number": "^3.0.0",
5110− "repeat-string": "^1.6.1"
5111− }
5112− },
5113− "toposort": {
5114− "version": "1.0.7",
5115− "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz",
5116− "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=",
5117− "dev": true
5118− },
5119− "tslib": {
5120− "version": "1.9.3",
5121− "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
5122− "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==",
5123− "dev": true
5124− },
5125− "tty-browserify": {
5126− "version": "0.0.0",
5127− "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
5128− "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
5129− "dev": true
5130− },
5131− "type-is": {
5132− "version": "1.6.16",
5133− "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
5134− "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
5135− "dev": true,
5136− "requires": {
5137− "media-typer": "0.3.0",
5138− "mime-types": "~2.1.18"
5139− }
5140− },
5141− "typedarray": {
5142− "version": "0.0.6",
5143− "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
5144− "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
5145− "dev": true
5146− },
5147− "uglify-es": {
5148− "version": "3.3.9",
5149− "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz",
5150− "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==",
5151− "dev": true,
5152− "requires": {
5153− "commander": "~2.13.0",
5154− "source-map": "~0.6.1"
5155− },
5156− "dependencies": {
5157− "source-map": {
5158− "version": "0.6.1",
5159− "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
5160− "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
5161− "dev": true
5162− }
5163− }
5164− },
5165− "uglifyjs-webpack-plugin": {
5166− "version": "1.3.0",
5167− "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz",
5168− "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==",
5169− "dev": true,
5170− "requires": {
5171− "cacache": "^10.0.4",
5172− "find-cache-dir": "^1.0.0",
5173− "schema-utils": "^0.4.5",
5174− "serialize-javascript": "^1.4.0",
5175− "source-map": "^0.6.1",
5176− "uglify-es": "^3.3.4",
5177− "webpack-sources": "^1.1.0",
5178− "worker-farm": "^1.5.2"
5179− },
5180− "dependencies": {
5181− "source-map": {
5182− "version": "0.6.1",
5183− "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
5184− "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
5185− "dev": true
5186− }
5187− }
5188− },
5189− "union-value": {
5190− "version": "1.0.0",
5191− "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
5192− "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
5193− "dev": true,
5194− "requires": {
5195− "arr-union": "^3.1.0",
5196− "get-value": "^2.0.6",
5197− "is-extendable": "^0.1.1",
5198− "set-value": "^0.4.3"
5199− },
5200− "dependencies": {
5201− "extend-shallow": {
5202− "version": "2.0.1",
5203− "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
5204− "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5205− "dev": true,
5206− "requires": {
5207− "is-extendable": "^0.1.0"
5208− }
5209− },
5210− "set-value": {
5211− "version": "0.4.3",
5212− "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
5213− "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
5214− "dev": true,
5215− "requires": {
5216− "extend-shallow": "^2.0.1",
5217− "is-extendable": "^0.1.1",
5218− "is-plain-object": "^2.0.1",
5219− "to-object-path": "^0.3.0"
5220− }
5221− }
5222− }
5223− },
5224− "unique-filename": {
5225− "version": "1.1.1",
5226− "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
5227− "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
5228− "dev": true,
5229− "requires": {
5230− "unique-slug": "^2.0.0"
5231− }
5232− },
5233− "unique-slug": {
5234− "version": "2.0.1",
5235− "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz",
5236− "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==",
5237− "dev": true,
5238− "requires": {
5239− "imurmurhash": "^0.1.4"
5240− }
5241− },
5242− "unpipe": {
5243− "version": "1.0.0",
5244− "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
5245− "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
5246− "dev": true
5247− },
5248− "unset-value": {
5249− "version": "1.0.0",
5250− "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
5251− "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
5252− "dev": true,
5253− "requires": {
5254− "has-value": "^0.3.1",
5255− "isobject": "^3.0.0"
5256− },
5257− "dependencies": {
5258− "has-value": {
5259− "version": "0.3.1",
5260− "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
5261− "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
5262− "dev": true,
5263− "requires": {
5264− "get-value": "^2.0.3",
5265− "has-values": "^0.1.4",
5266− "isobject": "^2.0.0"
5267− },
5268− "dependencies": {
5269− "isobject": {
5270− "version": "2.1.0",
5271− "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
5272− "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
5273− "dev": true,
5274− "requires": {
5275− "isarray": "1.0.0"
5276− }
5277− }
5278− }
5279− },
5280− "has-values": {
5281− "version": "0.1.4",
5282− "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
5283− "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
5284− "dev": true
5285− },
5286− "isarray": {
5287− "version": "1.0.0",
5288− "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
5289− "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
5290− "dev": true
5291− }
5292− }
5293− },
5294− "upath": {
5295− "version": "1.1.0",
5296− "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
5297− "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
5298− "dev": true
5299− },
5300− "upper-case": {
5301− "version": "1.1.3",
5302− "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
5303− "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
5304− "dev": true
5305− },
5306− "uri-js": {
5307− "version": "4.2.2",
5308− "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
5309− "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
5310− "dev": true,
5311− "requires": {
5312− "punycode": "^2.1.0"
5313− }
5314− },
5315− "urix": {
5316− "version": "0.1.0",
5317− "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
5318− "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
5319− "dev": true
5320− },
5321− "url": {
5322− "version": "0.11.0",
5323− "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
5324− "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
5325− "dev": true,
5326− "requires": {
5327− "punycode": "1.3.2",
5328− "querystring": "0.2.0"
5329− },
5330− "dependencies": {
5331− "punycode": {
5332− "version": "1.3.2",
5333− "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
5334− "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
5335− "dev": true
5336− }
5337− }
5338− },
5339− "url-parse": {
5340− "version": "1.4.4",
5341− "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.4.tgz",
5342− "integrity": "sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg==",
5343− "dev": true,
5344− "requires": {
5345− "querystringify": "^2.0.0",
5346− "requires-port": "^1.0.0"
5347− }
5348− },
5349− "use": {
5350− "version": "3.1.1",
5351− "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
5352− "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
5353− "dev": true
5354− },
5355− "util": {
5356− "version": "0.10.4",
5357− "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
5358− "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
5359− "dev": true,
5360− "requires": {
5361− "inherits": "2.0.3"
5362− }
5363− },
5364− "util-deprecate": {
5365− "version": "1.0.2",
5366− "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
5367− "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
5368− "dev": true
5369− },
5370− "util.promisify": {
5371− "version": "1.0.0",
5372− "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
5373− "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
5374− "dev": true,
5375− "requires": {
5376− "define-properties": "^1.1.2",
5377− "object.getownpropertydescriptors": "^2.0.3"
5378− }
5379− },
5380− "utila": {
5381− "version": "0.4.0",
5382− "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
5383− "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
5384− "dev": true
5385− },
5386− "utils-merge": {
5387− "version": "1.0.1",
5388− "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
5389− "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
5390− "dev": true
5391− },
5392− "uuid": {
5393− "version": "3.3.2",
5394− "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
5395− "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
5396− "dev": true
5397− },
5398− "v8-compile-cache": {
5399− "version": "2.0.2",
5400− "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz",
5401− "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==",
5402− "dev": true
5403− },
5404− "vary": {
5405− "version": "1.1.2",
5406− "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
5407− "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
5408− "dev": true
5409− },
5410− "vm-browserify": {
5411− "version": "0.0.4",
5412− "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
5413− "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
5414− "dev": true,
5415− "requires": {
5416− "indexof": "0.0.1"
5417− }
5418− },
5419− "watchpack": {
5420− "version": "1.6.0",
5421− "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
5422− "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
5423− "dev": true,
5424− "requires": {
5425− "chokidar": "^2.0.2",
5426− "graceful-fs": "^4.1.2",
5427− "neo-async": "^2.5.0"
5428− }
5429− },
5430− "wbuf": {
5431− "version": "1.7.3",
5432− "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
5433− "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
5434− "dev": true,
5435− "requires": {
5436− "minimalistic-assert": "^1.0.0"
5437− }
5438− },
5439− "webpack": {
5440− "version": "4.25.1",
5441− "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.25.1.tgz",
5442− "integrity": "sha512-T0GU/3NRtO4tMfNzsvpdhUr8HnzA4LTdP2zd+e5zd6CdOH5vNKHnAlO+DvzccfhPdzqRrALOFcjYxx7K5DWmvA==",
5443− "dev": true,
5444− "requires": {
5445− "@webassemblyjs/ast": "1.7.11",
5446− "@webassemblyjs/helper-module-context": "1.7.11",
5447− "@webassemblyjs/wasm-edit": "1.7.11",
5448− "@webassemblyjs/wasm-parser": "1.7.11",
5449− "acorn": "^5.6.2",
5450− "acorn-dynamic-import": "^3.0.0",
5451− "ajv": "^6.1.0",
5452− "ajv-keywords": "^3.1.0",
5453− "chrome-trace-event": "^1.0.0",
5454− "enhanced-resolve": "^4.1.0",
5455− "eslint-scope": "^4.0.0",
5456− "json-parse-better-errors": "^1.0.2",
5457− "loader-runner": "^2.3.0",
5458− "loader-utils": "^1.1.0",
5459− "memory-fs": "~0.4.1",
5460− "micromatch": "^3.1.8",
5461− "mkdirp": "~0.5.0",
5462− "neo-async": "^2.5.0",
5463− "node-libs-browser": "^2.0.0",
5464− "schema-utils": "^0.4.4",
5465− "tapable": "^1.1.0",
5466− "uglifyjs-webpack-plugin": "^1.2.4",
5467− "watchpack": "^1.5.0",
5468− "webpack-sources": "^1.3.0"
5469− },
5470− "dependencies": {
5471− "tapable": {
5472− "version": "1.1.0",
5473− "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.0.tgz",
5474− "integrity": "sha512-IlqtmLVaZA2qab8epUXbVWRn3aB1imbDMJtjB3nu4X0NqPkcY/JH9ZtCBWKHWPxs8Svi9tyo8w2dBoi07qZbBA==",
5475− "dev": true
5476− }
5477− }
5478− },
5479− "webpack-cli": {
5480− "version": "3.1.2",
5481− "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.2.tgz",
5482− "integrity": "sha512-Cnqo7CeqeSvC6PTdts+dywNi5CRlIPbLx1AoUPK2T6vC1YAugMG3IOoO9DmEscd+Dghw7uRlnzV1KwOe5IrtgQ==",
5483− "dev": true,
5484− "requires": {
5485− "chalk": "^2.4.1",
5486− "cross-spawn": "^6.0.5",
5487− "enhanced-resolve": "^4.1.0",
5488− "global-modules-path": "^2.3.0",
5489− "import-local": "^2.0.0",
5490− "interpret": "^1.1.0",
5491− "loader-utils": "^1.1.0",
5492− "supports-color": "^5.5.0",
5493− "v8-compile-cache": "^2.0.2",
5494− "yargs": "^12.0.2"
5495− },
5496− "dependencies": {
5497− "supports-color": {
5498− "version": "5.5.0",
5499− "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
5500− "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
5501− "dev": true,
5502− "requires": {
5503− "has-flag": "^3.0.0"
5504− }
5505− }
5506− }
5507− },
5508− "webpack-dev-middleware": {
5509− "version": "3.4.0",
5510− "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz",
5511− "integrity": "sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA==",
5512− "dev": true,
5513− "requires": {
5514− "memory-fs": "~0.4.1",
5515− "mime": "^2.3.1",
5516− "range-parser": "^1.0.3",
5517− "webpack-log": "^2.0.0"
5518− },
5519− "dependencies": {
5520− "mime": {
5521− "version": "2.4.0",
5522− "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz",
5523− "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==",
5524− "dev": true
5525− }
5526− }
5527− },
5528− "webpack-dev-server": {
5529− "version": "3.1.14",
5530− "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.14.tgz",
5531− "integrity": "sha512-mGXDgz5SlTxcF3hUpfC8hrQ11yhAttuUQWf1Wmb+6zo3x6rb7b9mIfuQvAPLdfDRCGRGvakBWHdHOa0I9p/EVQ==",
5532− "dev": true,
5533− "requires": {
5534− "ansi-html": "0.0.7",
5535− "bonjour": "^3.5.0",
5536− "chokidar": "^2.0.0",
5537− "compression": "^1.5.2",
5538− "connect-history-api-fallback": "^1.3.0",
5539− "debug": "^3.1.0",
5540− "del": "^3.0.0",
5541− "express": "^4.16.2",
5542− "html-entities": "^1.2.0",
5543− "http-proxy-middleware": "~0.18.0",
5544− "import-local": "^2.0.0",
5545− "internal-ip": "^3.0.1",
5546− "ip": "^1.1.5",
5547− "killable": "^1.0.0",
5548− "loglevel": "^1.4.1",
5549− "opn": "^5.1.0",
5550− "portfinder": "^1.0.9",
5551− "schema-utils": "^1.0.0",
5552− "selfsigned": "^1.9.1",
5553− "semver": "^5.6.0",
5554− "serve-index": "^1.7.2",
5555− "sockjs": "0.3.19",
5556− "sockjs-client": "1.3.0",
5557− "spdy": "^4.0.0",
5558− "strip-ansi": "^3.0.0",
5559− "supports-color": "^5.1.0",
5560− "url": "^0.11.0",
5561− "webpack-dev-middleware": "3.4.0",
5562− "webpack-log": "^2.0.0",
5563− "yargs": "12.0.2"
5564− },
5565− "dependencies": {
5566− "schema-utils": {
5567− "version": "1.0.0",
5568− "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
5569− "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
5570− "dev": true,
5571− "requires": {
5572− "ajv": "^6.1.0",
5573− "ajv-errors": "^1.0.0",
5574− "ajv-keywords": "^3.1.0"
5575− }
5576− },
5577− "semver": {
5578− "version": "5.6.0",
5579− "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
5580− "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
5581− "dev": true
5582− }
5583− }
5584− },
5585− "webpack-log": {
5586− "version": "2.0.0",
5587− "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
5588− "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
5589− "dev": true,
5590− "requires": {
5591− "ansi-colors": "^3.0.0",
5592− "uuid": "^3.3.2"
5593− }
5594− },
5595− "webpack-sources": {
5596− "version": "1.3.0",
5597− "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz",
5598− "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==",
5599− "dev": true,
5600− "requires": {
5601− "source-list-map": "^2.0.0",
5602− "source-map": "~0.6.1"
5603− },
5604− "dependencies": {
5605− "source-map": {
5606− "version": "0.6.1",
5607− "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
5608− "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
5609− "dev": true
5610− }
5611− }
5612− },
5613− "websocket-driver": {
5614− "version": "0.7.0",
5615− "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
5616− "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
5617− "dev": true,
5618− "requires": {
5619− "http-parser-js": ">=0.4.0",
5620− "websocket-extensions": ">=0.1.1"
5621− }
5622− },
5623− "websocket-extensions": {
5624− "version": "0.1.3",
5625− "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
5626− "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
5627− "dev": true
5628− },
5629− "which": {
5630− "version": "1.3.1",
5631− "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
5632− "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
5633− "dev": true,
5634− "requires": {
5635− "isexe": "^2.0.0"
5636− }
5637− },
5638− "which-module": {
5639− "version": "2.0.0",
5640− "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
5641− "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
5642− "dev": true
5643− },
5644− "worker-farm": {
5645− "version": "1.6.0",
5646− "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz",
5647− "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==",
5648− "dev": true,
5649− "requires": {
5650− "errno": "~0.1.7"
5651− }
5652− },
5653− "wrap-ansi": {
5654− "version": "2.1.0",
5655− "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
5656− "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
5657− "dev": true,
5658− "requires": {
5659− "string-width": "^1.0.1",
5660− "strip-ansi": "^3.0.1"
5661− },
5662− "dependencies": {
5663− "is-fullwidth-code-point": {
5664− "version": "1.0.0",
5665− "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
5666− "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
5667− "dev": true,
5668− "requires": {
5669− "number-is-nan": "^1.0.0"
5670− }
5671− },
5672− "string-width": {
5673− "version": "1.0.2",
5674− "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
5675− "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
5676− "dev": true,
5677− "requires": {
5678− "code-point-at": "^1.0.0",
5679− "is-fullwidth-code-point": "^1.0.0",
5680− "strip-ansi": "^3.0.0"
5681− }
5682− }
5683− }
5684− },
5685− "wrappy": {
5686− "version": "1.0.2",
5687− "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
5688− "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
5689− "dev": true
5690− },
5691− "xregexp": {
5692− "version": "4.0.0",
5693− "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz",
5694− "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==",
5695− "dev": true
5696− },
5697− "xtend": {
5698− "version": "4.0.1",
5699− "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
5700− "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
5701− "dev": true
5702− },
5703− "y18n": {
5704− "version": "4.0.0",
5705− "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
5706− "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
5707− "dev": true
5708− },
5709− "yallist": {
5710− "version": "2.1.2",
5711− "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
5712− "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
5713− "dev": true
5714− },
5715− "yargs": {
5716− "version": "12.0.2",
5717− "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz",
5718− "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==",
5719− "dev": true,
5720− "requires": {
5721− "cliui": "^4.0.0",
5722− "decamelize": "^2.0.0",
5723− "find-up": "^3.0.0",
5724− "get-caller-file": "^1.0.1",
5725− "os-locale": "^3.0.0",
5726− "require-directory": "^2.1.1",
5727− "require-main-filename": "^1.0.1",
5728− "set-blocking": "^2.0.0",
5729− "string-width": "^2.0.0",
5730− "which-module": "^2.0.0",
5731− "y18n": "^3.2.1 || ^4.0.0",
5732− "yargs-parser": "^10.1.0"
5733− },
5734− "dependencies": {
5735− "find-up": {
5736− "version": "3.0.0",
5737− "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
5738− "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
5739− "dev": true,
5740− "requires": {
5741− "locate-path": "^3.0.0"
5742− }
5743− },
5744− "locate-path": {
5745− "version": "3.0.0",
5746− "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
5747− "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
5748− "dev": true,
5749− "requires": {
5750− "p-locate": "^3.0.0",
5751− "path-exists": "^3.0.0"
5752− }
5753− },
5754− "p-limit": {
5755− "version": "2.0.0",
5756− "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz",
5757− "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==",
5758− "dev": true,
5759− "requires": {
5760− "p-try": "^2.0.0"
5761− }
5762− },
5763− "p-locate": {
5764− "version": "3.0.0",
5765− "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
5766− "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
5767− "dev": true,
5768− "requires": {
5769− "p-limit": "^2.0.0"
5770− }
5771− },
5772− "p-try": {
5773− "version": "2.0.0",
5774− "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
5775− "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
5776− "dev": true
5777− }
5778− }
5779− },
5780− "yargs-parser": {
5781− "version": "10.1.0",
5782− "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
5783− "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
5784− "dev": true,
5785− "requires": {
5786− "camelcase": "^4.1.0"
5787− }
5788− }
5789− }
5790−}
examples/hello-world/package.jsondeleted−21
@@ -1,21 +0,0 @@
1−{
2− "author": "Nick Fitzgerald <nfitzgerald@mozilla.com>",
3− "name": "create-rust-webpack",
4− "version": "0.1.5",
5− "repository": "https://github.com/rustwasm/rust-webpack-template",
6− "license": "Apache-2.0/MIT",
7− "scripts": {
8− "start": "webpack-dev-server -d",
9− "build": "webpack"
10− },
11− "bin": {
12− "create-rust-webpack": ".bin/create-rust-webpack.js"
13− },
14− "devDependencies": {
15− "@wasm-tool/wasm-pack-plugin": "0.1.6",
16− "html-webpack-plugin": "^3.2.0",
17− "webpack": "^4.25.1",
18− "webpack-cli": "^3.1.2",
19− "webpack-dev-server": "^3.1.14"
20− }
21−}
examples/hello-world/src/lib.rsnew file+42
@@ -0,0 +1,42 @@
1+use dodrio::{builder::*, bumpalo};
2+use dodrio::{Node, Render, RenderContext, Vdom};
3+use wasm_bindgen::prelude::*;
4+
5+/// A rendering component that displays a greeting.
6+struct Hello {
7+ /// Who to greet.
8+ who: String,
9+}
10+
11+// The `Render` implementation describes how to render a `Hello` component into
12+// HTML.
13+impl<'a> Render<'a> for Hello {
14+ fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
15+ let msg = bumpalo::format!(in cx.bump, "Hello, {}!", self.who);
16+ let msg = msg.into_bump_str();
17+ p(&cx).children([text(msg)]).finish()
18+ }
19+}
20+
21+#[wasm_bindgen(start)]
22+pub fn run() {
23+ // Set up the panic hook for debugging when things go wrong.
24+ console_error_panic_hook::set_once();
25+
26+ // Grab the document's `<body>`.
27+ let window = web_sys::window().unwrap_throw();
28+ let document = window.document().unwrap_throw();
29+ let body = document.body().unwrap_throw();
30+
31+ // Create a new `Hello` render component.
32+ let component = Hello {
33+ who: String::from("World"),
34+ };
35+
36+ // Create a virtual DOM and mount it and the `Hello` render component to the
37+ // `<body>`.
38+ let vdom = Vdom::new(body.as_ref(), component);
39+
40+ // Run the virtual DOM forever and don't unmount it.
41+ vdom.forget();
42+}
examples/hello-world/webpack.config.jsdeleted−25
@@ -1,25 +0,0 @@
1−const path = require("path");
2−const HtmlWebpackPlugin = require("html-webpack-plugin");
3−
4−const dist = path.resolve(__dirname, "dist");
5−const WasmPackPlugin = require("@wasm-tool/wasm-pack-plugin");
6−
7−module.exports = {
8− entry: "./js/index.js",
9− output: {
10− path: dist,
11− filename: "bundle.js"
12− },
13− devServer: {
14− contentBase: dist,
15− },
16− plugins: [
17− new HtmlWebpackPlugin({
18− template: 'index.html'
19− }),
20−
21− new WasmPackPlugin({
22− crateDirectory: path.resolve(__dirname, "crate")
23− }),
24− ]
25−};
examples/input-form/.gitignoredeleted−7
@@ -1,7 +0,0 @@
1−dist
2−node_modules
3−crate/bin
4−crate/pkg
5−crate/target
6−crate/wasm-pack.log
7−crate/Cargo.lock
examples/input-form/.travis.ymldeleted−11
@@ -1,11 +0,0 @@
1−language: rust
2−
3−install:
4− - curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
5− - source ~/.nvm/nvm.sh
6− - nvm install v10.5
7− - curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh -s -- -f
8−
9−script:
10− - npm install
11− - npm run build
examples/input-form/crate/Cargo.toml → examples/input-form/Cargo.tomlrenamed+6−7
@@ -5,18 +5,17 @@ authors = ["Nick Fitzgerald <fitzgen@gmail.com>"]
55edition = "2018"
66
77[lib]
8−crate-type = ["cdylib", "rlib"]
8+crate-type = ["cdylib"]
99
1010[features]
1111
1212[dependencies]
13−bumpalo = "1.0.2"
14−dodrio = { path = "../../.." }
15−wasm-bindgen = "0.2"
16−console_error_panic_hook = "0.1.1"
13+dodrio = { path = "../.." }
14+wasm-bindgen = "0.2.55"
15+console_error_panic_hook = "0.1.6"
1716
1817[dependencies.web-sys]
19−version = "0.3.8"
18+version = "0.3.32"
2019features = [
2120 "console",
2221 "Document",
@@ -30,4 +29,4 @@ features = [
3029]
3130
3231[dev-dependencies]
33−wasm-bindgen-test = "0.2"
32+wasm-bindgen-test = "0.3.5"
examples/input-form/LICENSE-APACHEdeleted−201
@@ -1,201 +0,0 @@
1− Apache License
2− Version 2.0, January 2004
3− http://www.apache.org/licenses/
4−
5−TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6−
7−1. Definitions.
8−
9− "License" shall mean the terms and conditions for use, reproduction,
10− and distribution as defined by Sections 1 through 9 of this document.
11−
12− "Licensor" shall mean the copyright owner or entity authorized by
13− the copyright owner that is granting the License.
14−
15− "Legal Entity" shall mean the union of the acting entity and all
16− other entities that control, are controlled by, or are under common
17− control with that entity. For the purposes of this definition,
18− "control" means (i) the power, direct or indirect, to cause the
19− direction or management of such entity, whether by contract or
20− otherwise, or (ii) ownership of fifty percent (50%) or more of the
21− outstanding shares, or (iii) beneficial ownership of such entity.
22−
23− "You" (or "Your") shall mean an individual or Legal Entity
24− exercising permissions granted by this License.
25−
26− "Source" form shall mean the preferred form for making modifications,
27− including but not limited to software source code, documentation
28− source, and configuration files.
29−
30− "Object" form shall mean any form resulting from mechanical
31− transformation or translation of a Source form, including but
32− not limited to compiled object code, generated documentation,
33− and conversions to other media types.
34−
35− "Work" shall mean the work of authorship, whether in Source or
36− Object form, made available under the License, as indicated by a
37− copyright notice that is included in or attached to the work
38− (an example is provided in the Appendix below).
39−
40− "Derivative Works" shall mean any work, whether in Source or Object
41− form, that is based on (or derived from) the Work and for which the
42− editorial revisions, annotations, elaborations, or other modifications
43− represent, as a whole, an original work of authorship. For the purposes
44− of this License, Derivative Works shall not include works that remain
45− separable from, or merely link (or bind by name) to the interfaces of,
46− the Work and Derivative Works thereof.
47−
48− "Contribution" shall mean any work of authorship, including
49− the original version of the Work and any modifications or additions
50− to that Work or Derivative Works thereof, that is intentionally
51− submitted to Licensor for inclusion in the Work by the copyright owner
52− or by an individual or Legal Entity authorized to submit on behalf of
53− the copyright owner. For the purposes of this definition, "submitted"
54− means any form of electronic, verbal, or written communication sent
55− to the Licensor or its representatives, including but not limited to
56− communication on electronic mailing lists, source code control systems,
57− and issue tracking systems that are managed by, or on behalf of, the
58− Licensor for the purpose of discussing and improving the Work, but
59− excluding communication that is conspicuously marked or otherwise
60− designated in writing by the copyright owner as "Not a Contribution."
61−
62− "Contributor" shall mean Licensor and any individual or Legal Entity
63− on behalf of whom a Contribution has been received by Licensor and
64− subsequently incorporated within the Work.
65−
66−2. Grant of Copyright License. Subject to the terms and conditions of
67− this License, each Contributor hereby grants to You a perpetual,
68− worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69− copyright license to reproduce, prepare Derivative Works of,
70− publicly display, publicly perform, sublicense, and distribute the
71− Work and such Derivative Works in Source or Object form.
72−
73−3. Grant of Patent License. Subject to the terms and conditions of
74− this License, each Contributor hereby grants to You a perpetual,
75− worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76− (except as stated in this section) patent license to make, have made,
77− use, offer to sell, sell, import, and otherwise transfer the Work,
78− where such license applies only to those patent claims licensable
79− by such Contributor that are necessarily infringed by their
80− Contribution(s) alone or by combination of their Contribution(s)
81− with the Work to which such Contribution(s) was submitted. If You
82− institute patent litigation against any entity (including a
83− cross-claim or counterclaim in a lawsuit) alleging that the Work
84− or a Contribution incorporated within the Work constitutes direct
85− or contributory patent infringement, then any patent licenses
86− granted to You under this License for that Work shall terminate
87− as of the date such litigation is filed.
88−
89−4. Redistribution. You may reproduce and distribute copies of the
90− Work or Derivative Works thereof in any medium, with or without
91− modifications, and in Source or Object form, provided that You
92− meet the following conditions:
93−
94− (a) You must give any other recipients of the Work or
95− Derivative Works a copy of this License; and
96−
97− (b) You must cause any modified files to carry prominent notices
98− stating that You changed the files; and
99−
100− (c) You must retain, in the Source form of any Derivative Works
101− that You distribute, all copyright, patent, trademark, and
102− attribution notices from the Source form of the Work,
103− excluding those notices that do not pertain to any part of
104− the Derivative Works; and
105−
106− (d) If the Work includes a "NOTICE" text file as part of its
107− distribution, then any Derivative Works that You distribute must
108− include a readable copy of the attribution notices contained
109− within such NOTICE file, excluding those notices that do not
110− pertain to any part of the Derivative Works, in at least one
111− of the following places: within a NOTICE text file distributed
112− as part of the Derivative Works; within the Source form or
113− documentation, if provided along with the Derivative Works; or,
114− within a display generated by the Derivative Works, if and
115− wherever such third-party notices normally appear. The contents
116− of the NOTICE file are for informational purposes only and
117− do not modify the License. You may add Your own attribution
118− notices within Derivative Works that You distribute, alongside
119− or as an addendum to the NOTICE text from the Work, provided
120− that such additional attribution notices cannot be construed
121− as modifying the License.
122−
123− You may add Your own copyright statement to Your modifications and
124− may provide additional or different license terms and conditions
125− for use, reproduction, or distribution of Your modifications, or
126− for any such Derivative Works as a whole, provided Your use,
127− reproduction, and distribution of the Work otherwise complies with
128− the conditions stated in this License.
129−
130−5. Submission of Contributions. Unless You explicitly state otherwise,
131− any Contribution intentionally submitted for inclusion in the Work
132− by You to the Licensor shall be under the terms and conditions of
133− this License, without any additional terms or conditions.
134− Notwithstanding the above, nothing herein shall supersede or modify
135− the terms of any separate license agreement you may have executed
136− with Licensor regarding such Contributions.
137−
138−6. Trademarks. This License does not grant permission to use the trade
139− names, trademarks, service marks, or product names of the Licensor,
140− except as required for reasonable and customary use in describing the
141− origin of the Work and reproducing the content of the NOTICE file.
142−
143−7. Disclaimer of Warranty. Unless required by applicable law or
144− agreed to in writing, Licensor provides the Work (and each
145− Contributor provides its Contributions) on an "AS IS" BASIS,
146− WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147− implied, including, without limitation, any warranties or conditions
148− of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149− PARTICULAR PURPOSE. You are solely responsible for determining the
150− appropriateness of using or redistributing the Work and assume any
151− risks associated with Your exercise of permissions under this License.
152−
153−8. Limitation of Liability. In no event and under no legal theory,
154− whether in tort (including negligence), contract, or otherwise,
155− unless required by applicable law (such as deliberate and grossly
156− negligent acts) or agreed to in writing, shall any Contributor be
157− liable to You for damages, including any direct, indirect, special,
158− incidental, or consequential damages of any character arising as a
159− result of this License or out of the use or inability to use the
160− Work (including but not limited to damages for loss of goodwill,
161− work stoppage, computer failure or malfunction, or any and all
162− other commercial damages or losses), even if such Contributor
163− has been advised of the possibility of such damages.
164−
165−9. Accepting Warranty or Additional Liability. While redistributing
166− the Work or Derivative Works thereof, You may choose to offer,
167− and charge a fee for, acceptance of support, warranty, indemnity,
168− or other liability obligations and/or rights consistent with this
169− License. However, in accepting such obligations, You may act only
170− on Your own behalf and on Your sole responsibility, not on behalf
171− of any other Contributor, and only if You agree to indemnify,
172− defend, and hold each Contributor harmless for any liability
173− incurred by, or claims asserted against, such Contributor by reason
174− of your accepting any such warranty or additional liability.
175−
176−END OF TERMS AND CONDITIONS
177−
178−APPENDIX: How to apply the Apache License to your work.
179−
180− To apply the Apache License to your work, attach the following
181− boilerplate notice, with the fields enclosed by brackets "[]"
182− replaced with your own identifying information. (Don't include
183− the brackets!) The text should be enclosed in the appropriate
184− comment syntax for the file format. We also recommend that a
185− file or class name and description of purpose be included on the
186− same "printed page" as the copyright notice for easier
187− identification within third-party archives.
188−
189−Copyright [yyyy] [name of copyright owner]
190−
191−Licensed under the Apache License, Version 2.0 (the "License");
192−you may not use this file except in compliance with the License.
193−You may obtain a copy of the License at
194−
195− http://www.apache.org/licenses/LICENSE-2.0
196−
197−Unless required by applicable law or agreed to in writing, software
198−distributed under the License is distributed on an "AS IS" BASIS,
199−WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200−See the License for the specific language governing permissions and
201−limitations under the License.
examples/input-form/LICENSE-MITdeleted−25
@@ -1,25 +0,0 @@
1−Copyright (c) 2015 The Rust Project Developers
2−
3−Permission is hereby granted, free of charge, to any
4−person obtaining a copy of this software and associated
5−documentation files (the "Software"), to deal in the
6−Software without restriction, including without
7−limitation the rights to use, copy, modify, merge,
8−publish, distribute, sublicense, and/or sell copies of
9−the Software, and to permit persons to whom the Software
10−is furnished to do so, subject to the following
11−conditions:
12−
13−The above copyright notice and this permission notice
14−shall be included in all copies or substantial portions
15−of the Software.
16−
17−THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
18−ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
19−TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
20−PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
21−SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22−CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23−OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
24−IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25−DEALINGS IN THE SOFTWARE.
examples/input-form/README.md+13−20
@@ -1,29 +1,22 @@
1−# 🦀🕸 `rust-webpack-template`
1+# Input Forms
22
3−> **Kickstart your Rust, WebAssembly, and Webpack project!**
3+Renders a greeting to a user-supplied person via an `<input>` value. The
4+greeting is live-updated with new inputs.
45
5−This template is designed for creating monorepo-style Web applications with
6−Rust-generated WebAssembly and Webpack without publishing your wasm to NPM.
6+## Source
77
8−* Want to create and publish NPM packages with Rust and WebAssembly? [Check out
9− `wasm-pack-template`.](https://github.com/rustwasm/wasm-pack-template)
8+See `src/lib.rs`.
109
11−## 🔋 Batteries Included
10+## Build
1211
13−This template comes pre-configured with all the boilerplate for compiling Rust
14−to WebAssembly and hooking into a Webpack build pipeline.
15−
16−* `npm run start` -- Serve the project locally for development at
17− `http://localhost:8080`.
18−
19−* `npm run build` -- Bundle the project (in production mode).
20−
21−## 🚴 Using This Template
12+```
13+wasm-pack build --target web
14+```
2215
23−First, [install `wasm-pack`!](https://rustwasm.github.io/wasm-pack/installer/)
16+## Serve
2417
25−Then, use `npm init` to clone this template:
18+Use any HTTP server, for example:
2619
27−```sh
28−npm init rust-webpack my-app
20+```
21+python -m SimpleHTTPServer
2922```
examples/input-form/crate/src/lib.rsdeleted−75
@@ -1,75 +0,0 @@
1−use bumpalo::Bump;
2−use dodrio::{Attribute, Node, Render};
3−use wasm_bindgen::prelude::*;
4−use wasm_bindgen::JsCast;
5−
6−struct SayHelloTo {
7− who: String,
8−}
9−
10−impl SayHelloTo {
11− fn new<S: Into<String>>(who: S) -> SayHelloTo {
12− let who = who.into();
13− SayHelloTo { who }
14− }
15−
16− fn set_who(&mut self, who: String) {
17− self.who = who;
18− }
19−}
20−
21−impl Render for SayHelloTo {
22− fn render<'a, 'bump>(&'a self, bump: &'bump Bump) -> dodrio::node::NodeRef<'bump>
23− where
24− 'a: 'bump,
25− {
26− let input = bump.alloc(Node::element(
27− "input",
28− [
29− Attribute {
30− name: "type",
31− value: "text",
32− },
33− Attribute {
34− name: "value",
35− value: &self.who,
36− },
37− ],
38− [],
39− ));
40−
41− let hello = bumpalo::format!(in bump, "Hello, {}!", self.who);
42− let hello = bump.alloc(Node::text(hello.into_bump_str()));
43−
44− bump.alloc(Node::element("div", [], [input.into(), hello.into()]))
45− .into()
46− }
47−}
48−
49−#[wasm_bindgen]
50−pub fn run() {
51− console_error_panic_hook::set_once();
52−
53− let window = web_sys::window().unwrap();
54− let document = window.document().unwrap();
55− let body = document.body().unwrap();
56−
57− let mut say_hello = SayHelloTo::new("World");
58− let mut vdom = dodrio::Vdom::new(&body, &say_hello);
59−
60− let on_input = Closure::wrap(Box::new(move |event: web_sys::MouseEvent| {
61− let input = match event
62− .target()
63− .and_then(|t| t.dyn_into::<web_sys::HtmlInputElement>().ok())
64− {
65− Some(input) => input,
66− None => return,
67− };
68−
69− say_hello.set_who(input.value());
70− vdom.render(&say_hello);
71− }) as Box<FnMut(_)>);
72−
73− let _ = body.add_event_listener_with_callback("input", on_input.as_ref().unchecked_ref());
74− on_input.forget();
75−}
examples/input-form/index.html+4
@@ -5,5 +5,9 @@
55 <title>Input Form</title>
66 </head>
77 <body>
8+ <script type="module">
9+ import init from "./pkg/dodrio_input_form.js";
10+ init("./pkg/dodrio_input_form_bg.wasm");
11+ </script>
812 </body>
913</html>
examples/input-form/js/index.jsdeleted−3
@@ -1,3 +0,0 @@
1−import("../crate/pkg").then(module => {
2− module.run();
3−});
examples/input-form/package-lock.jsondeleted−5790

This diff is too big to show here.

examples/input-form/package.jsondeleted−18

This diff is too big to show here.

examples/input-form/src/lib.rsnew file+81

This diff is too big to show here.

examples/input-form/webpack.config.jsdeleted−25

This diff is too big to show here.

examples/js-component/Cargo.tomlnew file+26

This diff is too big to show here.

examples/js-component/README.mdnew file+23

This diff is too big to show here.

examples/js-component/greeting.jsnew file+41

This diff is too big to show here.

examples/js-component/index.htmlnew file+14

This diff is too big to show here.

examples/js-component/src/lib.rsnew file+63

This diff is too big to show here.

examples/moire/Cargo.tomlnew file+43

This diff is too big to show here.

examples/moire/README.mdnew file+26

This diff is too big to show here.

examples/moire/index.htmlnew file+67

This diff is too big to show here.

examples/moire/src/colors.rsnew file+162

This diff is too big to show here.

examples/moire/src/lib.rsnew file+259

This diff is too big to show here.

examples/sierpinski-triangle/Cargo.tomlnew file+28

This diff is too big to show here.

examples/sierpinski-triangle/README.mdnew file+24

This diff is too big to show here.

examples/sierpinski-triangle/ferris.pngnew file

Binary file not shown.

examples/sierpinski-triangle/index.htmlnew file+69

This diff is too big to show here.

examples/sierpinski-triangle/src/lib.rsnew file+157

This diff is too big to show here.

examples/todomvc/Cargo.tomlnew file+47

This diff is too big to show here.

examples/todomvc/README.mdnew file+33

This diff is too big to show here.

examples/todomvc/index.htmlnew file+21

This diff is too big to show here.

examples/todomvc/src/controller.rsnew file+140

This diff is too big to show here.

examples/todomvc/src/keys.rsnew file+7

This diff is too big to show here.

examples/todomvc/src/lib.rsnew file+60

This diff is too big to show here.

examples/todomvc/src/router.rsnew file+68

This diff is too big to show here.

examples/todomvc/src/todo.rsnew file+229

This diff is too big to show here.

examples/todomvc/src/todos.rsnew file+300

This diff is too big to show here.

examples/todomvc/src/utils.rsnew file+32

This diff is too big to show here.

examples/todomvc/src/visibility.rsnew file+51

This diff is too big to show here.

js/change-list-interpreter.jsnew file+377

This diff is too big to show here.

js/change-list.jsdeleted−180

This diff is too big to show here.

js/package-lock.jsondeleted−5

This diff is too big to show here.

js/package.jsondeleted−11

This diff is too big to show here.

js/strace.jsnew file+80

This diff is too big to show here.

publish.shnew file+11

This diff is too big to show here.

src/builder.rsnew file+1075

This diff is too big to show here.

src/cached.rsnew file+229

This diff is too big to show here.

src/cached_set.rsnew file+186

This diff is too big to show here.

src/change_list.rsdeleted−235

This diff is too big to show here.

src/change_list/emitter.rsnew file+292

This diff is too big to show here.

src/change_list/js.rsnew file+40

This diff is too big to show here.

src/change_list/mod.rsnew file+353

This diff is too big to show here.

src/change_list/strings.rsnew file+66

This diff is too big to show here.

src/change_list/traversal.rsnew file+344

This diff is too big to show here.

src/diff.rsnew file+1125

This diff is too big to show here.

src/events.rsnew file+138

This diff is too big to show here.

src/lib.rs+129−11

This diff is too big to show here.

src/logging.rsnew file+65

This diff is too big to show here.

src/macros.rsdeleted−7

This diff is too big to show here.

src/node.rs+243−66

This diff is too big to show here.

src/render.rsnew file+168

This diff is too big to show here.

src/render_context.rsnew file+104

This diff is too big to show here.

src/strace.rsnew file+22

This diff is too big to show here.

src/vdom.rs+419−181

This diff is too big to show here.

tests/web.rsdeleted−13

This diff is too big to show here.

tests/web/cached.jsnew file+11

This diff is too big to show here.

tests/web/cached.rsnew file+289

This diff is too big to show here.

tests/web/events.rsnew file+250

This diff is too big to show here.

tests/web/js_api.rsnew file+153

This diff is too big to show here.

tests/web/keyed.jsnew file+25

This diff is too big to show here.

tests/web/keyed.rsnew file+269

This diff is too big to show here.

tests/web/main.rsnew file+226

This diff is too big to show here.

tests/web/render.rsnew file+343

This diff is too big to show here.