git ssb

1+

mixmix / scuttle-shell



Commit 851531c0e3ba49e7d6301e1941f7cf92e8f91628

mvp

andre alves garzia committed on 6/28/2018, 11:10:34 PM

Files changed

.gitignoreadded
README.mdadded
app.batadded
host-app.jsadded
icon.icoadded
icon.pngadded
package-lock.jsonadded
package.jsonadded
scripts/check-configuration-win.jsadded
scripts/check-configuration.jsadded
scripts/install.jsadded
scripts/setup-win.jsadded
scripts/setup.jsadded
scuttleshell.jsonadded
server.jsadded
.gitignoreView
@@ -1,0 +1,71 @@
1 +# Logs
2 +logs
3 +*.log
4 +npm-debug.log*
5 +yarn-debug.log*
6 +yarn-error.log*
7 +_FOSSIL_
8 +
9 +# Runtime data
10 +pids
11 +*.pid
12 +*.seed
13 +*.pid.lock
14 +
15 +# elm-package generated files
16 +elm-stuff
17 +# elm-repl generated files
18 +repl-temp-*
19 +
20 +# Silly editor stuff
21 +.idea
22 +.vscode
23 +
24 +*-old
25 +
26 +# Directory for instrumented libs generated by jscoverage/JSCover
27 +lib-cov
28 +
29 +# Coverage directory used by tools like istanbul
30 +coverage
31 +
32 +# nyc test coverage
33 +.nyc_output
34 +
35 +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
36 +.grunt
37 +
38 +# Bower dependency directory (https://bower.io/)
39 +bower_components
40 +
41 +# node-waf configuration
42 +.lock-wscript
43 +
44 +# Compiled binary addons (http://nodejs.org/api/addons.html)
45 +build/Release
46 +
47 +# Dependency directories
48 +node_modules/
49 +jspm_packages/
50 +
51 +# Typescript v1 declaration files
52 +typings/
53 +
54 +# Optional npm cache directory
55 +.npm
56 +
57 +# Optional eslint cache
58 +.eslintcache
59 +
60 +# Optional REPL history
61 +.node_repl_history
62 +
63 +# Output of 'npm pack'
64 +*.tgz
65 +
66 +# Yarn Integrity file
67 +.yarn-integrity
68 +
69 +# dotenv environment variables file
70 +.env
71 +
README.mdView
@@ -1,0 +1,65 @@
1 +
2 +## Native companion app
3 +This repository also contains a native companion app that is able to supply features for Firefox WebExtensions posting to the [scuttlebutt](https://www.scuttlebutt.nz/) platform.
4 +
5 +This is useful because there are no WebExtension APIs for TCP and UDP so we can't implement the correct protocols for scuttlebutt. Instead we have a way to use the [Native Messaging API](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Native_messaging) to establish communication between a native application (this app) and an authorized WebExtension. We can think of it much like we do with back-end and front-end web programming, this app is the back-end providing features and all the authorized add-ons are front-end interfacing with Firefox users.
6 +
7 +**Be aware that the companion app is not a requirement, Patchfox can use WebSockets to communicate with a running _sbot_.** So you can run Patchfox in parallel with other clients that start their own _sbot_ or even start it from the command-line with `sbot serve`. Still, this companion app makes it effortless to use Patchfox.
8 +
9 +### Dependencies
10 +
11 +This native application is [NodeJS](https://nodejs.org) based and you need to have a recent version of it installed.
12 +
13 +#### How to setup the native app
14 +
15 +You need to install the dependencies first:
16 +
17 +```
18 +$ npm install
19 +```
20 +
21 +After that the procedure changes depending on which OS you're running as the configuration of _native apps_ differs by operating system with Windows being a quite convoluted process. To setup the application, meaning place the correct _app manifest_ json in the correct place and fix the paths, run:
22 +
23 +```
24 +$ npm run setup-win
25 +```
26 +
27 +or
28 +
29 +```
30 +$ npm run setup
31 +```
32 +
33 +Depending if you're running Windows 10 or other operating system. Also, if you are running under a unix-like system, you will need to double check the shebang invocation on top of the `index.js` file to make sure that it points to your NodeJS location. I tried using `env` there but it didn't work when started from inside Firefox, so it is hardcoded to the default location of NodeJS installation.
34 +
35 +Be aware that the setup procedure will place hardcoded paths in files critical for running this app. **If you move this application to a different folder or rename any folder in its path, you'll need to run this setup again.**
36 +
37 +#### Verifying your configuration
38 +
39 +Run the verification script as:
40 +
41 +```
42 +$ npm run check-win
43 +```
44 +
45 +or
46 +
47 +```
48 +$ npm run check
49 +```
50 +
51 +Depending if you're running Windows 10 or other operating system.
52 +
53 +# How to install the add-on
54 +
55 +On [Firefox Nightly (or Firefox Dev Edition)](https://www.mozilla.org/firefox/channel/desktop/) go to _about:debugging_ and use the _load temporary add-on_ button to browse your files. Select the _manifest.json_ file included with this repository in the `webextension/build` folder.
56 +
57 +To learn more about WebExtension development and debugging, go to [MDN Web Docs - WebExtensions](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/).
58 +
59 +## Commentary, getting help
60 +
61 +Actually, I kinda think the whole process for native app communication is quite bad from a developer ergonomics perspective and I have no idea why Google implemented it like that in the first place but it set a precedent and now Firefox is doing it similarly. I am trying to supply some _configuration verification scripts_ but in case everything fails, read the documentation about WebExtensions and native messaging to get back on track:
62 +
63 +* [MDN Web Docs - WebExtensions](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/).
64 +* [Native Messaging API](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Native_messaging)
65 +* [Native Messaging setup](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Native_messaging#Setup)
app.batView
@@ -1,0 +1,6 @@
1 +@echo off
2 +
3 +SET fullpath=%~dp0
4 +SET mypath=%fullpath:~0,-1%
5 +
6 +call node %mypath%\host-app.js
host-app.jsView
@@ -1,0 +1,84 @@
1 +
2 +const nativeMessage = require('chrome-native-messaging')
3 +const { spawn } = require('child_process')
4 +const path = require('path')
5 +const fs = require('fs')
6 +const home = require('os').homedir()
7 +
8 +const input = new nativeMessage.Input()
9 +const transform = new nativeMessage.Transform((msg, push, done) => {
10 + getReplyFor(msg, data => {
11 + push(data)
12 + done()
13 + })
14 +})
15 +const output = new nativeMessage.Output()
16 +
17 +const getConfig = () => {
18 + try {
19 + let secret = fs.readFileSync(`${home}/.ssb/secret`, "utf8")
20 + let keys = JSON.parse(secret.replace(/#[^\n]*/g, ''))
21 + let manifest = JSON.parse(fs.readFileSync(`${home}/.ssb/manifest.json`))
22 + let remote = "ws://localhost:8989~shs:" + keys.id.substring(1, keys.id.indexOf('.'))
23 + return { type: 'config', keys: keys, manifest: manifest, remote: remote, secret: secret }
24 + } catch (n) {
25 + return { type: 'exception', msg: n.message }
26 + }
27 +}
28 +
29 +const startServer = (cb) => {
30 + output.write({ type: "debug", msg: `starting scuttlebutt` })
31 +
32 + var scriptPath = path.join(__dirname, 'server.js')
33 + var child = spawn(process.execPath, [scriptPath])
34 +
35 + child.stdout.on('data', (data) => {
36 + output.write({ type: 'debug', msg: `stdout: ${data}` })
37 + })
38 +
39 + child.stderr.on('data', (data) => {
40 + output.write({ type: 'error', msg: `stderr: ${data}` })
41 + })
42 +
43 + child.on('close', (code) => {
44 + output.write({ type: 'debug', msg: `child process exited with code ${code}` })
45 + })
46 +
47 + output.write(getConfig())
48 +}
49 +
50 +const getReplyFor = (msg, cb) => {
51 + output.write({ type: "debug", msg: `trying to get reply for ${msg.cmd}` })
52 + switch (msg.cmd) {
53 + case 'start-server':
54 + startServer(cb)
55 + break
56 + case 'stop-server': {
57 + clearInterval(timer)
58 + cb({ type: 'shutdown', msg: 'stopping server' })
59 + process.exit(1)
60 + }
61 + case 'get-config': {
62 + let secretRaw = fs.readFileSync(`${home}/.ssb/secret`)
63 + let keys = JSON.parse(secret.replace(/#[^\n]*/g, ''))
64 + let manifest = JSON.parse(fs.readFileSync(`${home}/.ssb/manifest.json`))
65 + let remote = "ws://localhost:8989~shs:" + keys.id.substring(1, keys.id.indexOf('.'))
66 +
67 + cb({ type: 'config', keys, manifest, remote })
68 + }
69 + }
70 +}
71 +
72 +var timer = setInterval(function () {
73 + output.write({ type: "ping", time: new Date().toISOString() })
74 +}, 120000)
75 +
76 +input.on('end', function () {
77 + clearInterval(timer)
78 +})
79 +
80 +process.stdin
81 + .pipe(input)
82 + .pipe(transform)
83 + .pipe(output)
84 + .pipe(process.stdout)
icon.ico
icon.ico
icon.png
icon.png
package-lock.jsonView
@@ -1,0 +1,4723 @@
1 +{
2 + "name": "scuttle-shell",
3 + "version": "0.0.1",
4 + "lockfileVersion": 1,
5 + "requires": true,
6 + "dependencies": {
7 + "abstract-leveldown": {
8 + "version": "0.12.4",
9 + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-0.12.4.tgz",
10 + "integrity": "sha1-KeGOYy5g5OIh1YECR4UqY9ey5BA=",
11 + "requires": {
12 + "xtend": "~3.0.0"
13 + },
14 + "dependencies": {
15 + "xtend": {
16 + "version": "3.0.0",
17 + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
18 + "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo="
19 + }
20 + }
21 + },
22 + "aligned-block-file": {
23 + "version": "1.1.3",
24 + "resolved": "https://registry.npmjs.org/aligned-block-file/-/aligned-block-file-1.1.3.tgz",
25 + "integrity": "sha512-ai/S+nZ9XMjC0ReZfq94OLGCICVBJyhNiKWmF1J+/GVZZaXtYV805plMi9obaWjfNl/QljB+VOsT+wQ7R858xA==",
26 + "requires": {
27 + "hashlru": "^2.1.0",
28 + "int53": "^0.2.4",
29 + "mkdirp": "^0.5.1",
30 + "obv": "0.0.0",
31 + "uint48be": "^1.0.1"
32 + },
33 + "dependencies": {
34 + "obv": {
35 + "version": "0.0.0",
36 + "resolved": "https://registry.npmjs.org/obv/-/obv-0.0.0.tgz",
37 + "integrity": "sha1-7eq4Ro+R1BkzYu1/kdC5bdOaecE="
38 + }
39 + }
40 + },
41 + "ansi-escapes": {
42 + "version": "1.4.0",
43 + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
44 + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4="
45 + },
46 + "ansi-regex": {
47 + "version": "2.1.1",
48 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
49 + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
50 + },
51 + "ansi-styles": {
52 + "version": "2.2.1",
53 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
54 + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
55 + },
56 + "anymatch": {
57 + "version": "1.3.2",
58 + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
59 + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
60 + "requires": {
61 + "micromatch": "^2.1.5",
62 + "normalize-path": "^2.0.0"
63 + }
64 + },
65 + "append-batch": {
66 + "version": "0.0.1",
67 + "resolved": "https://registry.npmjs.org/append-batch/-/append-batch-0.0.1.tgz",
68 + "integrity": "sha1-kiSFjlVpl8zAfxHx7poShTKqDSU="
69 + },
70 + "aproba": {
71 + "version": "1.2.0",
72 + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
73 + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
74 + },
75 + "are-we-there-yet": {
76 + "version": "1.1.5",
77 + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
78 + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
79 + "requires": {
80 + "delegates": "^1.0.0",
81 + "readable-stream": "^2.0.6"
82 + },
83 + "dependencies": {
84 + "isarray": {
85 + "version": "1.0.0",
86 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
87 + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
88 + },
89 + "readable-stream": {
90 + "version": "2.3.6",
91 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
92 + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
93 + "requires": {
94 + "core-util-is": "~1.0.0",
95 + "inherits": "~2.0.3",
96 + "isarray": "~1.0.0",
97 + "process-nextick-args": "~2.0.0",
98 + "safe-buffer": "~5.1.1",
99 + "string_decoder": "~1.1.1",
100 + "util-deprecate": "~1.0.1"
101 + }
102 + },
103 + "string_decoder": {
104 + "version": "1.1.1",
105 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
106 + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
107 + "requires": {
108 + "safe-buffer": "~5.1.0"
109 + }
110 + }
111 + }
112 + },
113 + "arr-diff": {
114 + "version": "2.0.0",
115 + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
116 + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
117 + "requires": {
118 + "arr-flatten": "^1.0.1"
119 + }
120 + },
121 + "arr-flatten": {
122 + "version": "1.1.0",
123 + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
124 + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
125 + },
126 + "array-union": {
127 + "version": "1.0.2",
128 + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
129 + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
130 + "requires": {
131 + "array-uniq": "^1.0.1"
132 + }
133 + },
134 + "array-uniq": {
135 + "version": "1.0.3",
136 + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
137 + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY="
138 + },
139 + "array-unique": {
140 + "version": "0.2.1",
141 + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
142 + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM="
143 + },
144 + "arraybuffer-base64": {
145 + "version": "1.0.0",
146 + "resolved": "https://registry.npmjs.org/arraybuffer-base64/-/arraybuffer-base64-1.0.0.tgz",
147 + "integrity": "sha1-/QIXuiuo1IYzZj+kOoCTdoAp2jA="
148 + },
149 + "arrify": {
150 + "version": "1.0.1",
151 + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
152 + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0="
153 + },
154 + "async-each": {
155 + "version": "1.0.1",
156 + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
157 + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0="
158 + },
159 + "async-single": {
160 + "version": "1.0.5",
161 + "resolved": "https://registry.npmjs.org/async-single/-/async-single-1.0.5.tgz",
162 + "integrity": "sha1-El3QneldPqMKN4rb7QIQkhebA8k="
163 + },
164 + "atomic-file": {
165 + "version": "0.0.1",
166 + "resolved": "https://registry.npmjs.org/atomic-file/-/atomic-file-0.0.1.tgz",
167 + "integrity": "sha1-bDZlj2xOzjP7o4d3MefCX8gpmbs="
168 + },
169 + "attach-ware": {
170 + "version": "1.1.1",
171 + "resolved": "https://registry.npmjs.org/attach-ware/-/attach-ware-1.1.1.tgz",
172 + "integrity": "sha1-KPUTk92LuL2q2XI0JRm/CWIaNaM=",
173 + "requires": {
174 + "unherit": "^1.0.0"
175 + }
176 + },
177 + "bail": {
178 + "version": "1.0.3",
179 + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.3.tgz",
180 + "integrity": "sha512-1X8CnjFVQ+a+KW36uBNMTU5s8+v5FzeqrP7hTG5aTb4aPreSbZJlhwPon9VKMuEVgV++JM+SQrALY3kr7eswdg=="
181 + },
182 + "balanced-match": {
183 + "version": "1.0.0",
184 + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
185 + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
186 + },
187 + "base64-url": {
188 + "version": "1.3.3",
189 + "resolved": "https://registry.npmjs.org/base64-url/-/base64-url-1.3.3.tgz",
190 + "integrity": "sha1-+LbFN/CaT8WMmcuG4LDpxhRhog8="
191 + },
192 + "bash-color": {
193 + "version": "0.0.4",
194 + "resolved": "https://registry.npmjs.org/bash-color/-/bash-color-0.0.4.tgz",
195 + "integrity": "sha1-6b6M4zVAytpIgXaMWb1jhlc26RM="
196 + },
197 + "binary-extensions": {
198 + "version": "1.11.0",
199 + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
200 + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU="
201 + },
202 + "binary-search": {
203 + "version": "1.3.4",
204 + "resolved": "https://registry.npmjs.org/binary-search/-/binary-search-1.3.4.tgz",
205 + "integrity": "sha512-dPxU/vZLnH0tEVjVPgi015oSwqu6oLfCeHywuFRhBE0yM0mYocvleTl8qsdM1YFhRzTRhM1+VzS8XLDVrHPopg=="
206 + },
207 + "binary-xhr": {
208 + "version": "0.0.2",
209 + "resolved": "https://registry.npmjs.org/binary-xhr/-/binary-xhr-0.0.2.tgz",
210 + "integrity": "sha1-IQywda0XeqRIpu+iiMEKiZw7OYc=",
211 + "requires": {
212 + "inherits": "1.0.0"
213 + },
214 + "dependencies": {
215 + "inherits": {
216 + "version": "1.0.0",
217 + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz",
218 + "integrity": "sha1-OOGXUoW/H3upyE2hArsSdxMirEg="
219 + }
220 + }
221 + },
222 + "bindings": {
223 + "version": "1.2.1",
224 + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz",
225 + "integrity": "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE="
226 + },
227 + "bl": {
228 + "version": "0.8.2",
229 + "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz",
230 + "integrity": "sha1-yba8oI0bwuoA/Ir7Txpf0eHGbk4=",
231 + "requires": {
232 + "readable-stream": "~1.0.26"
233 + }
234 + },
235 + "blake2s": {
236 + "version": "1.0.1",
237 + "resolved": "https://registry.npmjs.org/blake2s/-/blake2s-1.0.1.tgz",
238 + "integrity": "sha1-FZiCKjIOzmqkAbqYKVT4L2GwzXs="
239 + },
240 + "brace-expansion": {
241 + "version": "1.1.11",
242 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
243 + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
244 + "requires": {
245 + "balanced-match": "^1.0.0",
246 + "concat-map": "0.0.1"
247 + }
248 + },
249 + "braces": {
250 + "version": "1.8.5",
251 + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
252 + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
253 + "requires": {
254 + "expand-range": "^1.8.1",
255 + "preserve": "^0.2.0",
256 + "repeat-element": "^1.1.2"
257 + }
258 + },
259 + "broadcast-stream": {
260 + "version": "0.2.2",
261 + "resolved": "https://registry.npmjs.org/broadcast-stream/-/broadcast-stream-0.2.2.tgz",
262 + "integrity": "sha1-eee7FKmrunf3KsklgiAkKo/TkZ0="
263 + },
264 + "browser-split": {
265 + "version": "0.0.0",
266 + "resolved": "https://registry.npmjs.org/browser-split/-/browser-split-0.0.0.tgz",
267 + "integrity": "sha1-QUGcrvdpdVkp3VGJZ9PuwKYmJ3E="
268 + },
269 + "buffer-alloc": {
270 + "version": "1.2.0",
271 + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
272 + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
273 + "requires": {
274 + "buffer-alloc-unsafe": "^1.1.0",
275 + "buffer-fill": "^1.0.0"
276 + }
277 + },
278 + "buffer-alloc-unsafe": {
279 + "version": "1.1.0",
280 + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
281 + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg=="
282 + },
283 + "buffer-fill": {
284 + "version": "1.0.0",
285 + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
286 + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw="
287 + },
288 + "buffer-from": {
289 + "version": "1.1.0",
290 + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz",
291 + "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ=="
292 + },
293 + "bytewise": {
294 + "version": "1.1.0",
295 + "resolved": "https://registry.npmjs.org/bytewise/-/bytewise-1.1.0.tgz",
296 + "integrity": "sha1-HRPL/3F65xWAlKqIGzXQgbOHJT4=",
297 + "requires": {
298 + "bytewise-core": "^1.2.2",
299 + "typewise": "^1.0.3"
300 + }
301 + },
302 + "bytewise-core": {
303 + "version": "1.2.3",
304 + "resolved": "https://registry.npmjs.org/bytewise-core/-/bytewise-core-1.2.3.tgz",
305 + "integrity": "sha1-P7QQx+kVWOsasiqCg0V3qmvWHUI=",
306 + "requires": {
307 + "typewise-core": "^1.2"
308 + }
309 + },
310 + "camelcase": {
311 + "version": "2.1.1",
312 + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
313 + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
314 + },
315 + "ccount": {
316 + "version": "1.0.3",
317 + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.3.tgz",
318 + "integrity": "sha512-Jt9tIBkRc9POUof7QA/VwWd+58fKkEEfI+/t1/eOlxKM7ZhrczNzMFefge7Ai+39y1pR/pP6cI19guHy3FSLmw=="
319 + },
320 + "chalk": {
321 + "version": "1.1.3",
322 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
323 + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
324 + "requires": {
325 + "ansi-styles": "^2.2.1",
326 + "escape-string-regexp": "^1.0.2",
327 + "has-ansi": "^2.0.0",
328 + "strip-ansi": "^3.0.0",
329 + "supports-color": "^2.0.0"
330 + }
331 + },
332 + "character-entities": {
333 + "version": "1.2.2",
334 + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.2.tgz",
335 + "integrity": "sha512-sMoHX6/nBiy3KKfC78dnEalnpn0Az0oSNvqUWYTtYrhRI5iUIYsROU48G+E+kMFQzqXaJ8kHJZ85n7y6/PHgwQ=="
336 + },
337 + "character-entities-html4": {
338 + "version": "1.1.2",
339 + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.2.tgz",
340 + "integrity": "sha512-sIrXwyna2+5b0eB9W149izTPJk/KkJTg6mEzDGibwBUkyH1SbDa+nf515Ppdi3MaH35lW0JFJDWeq9Luzes1Iw=="
341 + },
342 + "character-entities-legacy": {
343 + "version": "1.1.2",
344 + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.2.tgz",
345 + "integrity": "sha512-9NB2VbXtXYWdXzqrvAHykE/f0QJxzaKIpZ5QzNZrrgQ7Iyxr2vnfS8fCBNVW9nUEZE0lo57nxKRqnzY/dKrwlA=="
346 + },
347 + "character-reference-invalid": {
348 + "version": "1.1.2",
349 + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.2.tgz",
350 + "integrity": "sha512-7I/xceXfKyUJmSAn/jw8ve/9DyOP7XxufNYLI9Px7CmsKgEUaZLUTax6nZxGQtaoiZCjpu6cHPj20xC/vqRReQ=="
351 + },
352 + "charwise": {
353 + "version": "3.0.1",
354 + "resolved": "https://registry.npmjs.org/charwise/-/charwise-3.0.1.tgz",
355 + "integrity": "sha512-RcdumNsM6fJZ5HHbYunqj2bpurVRGsXour3OR+SlLEHFhG6ALm54i6Osnh+OvO7kEoSBzwExpblYFH8zKQiEPw=="
356 + },
357 + "chloride": {
358 + "version": "2.2.10",
359 + "resolved": "https://registry.npmjs.org/chloride/-/chloride-2.2.10.tgz",
360 + "integrity": "sha512-CbU1ISGiB2JBV6PDXx7hkl8D94d2TPD1BANUMFbr8rZYKJi8De2d3Hu2XDIOLAhXf+8yhoFOdjtLG6fxz3QByQ==",
361 + "requires": {
362 + "is-electron": "^2.0.0",
363 + "sodium-browserify": "^1.2.4",
364 + "sodium-browserify-tweetnacl": "^0.2.2",
365 + "sodium-chloride": "^1.1.0",
366 + "sodium-native": "^2.1.6"
367 + }
368 + },
369 + "chloride-test": {
370 + "version": "1.2.2",
371 + "resolved": "https://registry.npmjs.org/chloride-test/-/chloride-test-1.2.2.tgz",
372 + "integrity": "sha1-F4aGqF6SeARREulujHkXk/mhCuo=",
373 + "requires": {
374 + "json-buffer": "^2.0.11"
375 + }
376 + },
377 + "chokidar": {
378 + "version": "1.7.0",
379 + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
380 + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
381 + "requires": {
382 + "anymatch": "^1.3.0",
383 + "async-each": "^1.0.0",
384 + "fsevents": "^1.0.0",
385 + "glob-parent": "^2.0.0",
386 + "inherits": "^2.0.1",
387 + "is-binary-path": "^1.0.0",
388 + "is-glob": "^2.0.0",
389 + "path-is-absolute": "^1.0.0",
390 + "readdirp": "^2.0.0"
391 + }
392 + },
393 + "chownr": {
394 + "version": "1.0.1",
395 + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz",
396 + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE="
397 + },
398 + "chrome-native-messaging": {
399 + "version": "0.2.0",
400 + "resolved": "https://registry.npmjs.org/chrome-native-messaging/-/chrome-native-messaging-0.2.0.tgz",
401 + "integrity": "sha1-wULN5SS9GxhU4U9X4HijlqbaOCY="
402 + },
403 + "class-list": {
404 + "version": "0.1.1",
405 + "resolved": "https://registry.npmjs.org/class-list/-/class-list-0.1.1.tgz",
406 + "integrity": "sha1-m5dFGSxBebXaCg12M2WOPHDXlss=",
407 + "requires": {
408 + "indexof": "0.0.1"
409 + }
410 + },
411 + "cli-cursor": {
412 + "version": "1.0.2",
413 + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
414 + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
415 + "requires": {
416 + "restore-cursor": "^1.0.1"
417 + }
418 + },
419 + "co": {
420 + "version": "3.1.0",
421 + "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz",
422 + "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g="
423 + },
424 + "code-point-at": {
425 + "version": "1.1.0",
426 + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
427 + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
428 + },
429 + "collapse-white-space": {
430 + "version": "1.0.4",
431 + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.4.tgz",
432 + "integrity": "sha512-YfQ1tAUZm561vpYD+5eyWN8+UsceQbSrqqlc/6zDY2gtAE+uZLSdkkovhnGpmCThsvKBFakq4EdY/FF93E8XIw=="
433 + },
434 + "commander": {
435 + "version": "2.15.1",
436 + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
437 + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag=="
438 + },
439 + "concat-map": {
440 + "version": "0.0.1",
441 + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
442 + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
443 + },
444 + "concat-stream": {
445 + "version": "1.6.2",
446 + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
447 + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
448 + "requires": {
449 + "buffer-from": "^1.0.0",
450 + "inherits": "^2.0.3",
451 + "readable-stream": "^2.2.2",
452 + "typedarray": "^0.0.6"
453 + },
454 + "dependencies": {
455 + "isarray": {
456 + "version": "1.0.0",
457 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
458 + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
459 + },
460 + "readable-stream": {
461 + "version": "2.3.6",
462 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
463 + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
464 + "requires": {
465 + "core-util-is": "~1.0.0",
466 + "inherits": "~2.0.3",
467 + "isarray": "~1.0.0",
468 + "process-nextick-args": "~2.0.0",
469 + "safe-buffer": "~5.1.1",
470 + "string_decoder": "~1.1.1",
471 + "util-deprecate": "~1.0.1"
472 + }
473 + },
474 + "string_decoder": {
475 + "version": "1.1.1",
476 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
477 + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
478 + "requires": {
479 + "safe-buffer": "~5.1.0"
480 + }
481 + }
482 + }
483 + },
484 + "console-control-strings": {
485 + "version": "1.1.0",
486 + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
487 + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
488 + },
489 + "cont": {
490 + "version": "1.0.3",
491 + "resolved": "https://registry.npmjs.org/cont/-/cont-1.0.3.tgz",
492 + "integrity": "sha1-aHTx6TX8qZ0EjK6qrZoK6wILzOA=",
493 + "requires": {
494 + "continuable": "~1.2.0",
495 + "continuable-para": "~1.2.0",
496 + "continuable-series": "~1.2.0"
497 + }
498 + },
499 + "continuable": {
500 + "version": "1.2.0",
501 + "resolved": "https://registry.npmjs.org/continuable/-/continuable-1.2.0.tgz",
502 + "integrity": "sha1-CCd0aNQRNiAAdMz4cpQwjRafJbY="
503 + },
504 + "continuable-hash": {
505 + "version": "0.1.4",
506 + "resolved": "https://registry.npmjs.org/continuable-hash/-/continuable-hash-0.1.4.tgz",
507 + "integrity": "sha1-gcdNQXcdjJJ4Ph4A5fEbNNbfx4w=",
508 + "requires": {
509 + "continuable": "~1.1.6"
510 + },
511 + "dependencies": {
512 + "continuable": {
513 + "version": "1.1.8",
514 + "resolved": "https://registry.npmjs.org/continuable/-/continuable-1.1.8.tgz",
515 + "integrity": "sha1-3Id7R0FghwrjvN6HM2Jo6+UFl9U="
516 + }
517 + }
518 + },
519 + "continuable-list": {
520 + "version": "0.1.6",
521 + "resolved": "https://registry.npmjs.org/continuable-list/-/continuable-list-0.1.6.tgz",
522 + "integrity": "sha1-h88G7FgHFuEN/5X7C4TF8OisrF8=",
523 + "requires": {
524 + "continuable": "~1.1.6"
525 + },
526 + "dependencies": {
527 + "continuable": {
528 + "version": "1.1.8",
529 + "resolved": "https://registry.npmjs.org/continuable/-/continuable-1.1.8.tgz",
530 + "integrity": "sha1-3Id7R0FghwrjvN6HM2Jo6+UFl9U="
531 + }
532 + }
533 + },
534 + "continuable-para": {
535 + "version": "1.2.0",
536 + "resolved": "https://registry.npmjs.org/continuable-para/-/continuable-para-1.2.0.tgz",
537 + "integrity": "sha1-RFUQ9klFndD8NchyAVFGEicxxYM=",
538 + "requires": {
539 + "continuable-hash": "~0.1.4",
540 + "continuable-list": "~0.1.5"
541 + }
542 + },
543 + "continuable-series": {
544 + "version": "1.2.0",
545 + "resolved": "https://registry.npmjs.org/continuable-series/-/continuable-series-1.2.0.tgz",
546 + "integrity": "sha1-MkM5euk6cdZVswJoNKUVkLlYueg="
547 + },
548 + "core-util-is": {
549 + "version": "1.0.2",
550 + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
551 + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
552 + },
553 + "cross-spawn": {
554 + "version": "5.1.0",
555 + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
556 + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
557 + "requires": {
558 + "lru-cache": "^4.0.1",
559 + "shebang-command": "^1.2.0",
560 + "which": "^1.2.9"
561 + }
562 + },
563 + "debug": {
564 + "version": "2.6.9",
565 + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
566 + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
567 + "requires": {
568 + "ms": "2.0.0"
569 + }
570 + },
571 + "decompress-response": {
572 + "version": "3.3.0",
573 + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
574 + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
575 + "requires": {
576 + "mimic-response": "^1.0.0"
577 + }
578 + },
579 + "deep-equal": {
580 + "version": "1.0.1",
581 + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
582 + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
583 + },
584 + "deep-extend": {
585 + "version": "0.6.0",
586 + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
587 + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
588 + },
589 + "deferred-leveldown": {
590 + "version": "0.2.0",
591 + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-0.2.0.tgz",
592 + "integrity": "sha1-LO8fER4cV4cNi7uK8mUOWHzS9bQ=",
593 + "requires": {
594 + "abstract-leveldown": "~0.12.1"
595 + }
596 + },
597 + "define-properties": {
598 + "version": "1.1.2",
599 + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
600 + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
601 + "requires": {
602 + "foreach": "^2.0.5",
603 + "object-keys": "^1.0.8"
604 + }
605 + },
606 + "defined": {
607 + "version": "1.0.0",
608 + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
609 + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM="
610 + },
611 + "delegates": {
612 + "version": "1.0.0",
613 + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
614 + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
615 + },
616 + "detab": {
617 + "version": "1.0.2",
618 + "resolved": "https://registry.npmjs.org/detab/-/detab-1.0.2.tgz",
619 + "integrity": "sha1-AbwqSr57x8xnwwOYCO265HBJoO4=",
620 + "requires": {
621 + "repeat-string": "^1.5.2"
622 + }
623 + },
624 + "detect-libc": {
625 + "version": "1.0.3",
626 + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
627 + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
628 + },
629 + "ecstatic": {
630 + "version": "3.2.0",
631 + "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-3.2.0.tgz",
632 + "integrity": "sha512-Goilx/2cfU9vvfQjgtNgc2VmJAD8CasQ6rZDqCd2u4Hsyd/qFET6nBf60jiHodevR3nl3IGzNKtrzPXWP88utQ==",
633 + "requires": {
634 + "he": "^1.1.1",
635 + "mime": "^1.4.1",
636 + "minimist": "^1.1.0",
637 + "url-join": "^2.0.2"
638 + }
639 + },
640 + "ed2curve": {
641 + "version": "0.1.4",
642 + "resolved": "https://registry.npmjs.org/ed2curve/-/ed2curve-0.1.4.tgz",
643 + "integrity": "sha1-lKRCSLuH2jXbDv968KpXYWgRf1k=",
644 + "requires": {
645 + "tweetnacl": "0.x.x"
646 + }
647 + },
648 + "elegant-spinner": {
649 + "version": "1.0.1",
650 + "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz",
651 + "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4="
652 + },
653 + "emoji-named-characters": {
654 + "version": "1.0.2",
655 + "resolved": "https://registry.npmjs.org/emoji-named-characters/-/emoji-named-characters-1.0.2.tgz",
656 + "integrity": "sha1-zes20OZgAsS5178d+8Ohmft9QJs="
657 + },
658 + "emoji-server": {
659 + "version": "1.0.0",
660 + "resolved": "https://registry.npmjs.org/emoji-server/-/emoji-server-1.0.0.tgz",
661 + "integrity": "sha1-0GPP7prxGMxa7vvC6bPdUIWBXGM=",
662 + "requires": {
663 + "emoji-named-characters": "~1.0.2"
664 + }
665 + },
666 + "encoding-down": {
667 + "version": "4.0.1",
668 + "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-4.0.1.tgz",
669 + "integrity": "sha512-AlSE+ugBIpLL0i9if2SlnOZ4oWj/XvBb8tw2Ie/pFB73vdYs5O/6plRyqIgjbZbz8onaL20AAuMP87LWbP56IQ==",
670 + "requires": {
671 + "abstract-leveldown": "^4.0.0",
672 + "level-codec": "^8.0.0",
673 + "level-errors": "^1.0.4",
674 + "xtend": "^4.0.1"
675 + },
676 + "dependencies": {
677 + "abstract-leveldown": {
678 + "version": "4.0.3",
679 + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-4.0.3.tgz",
680 + "integrity": "sha512-qsIHFQy0u17JqSY+3ZUT+ykqxYY17yOfvAsLkFkw8kSQqi05d1jyj0bCuSX6sjYlXuY9cKpgUt5EudQdP4aXyA==",
681 + "requires": {
682 + "xtend": "~4.0.0"
683 + }
684 + },
685 + "level-codec": {
686 + "version": "8.0.0",
687 + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-8.0.0.tgz",
688 + "integrity": "sha512-gNZlo1HRHz0BWxzGCyNf7xntAs2HKOPvvRBWtXsoDvEX4vMYnSTBS6ZnxoaiX7nhxSBPpegRa8CQ/hnfGBKk3Q=="
689 + }
690 + }
691 + },
692 + "end-of-stream": {
693 + "version": "1.4.1",
694 + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
695 + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
696 + "requires": {
697 + "once": "^1.4.0"
698 + }
699 + },
700 + "epidemic-broadcast-trees": {
701 + "version": "3.0.3",
702 + "resolved": "https://registry.npmjs.org/epidemic-broadcast-trees/-/epidemic-broadcast-trees-3.0.3.tgz",
703 + "integrity": "sha1-DZhbr+9XOV1+r4nHyCGgVjzlAPI=",
704 + "requires": {
705 + "explain-error": "^1.0.3",
706 + "pull-stream": "^3.5.0"
707 + }
708 + },
709 + "errno": {
710 + "version": "0.1.7",
711 + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
712 + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
713 + "requires": {
714 + "prr": "~1.0.1"
715 + },
716 + "dependencies": {
717 + "prr": {
718 + "version": "1.0.1",
719 + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
720 + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY="
721 + }
722 + }
723 + },
724 + "es-abstract": {
725 + "version": "1.12.0",
726 + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
727 + "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==",
728 + "requires": {
729 + "es-to-primitive": "^1.1.1",
730 + "function-bind": "^1.1.1",
731 + "has": "^1.0.1",
732 + "is-callable": "^1.1.3",
733 + "is-regex": "^1.0.4"
734 + }
735 + },
736 + "es-to-primitive": {
737 + "version": "1.1.1",
738 + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
739 + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
740 + "requires": {
741 + "is-callable": "^1.1.1",
742 + "is-date-object": "^1.0.1",
743 + "is-symbol": "^1.0.1"
744 + }
745 + },
746 + "escape-string-regexp": {
747 + "version": "1.0.5",
748 + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
749 + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
750 + },
751 + "eslint-config-standard": {
752 + "version": "11.0.0",
753 + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-11.0.0.tgz",
754 + "integrity": "sha512-oDdENzpViEe5fwuRCWla7AXQd++/oyIp8zP+iP9jiUPG6NBj3SHgdgtl/kTn00AjeN+1HNvavTKmYbMo+xMOlw==",
755 + "dev": true
756 + },
757 + "exit-hook": {
758 + "version": "1.1.1",
759 + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz",
760 + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g="
761 + },
762 + "expand-brackets": {
763 + "version": "0.1.5",
764 + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
765 + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
766 + "requires": {
767 + "is-posix-bracket": "^0.1.0"
768 + }
769 + },
770 + "expand-range": {
771 + "version": "1.8.2",
772 + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
773 + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
774 + "requires": {
775 + "fill-range": "^2.1.0"
776 + }
777 + },
778 + "expand-template": {
779 + "version": "1.1.1",
780 + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.1.tgz",
781 + "integrity": "sha512-cebqLtV8KOZfw0UI8TEFWxtczxxC1jvyUvx6H4fyp1K1FN7A4Q+uggVUlOsI1K8AGU0rwOGqP8nCapdrw8CYQg=="
782 + },
783 + "explain-error": {
784 + "version": "1.0.4",
785 + "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz",
786 + "integrity": "sha1-p5PTrAytTGq1cemWj7urbLJTKSk="
787 + },
788 + "extend": {
789 + "version": "3.0.1",
790 + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
791 + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
792 + },
793 + "extend.js": {
794 + "version": "0.0.2",
795 + "resolved": "https://registry.npmjs.org/extend.js/-/extend.js-0.0.2.tgz",
796 + "integrity": "sha1-D5x6gaHyCLcD6wwxMf5XFqxuzRU="
797 + },
798 + "extglob": {
799 + "version": "0.3.2",
800 + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
801 + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
802 + "requires": {
803 + "is-extglob": "^1.0.0"
804 + }
805 + },
806 + "fast-future": {
807 + "version": "1.0.2",
808 + "resolved": "https://registry.npmjs.org/fast-future/-/fast-future-1.0.2.tgz",
809 + "integrity": "sha1-hDWpqqAteSSNF9cE52JZMB2ZKAo="
810 + },
811 + "filename-regex": {
812 + "version": "2.0.1",
813 + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
814 + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY="
815 + },
816 + "fill-range": {
817 + "version": "2.2.4",
818 + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
819 + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
820 + "requires": {
821 + "is-number": "^2.1.0",
822 + "isobject": "^2.0.0",
823 + "randomatic": "^3.0.0",
824 + "repeat-element": "^1.1.2",
825 + "repeat-string": "^1.5.2"
826 + }
827 + },
828 + "flumecodec": {
829 + "version": "0.0.0",
830 + "resolved": "https://registry.npmjs.org/flumecodec/-/flumecodec-0.0.0.tgz",
831 + "integrity": "sha1-Ns4Gq+Lg4BxE3WnyoWUwWiMgZJs=",
832 + "requires": {
833 + "level-codec": "^6.2.0"
834 + }
835 + },
836 + "flumedb": {
837 + "version": "0.4.9",
838 + "resolved": "https://registry.npmjs.org/flumedb/-/flumedb-0.4.9.tgz",
839 + "integrity": "sha512-z932cCXHteJXKcwoev8/RfJ9tQ10FeRCZ6Jh55UnxN/ayZraYZvNYObl8ujbho7xQZB1CDt2WTHCN5gEYGBqGw==",
840 + "requires": {
841 + "cont": "^1.0.3",
842 + "explain-error": "^1.0.3",
843 + "obv": "0.0.1",
844 + "pull-cont": "0.0.0",
845 + "pull-looper": "^1.0.0",
846 + "pull-stream": "^3.5.0"
847 + }
848 + },
849 + "flumelog-offset": {
850 + "version": "3.3.1",
851 + "resolved": "https://registry.npmjs.org/flumelog-offset/-/flumelog-offset-3.3.1.tgz",
852 + "integrity": "sha512-4yYdr8tTL0qOkKqhxAxvNnIwDBaBcLEsJWbyc2wU4Ycaewts9xxcBaxNbORp2KBbTwFaqZAV13HVpfZcO1X/AA==",
853 + "requires": {
854 + "aligned-block-file": "^1.1.2",
855 + "append-batch": "^0.0.1",
856 + "explain-error": "^1.0.3",
857 + "hashlru": "^2.2.0",
858 + "int53": "^0.2.4",
859 + "looper": "^4.0.0",
860 + "ltgt": "^2.1.3",
861 + "obv": "0.0.1",
862 + "pull-cursor": "^3.0.0",
863 + "pull-looper": "^1.0.0",
864 + "uint48be": "^1.0.1"
865 + }
866 + },
867 + "flumeview-hashtable": {
868 + "version": "1.0.3",
869 + "resolved": "https://registry.npmjs.org/flumeview-hashtable/-/flumeview-hashtable-1.0.3.tgz",
870 + "integrity": "sha1-0qn6Fkn1fvaNG4nrTEO/sXJDeWc=",
871 + "requires": {
872 + "async-single": "^1.0.5",
873 + "atomic-file": "^1.1.3",
874 + "obv": "0.0.1",
875 + "pull-stream": "^3.6.0"
876 + },
877 + "dependencies": {
878 + "atomic-file": {
879 + "version": "1.1.5",
880 + "resolved": "https://registry.npmjs.org/atomic-file/-/atomic-file-1.1.5.tgz",
881 + "integrity": "sha512-TG+5YFiaKQ6CZiSQsosGMJ/IJzwMZ4V/rSdEXlD6+DwKyv8OyeUcprq34kp4yuS6bfQYXhxBC2Vm8PWo+iKBGQ=="
882 + }
883 + }
884 + },
885 + "flumeview-level": {
886 + "version": "2.1.1",
887 + "resolved": "https://registry.npmjs.org/flumeview-level/-/flumeview-level-2.1.1.tgz",
888 + "integrity": "sha1-KQkSRgKzKdT2oOuMkDigyRFrNoE=",
889 + "requires": {
890 + "bytewise": "^1.1.0",
891 + "explain-error": "^1.0.4",
892 + "level": "^1.7.0",
893 + "ltgt": "^2.1.3",
894 + "mkdirp": "^0.5.1",
895 + "obv": "0.0.0",
896 + "pull-level": "^2.0.3",
897 + "pull-paramap": "^1.2.1",
898 + "pull-stream": "^3.5.0",
899 + "pull-write": "^1.1.1"
900 + },
901 + "dependencies": {
902 + "obv": {
903 + "version": "0.0.0",
904 + "resolved": "https://registry.npmjs.org/obv/-/obv-0.0.0.tgz",
905 + "integrity": "sha1-7eq4Ro+R1BkzYu1/kdC5bdOaecE="
906 + }
907 + }
908 + },
909 + "flumeview-query": {
910 + "version": "6.2.0",
911 + "resolved": "https://registry.npmjs.org/flumeview-query/-/flumeview-query-6.2.0.tgz",
912 + "integrity": "sha512-tq7rD63gixBDOPegw10khz/d5Bnq9qW9IbURHbWuJkG5CUBm3JP4QQSIF/Phl99jz66MRuXoXjRrXXQLN89iNQ==",
913 + "requires": {
914 + "deep-equal": "^1.0.1",
915 + "flumeview-level": "^3.0.0",
916 + "map-filter-reduce": "^3.0.7",
917 + "pull-flatmap": "0.0.1",
918 + "pull-paramap": "^1.1.3",
919 + "pull-sink-through": "0.0.0",
920 + "pull-stream": "^3.4.0"
921 + },
922 + "dependencies": {
923 + "abstract-leveldown": {
924 + "version": "4.0.3",
925 + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-4.0.3.tgz",
926 + "integrity": "sha512-qsIHFQy0u17JqSY+3ZUT+ykqxYY17yOfvAsLkFkw8kSQqi05d1jyj0bCuSX6sjYlXuY9cKpgUt5EudQdP4aXyA==",
927 + "requires": {
928 + "xtend": "~4.0.0"
929 + }
930 + },
931 + "bindings": {
932 + "version": "1.3.0",
933 + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz",
934 + "integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw=="
935 + },
936 + "deferred-leveldown": {
937 + "version": "3.0.0",
938 + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-3.0.0.tgz",
939 + "integrity": "sha512-ajbXqRPMXRlcdyt0TuWqknOJkp1JgQjGB7xOl2V+ebol7/U11E9h3/nCZAtN1M7djmAJEIhypCUc1tIWxdQAuQ==",
940 + "requires": {
941 + "abstract-leveldown": "~4.0.0"
942 + }
943 + },
944 + "flumeview-level": {
945 + "version": "3.0.5",
946 + "resolved": "https://registry.npmjs.org/flumeview-level/-/flumeview-level-3.0.5.tgz",
947 + "integrity": "sha512-LKW+YdJGemOo7TnUwpFHq4cBBiYAIKtWk+G2CK7zrxbCIiAHemBRudohBOUKuSUZZ0CReR5fJ73peBHW02VerA==",
948 + "requires": {
949 + "charwise": "^3.0.1",
950 + "explain-error": "^1.0.4",
951 + "level": "^3.0.1",
952 + "ltgt": "^2.1.3",
953 + "mkdirp": "^0.5.1",
954 + "obv": "0.0.0",
955 + "pull-level": "^2.0.3",
956 + "pull-paramap": "^1.2.1",
957 + "pull-stream": "^3.5.0",
958 + "pull-write": "^1.1.1"
959 + }
960 + },
961 + "isarray": {
962 + "version": "1.0.0",
963 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
964 + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
965 + },
966 + "level": {
967 + "version": "3.0.2",
968 + "resolved": "https://registry.npmjs.org/level/-/level-3.0.2.tgz",
969 + "integrity": "sha512-2qYbbiptPsPWGUI+AgB1gTNXqIjPpALRqrQyNx1zWYNZxhhuzEj/IE4Unu9weEBnsUEocfYe56xOGlAceb8/Fg==",
970 + "requires": {
971 + "level-packager": "^2.0.2",
972 + "leveldown": "^3.0.0",
973 + "opencollective-postinstall": "^2.0.0"
974 + }
975 + },
976 + "level-errors": {
977 + "version": "1.1.2",
978 + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.1.2.tgz",
979 + "integrity": "sha512-Sw/IJwWbPKF5Ai4Wz60B52yj0zYeqzObLh8k1Tk88jVmD51cJSKWSYpRyhVIvFzZdvsPqlH5wfhp/yxdsaQH4w==",
980 + "requires": {
981 + "errno": "~0.1.1"
982 + }
983 + },
984 + "level-iterator-stream": {
985 + "version": "2.0.3",
986 + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-2.0.3.tgz",
987 + "integrity": "sha512-I6Heg70nfF+e5Y3/qfthJFexhRw/Gi3bIymCoXAlijZdAcLaPuWSJs3KXyTYf23ID6g0o2QF62Yh+grOXY3Rig==",
988 + "requires": {
989 + "inherits": "^2.0.1",
990 + "readable-stream": "^2.0.5",
991 + "xtend": "^4.0.0"
992 + }
993 + },
994 + "level-packager": {
995 + "version": "2.1.1",
996 + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-2.1.1.tgz",
997 + "integrity": "sha512-6l3G6dVkmdvHwOJrEA9d9hL6SSFrzwjQoLP8HsvohOgfY/8Z9LyTKNCM5Gc84wtsUWCuIHu6r+S6WrCtTWUJCw==",
998 + "requires": {
999 + "encoding-down": "~4.0.0",
1000 + "levelup": "^2.0.0"
1001 + }
1002 + },
1003 + "leveldown": {
1004 + "version": "3.0.2",
1005 + "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-3.0.2.tgz",
1006 + "integrity": "sha512-+ANRScj1npQQzv6e4DYAKRjVQZZ+ahMoubKrNP68nIq+l9bYgb+WiXF+14oTcQTg2f7qE9WHGW7rBG9nGSsA+A==",
1007 + "requires": {
1008 + "abstract-leveldown": "~4.0.0",
1009 + "bindings": "~1.3.0",
1010 + "fast-future": "~1.0.2",
1011 + "nan": "~2.10.0",
1012 + "prebuild-install": "^4.0.0"
1013 + }
1014 + },
1015 + "levelup": {
1016 + "version": "2.0.2",
1017 + "resolved": "https://registry.npmjs.org/levelup/-/levelup-2.0.2.tgz",
1018 + "integrity": "sha512-us+nTLUyd/eLnclYYddOCdAVw1hnymGx/9p4Jr5ThohStsjLqMVmbYiz6/SYFZEPXNF+AKQSvh6fA2e2KZpC8w==",
1019 + "requires": {
1020 + "deferred-leveldown": "~3.0.0",
1021 + "level-errors": "~1.1.0",
1022 + "level-iterator-stream": "~2.0.0",
1023 + "xtend": "~4.0.0"
1024 + }
1025 + },
1026 + "map-filter-reduce": {
1027 + "version": "3.1.0",
1028 + "resolved": "https://registry.npmjs.org/map-filter-reduce/-/map-filter-reduce-3.1.0.tgz",
1029 + "integrity": "sha512-os2GlG1lEWRSAvAb9iqfapQ0I1GRXSA+alSjQl0DB7XxNyDx2/VOVAEVhK7EMsqwDDCWNTBSstoo1roc7U5H0w==",
1030 + "requires": {
1031 + "binary-search": "^1.2.0",
1032 + "pull-sink-through": "0.0.0",
1033 + "pull-stream": "^3.4.3",
1034 + "typewiselite": "^1.0.0"
1035 + }
1036 + },
1037 + "obv": {
1038 + "version": "0.0.0",
1039 + "resolved": "https://registry.npmjs.org/obv/-/obv-0.0.0.tgz",
1040 + "integrity": "sha1-7eq4Ro+R1BkzYu1/kdC5bdOaecE="
1041 + },
1042 + "prebuild-install": {
1043 + "version": "4.0.0",
1044 + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-4.0.0.tgz",
1045 + "integrity": "sha512-7tayxeYboJX0RbVzdnKyGl2vhQRWr6qfClEXDhOkXjuaOKCw2q8aiuFhONRYVsG/czia7KhpykIlI2S2VaPunA==",
1046 + "requires": {
1047 + "detect-libc": "^1.0.3",
1048 + "expand-template": "^1.0.2",
1049 + "github-from-package": "0.0.0",
1050 + "minimist": "^1.2.0",
1051 + "mkdirp": "^0.5.1",
1052 + "node-abi": "^2.2.0",
1053 + "noop-logger": "^0.1.1",
1054 + "npmlog": "^4.0.1",
1055 + "os-homedir": "^1.0.1",
1056 + "pump": "^2.0.1",
1057 + "rc": "^1.1.6",
1058 + "simple-get": "^2.7.0",
1059 + "tar-fs": "^1.13.0",
1060 + "tunnel-agent": "^0.6.0",
1061 + "which-pm-runs": "^1.0.0"
1062 + }
1063 + },
1064 + "readable-stream": {
1065 + "version": "2.3.6",
1066 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
1067 + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
1068 + "requires": {
1069 + "core-util-is": "~1.0.0",
1070 + "inherits": "~2.0.3",
1071 + "isarray": "~1.0.0",
1072 + "process-nextick-args": "~2.0.0",
1073 + "safe-buffer": "~5.1.1",
1074 + "string_decoder": "~1.1.1",
1075 + "util-deprecate": "~1.0.1"
1076 + }
1077 + },
1078 + "string_decoder": {
1079 + "version": "1.1.1",
1080 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
1081 + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
1082 + "requires": {
1083 + "safe-buffer": "~5.1.0"
1084 + }
1085 + }
1086 + }
1087 + },
1088 + "flumeview-reduce": {
1089 + "version": "1.3.13",
1090 + "resolved": "https://registry.npmjs.org/flumeview-reduce/-/flumeview-reduce-1.3.13.tgz",
1091 + "integrity": "sha512-QN/07+ia3uXpfy8/xWjLI2XGIG67Aiwp9VaOTIqYt6NHP6OfdGfl8nGRPkJRHlkfFbzEouRvJcQBFohWEXMdNQ==",
1092 + "requires": {
1093 + "async-single": "^1.0.5",
1094 + "atomic-file": "^1.1.3",
1095 + "deep-equal": "^1.0.1",
1096 + "flumecodec": "0.0.0",
1097 + "obv": "0.0.0",
1098 + "pull-notify": "^0.1.1",
1099 + "pull-stream": "^3.5.0"
1100 + },
1101 + "dependencies": {
1102 + "atomic-file": {
1103 + "version": "1.1.5",
1104 + "resolved": "https://registry.npmjs.org/atomic-file/-/atomic-file-1.1.5.tgz",
1105 + "integrity": "sha512-TG+5YFiaKQ6CZiSQsosGMJ/IJzwMZ4V/rSdEXlD6+DwKyv8OyeUcprq34kp4yuS6bfQYXhxBC2Vm8PWo+iKBGQ=="
1106 + },
1107 + "obv": {
1108 + "version": "0.0.0",
1109 + "resolved": "https://registry.npmjs.org/obv/-/obv-0.0.0.tgz",
1110 + "integrity": "sha1-7eq4Ro+R1BkzYu1/kdC5bdOaecE="
1111 + }
1112 + }
1113 + },
1114 + "for-each": {
1115 + "version": "0.3.3",
1116 + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
1117 + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
1118 + "requires": {
1119 + "is-callable": "^1.1.3"
1120 + }
1121 + },
1122 + "for-in": {
1123 + "version": "1.0.2",
1124 + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
1125 + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
1126 + },
1127 + "for-own": {
1128 + "version": "0.1.5",
1129 + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
1130 + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
1131 + "requires": {
1132 + "for-in": "^1.0.1"
1133 + }
1134 + },
1135 + "foreach": {
1136 + "version": "2.0.5",
1137 + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
1138 + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k="
1139 + },
1140 + "fs-constants": {
1141 + "version": "1.0.0",
1142 + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
1143 + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
1144 + },
1145 + "fs-extra": {
1146 + "version": "4.0.3",
1147 + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
1148 + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
1149 + "requires": {
1150 + "graceful-fs": "^4.1.2",
1151 + "jsonfile": "^4.0.0",
1152 + "universalify": "^0.1.0"
1153 + }
1154 + },
1155 + "fs.realpath": {
1156 + "version": "1.0.0",
1157 + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1158 + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
1159 + },
1160 + "fsevents": {
1161 + "version": "1.2.4",
1162 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",
1163 + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",
1164 + "optional": true,
1165 + "requires": {
1166 + "nan": "^2.9.2",
1167 + "node-pre-gyp": "^0.10.0"
1168 + },
1169 + "dependencies": {
1170 + "abbrev": {
1171 + "version": "1.1.1",
1172 + "bundled": true,
1173 + "optional": true
1174 + },
1175 + "ansi-regex": {
1176 + "version": "2.1.1",
1177 + "bundled": true
1178 + },
1179 + "aproba": {
1180 + "version": "1.2.0",
1181 + "bundled": true,
1182 + "optional": true
1183 + },
1184 + "are-we-there-yet": {
1185 + "version": "1.1.4",
1186 + "bundled": true,
1187 + "optional": true,
1188 + "requires": {
1189 + "delegates": "^1.0.0",
1190 + "readable-stream": "^2.0.6"
1191 + }
1192 + },
1193 + "balanced-match": {
1194 + "version": "1.0.0",
1195 + "bundled": true
1196 + },
1197 + "brace-expansion": {
1198 + "version": "1.1.11",
1199 + "bundled": true,
1200 + "requires": {
1201 + "balanced-match": "^1.0.0",
1202 + "concat-map": "0.0.1"
1203 + }
1204 + },
1205 + "chownr": {
1206 + "version": "1.0.1",
1207 + "bundled": true,
1208 + "optional": true
1209 + },
1210 + "code-point-at": {
1211 + "version": "1.1.0",
1212 + "bundled": true
1213 + },
1214 + "concat-map": {
1215 + "version": "0.0.1",
1216 + "bundled": true
1217 + },
1218 + "console-control-strings": {
1219 + "version": "1.1.0",
1220 + "bundled": true
1221 + },
1222 + "core-util-is": {
1223 + "version": "1.0.2",
1224 + "bundled": true,
1225 + "optional": true
1226 + },
1227 + "debug": {
1228 + "version": "2.6.9",
1229 + "bundled": true,
1230 + "optional": true,
1231 + "requires": {
1232 + "ms": "2.0.0"
1233 + }
1234 + },
1235 + "deep-extend": {
1236 + "version": "0.5.1",
1237 + "bundled": true,
1238 + "optional": true
1239 + },
1240 + "delegates": {
1241 + "version": "1.0.0",
1242 + "bundled": true,
1243 + "optional": true
1244 + },
1245 + "detect-libc": {
1246 + "version": "1.0.3",
1247 + "bundled": true,
1248 + "optional": true
1249 + },
1250 + "fs-minipass": {
1251 + "version": "1.2.5",
1252 + "bundled": true,
1253 + "optional": true,
1254 + "requires": {
1255 + "minipass": "^2.2.1"
1256 + }
1257 + },
1258 + "fs.realpath": {
1259 + "version": "1.0.0",
1260 + "bundled": true,
1261 + "optional": true
1262 + },
1263 + "gauge": {
1264 + "version": "2.7.4",
1265 + "bundled": true,
1266 + "optional": true,
1267 + "requires": {
1268 + "aproba": "^1.0.3",
1269 + "console-control-strings": "^1.0.0",
1270 + "has-unicode": "^2.0.0",
1271 + "object-assign": "^4.1.0",
1272 + "signal-exit": "^3.0.0",
1273 + "string-width": "^1.0.1",
1274 + "strip-ansi": "^3.0.1",
1275 + "wide-align": "^1.1.0"
1276 + }
1277 + },
1278 + "glob": {
1279 + "version": "7.1.2",
1280 + "bundled": true,
1281 + "optional": true,
1282 + "requires": {
1283 + "fs.realpath": "^1.0.0",
1284 + "inflight": "^1.0.4",
1285 + "inherits": "2",
1286 + "minimatch": "^3.0.4",
1287 + "once": "^1.3.0",
1288 + "path-is-absolute": "^1.0.0"
1289 + }
1290 + },
1291 + "has-unicode": {
1292 + "version": "2.0.1",
1293 + "bundled": true,
1294 + "optional": true
1295 + },
1296 + "iconv-lite": {
1297 + "version": "0.4.21",
1298 + "bundled": true,
1299 + "optional": true,
1300 + "requires": {
1301 + "safer-buffer": "^2.1.0"
1302 + }
1303 + },
1304 + "ignore-walk": {
1305 + "version": "3.0.1",
1306 + "bundled": true,
1307 + "optional": true,
1308 + "requires": {
1309 + "minimatch": "^3.0.4"
1310 + }
1311 + },
1312 + "inflight": {
1313 + "version": "1.0.6",
1314 + "bundled": true,
1315 + "optional": true,
1316 + "requires": {
1317 + "once": "^1.3.0",
1318 + "wrappy": "1"
1319 + }
1320 + },
1321 + "inherits": {
1322 + "version": "2.0.3",
1323 + "bundled": true
1324 + },
1325 + "ini": {
1326 + "version": "1.3.5",
1327 + "bundled": true,
1328 + "optional": true
1329 + },
1330 + "is-fullwidth-code-point": {
1331 + "version": "1.0.0",
1332 + "bundled": true,
1333 + "requires": {
1334 + "number-is-nan": "^1.0.0"
1335 + }
1336 + },
1337 + "isarray": {
1338 + "version": "1.0.0",
1339 + "bundled": true,
1340 + "optional": true
1341 + },
1342 + "minimatch": {
1343 + "version": "3.0.4",
1344 + "bundled": true,
1345 + "requires": {
1346 + "brace-expansion": "^1.1.7"
1347 + }
1348 + },
1349 + "minimist": {
1350 + "version": "0.0.8",
1351 + "bundled": true
1352 + },
1353 + "minipass": {
1354 + "version": "2.2.4",
1355 + "bundled": true,
1356 + "requires": {
1357 + "safe-buffer": "^5.1.1",
1358 + "yallist": "^3.0.0"
1359 + }
1360 + },
1361 + "minizlib": {
1362 + "version": "1.1.0",
1363 + "bundled": true,
1364 + "optional": true,
1365 + "requires": {
1366 + "minipass": "^2.2.1"
1367 + }
1368 + },
1369 + "mkdirp": {
1370 + "version": "0.5.1",
1371 + "bundled": true,
1372 + "requires": {
1373 + "minimist": "0.0.8"
1374 + }
1375 + },
1376 + "ms": {
1377 + "version": "2.0.0",
1378 + "bundled": true,
1379 + "optional": true
1380 + },
1381 + "needle": {
1382 + "version": "2.2.0",
1383 + "bundled": true,
1384 + "optional": true,
1385 + "requires": {
1386 + "debug": "^2.1.2",
1387 + "iconv-lite": "^0.4.4",
1388 + "sax": "^1.2.4"
1389 + }
1390 + },
1391 + "node-pre-gyp": {
1392 + "version": "0.10.0",
1393 + "bundled": true,
1394 + "optional": true,
1395 + "requires": {
1396 + "detect-libc": "^1.0.2",
1397 + "mkdirp": "^0.5.1",
1398 + "needle": "^2.2.0",
1399 + "nopt": "^4.0.1",
1400 + "npm-packlist": "^1.1.6",
1401 + "npmlog": "^4.0.2",
1402 + "rc": "^1.1.7",
1403 + "rimraf": "^2.6.1",
1404 + "semver": "^5.3.0",
1405 + "tar": "^4"
1406 + }
1407 + },
1408 + "nopt": {
1409 + "version": "4.0.1",
1410 + "bundled": true,
1411 + "optional": true,
1412 + "requires": {
1413 + "abbrev": "1",
1414 + "osenv": "^0.1.4"
1415 + }
1416 + },
1417 + "npm-bundled": {
1418 + "version": "1.0.3",
1419 + "bundled": true,
1420 + "optional": true
1421 + },
1422 + "npm-packlist": {
1423 + "version": "1.1.10",
1424 + "bundled": true,
1425 + "optional": true,
1426 + "requires": {
1427 + "ignore-walk": "^3.0.1",
1428 + "npm-bundled": "^1.0.1"
1429 + }
1430 + },
1431 + "npmlog": {
1432 + "version": "4.1.2",
1433 + "bundled": true,
1434 + "optional": true,
1435 + "requires": {
1436 + "are-we-there-yet": "~1.1.2",
1437 + "console-control-strings": "~1.1.0",
1438 + "gauge": "~2.7.3",
1439 + "set-blocking": "~2.0.0"
1440 + }
1441 + },
1442 + "number-is-nan": {
1443 + "version": "1.0.1",
1444 + "bundled": true
1445 + },
1446 + "object-assign": {
1447 + "version": "4.1.1",
1448 + "bundled": true,
1449 + "optional": true
1450 + },
1451 + "once": {
1452 + "version": "1.4.0",
1453 + "bundled": true,
1454 + "requires": {
1455 + "wrappy": "1"
1456 + }
1457 + },
1458 + "os-homedir": {
1459 + "version": "1.0.2",
1460 + "bundled": true,
1461 + "optional": true
1462 + },
1463 + "os-tmpdir": {
1464 + "version": "1.0.2",
1465 + "bundled": true,
1466 + "optional": true
1467 + },
1468 + "osenv": {
1469 + "version": "0.1.5",
1470 + "bundled": true,
1471 + "optional": true,
1472 + "requires": {
1473 + "os-homedir": "^1.0.0",
1474 + "os-tmpdir": "^1.0.0"
1475 + }
1476 + },
1477 + "path-is-absolute": {
1478 + "version": "1.0.1",
1479 + "bundled": true,
1480 + "optional": true
1481 + },
1482 + "process-nextick-args": {
1483 + "version": "2.0.0",
1484 + "bundled": true,
1485 + "optional": true
1486 + },
1487 + "rc": {
1488 + "version": "1.2.7",
1489 + "bundled": true,
1490 + "optional": true,
1491 + "requires": {
1492 + "deep-extend": "^0.5.1",
1493 + "ini": "~1.3.0",
1494 + "minimist": "^1.2.0",
1495 + "strip-json-comments": "~2.0.1"
1496 + },
1497 + "dependencies": {
1498 + "minimist": {
1499 + "version": "1.2.0",
1500 + "bundled": true,
1501 + "optional": true
1502 + }
1503 + }
1504 + },
1505 + "readable-stream": {
1506 + "version": "2.3.6",
1507 + "bundled": true,
1508 + "optional": true,
1509 + "requires": {
1510 + "core-util-is": "~1.0.0",
1511 + "inherits": "~2.0.3",
1512 + "isarray": "~1.0.0",
1513 + "process-nextick-args": "~2.0.0",
1514 + "safe-buffer": "~5.1.1",
1515 + "string_decoder": "~1.1.1",
1516 + "util-deprecate": "~1.0.1"
1517 + }
1518 + },
1519 + "rimraf": {
1520 + "version": "2.6.2",
1521 + "bundled": true,
1522 + "optional": true,
1523 + "requires": {
1524 + "glob": "^7.0.5"
1525 + }
1526 + },
1527 + "safe-buffer": {
1528 + "version": "5.1.1",
1529 + "bundled": true
1530 + },
1531 + "safer-buffer": {
1532 + "version": "2.1.2",
1533 + "bundled": true,
1534 + "optional": true
1535 + },
1536 + "sax": {
1537 + "version": "1.2.4",
1538 + "bundled": true,
1539 + "optional": true
1540 + },
1541 + "semver": {
1542 + "version": "5.5.0",
1543 + "bundled": true,
1544 + "optional": true
1545 + },
1546 + "set-blocking": {
1547 + "version": "2.0.0",
1548 + "bundled": true,
1549 + "optional": true
1550 + },
1551 + "signal-exit": {
1552 + "version": "3.0.2",
1553 + "bundled": true,
1554 + "optional": true
1555 + },
1556 + "string-width": {
1557 + "version": "1.0.2",
1558 + "bundled": true,
1559 + "requires": {
1560 + "code-point-at": "^1.0.0",
1561 + "is-fullwidth-code-point": "^1.0.0",
1562 + "strip-ansi": "^3.0.0"
1563 + }
1564 + },
1565 + "string_decoder": {
1566 + "version": "1.1.1",
1567 + "bundled": true,
1568 + "optional": true,
1569 + "requires": {
1570 + "safe-buffer": "~5.1.0"
1571 + }
1572 + },
1573 + "strip-ansi": {
1574 + "version": "3.0.1",
1575 + "bundled": true,
1576 + "requires": {
1577 + "ansi-regex": "^2.0.0"
1578 + }
1579 + },
1580 + "strip-json-comments": {
1581 + "version": "2.0.1",
1582 + "bundled": true,
1583 + "optional": true
1584 + },
1585 + "tar": {
1586 + "version": "4.4.1",
1587 + "bundled": true,
1588 + "optional": true,
1589 + "requires": {
1590 + "chownr": "^1.0.1",
1591 + "fs-minipass": "^1.2.5",
1592 + "minipass": "^2.2.4",
1593 + "minizlib": "^1.1.0",
1594 + "mkdirp": "^0.5.0",
1595 + "safe-buffer": "^5.1.1",
1596 + "yallist": "^3.0.2"
1597 + }
1598 + },
1599 + "util-deprecate": {
1600 + "version": "1.0.2",
1601 + "bundled": true,
1602 + "optional": true
1603 + },
1604 + "wide-align": {
1605 + "version": "1.1.2",
1606 + "bundled": true,
1607 + "optional": true,
1608 + "requires": {
1609 + "string-width": "^1.0.2"
1610 + }
1611 + },
1612 + "wrappy": {
1613 + "version": "1.0.2",
1614 + "bundled": true
1615 + },
1616 + "yallist": {
1617 + "version": "3.0.2",
1618 + "bundled": true
1619 + }
1620 + }
1621 + },
1622 + "function-bind": {
1623 + "version": "1.1.1",
1624 + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1625 + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
1626 + },
1627 + "gauge": {
1628 + "version": "2.7.4",
1629 + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
1630 + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
1631 + "requires": {
1632 + "aproba": "^1.0.3",
1633 + "console-control-strings": "^1.0.0",
1634 + "has-unicode": "^2.0.0",
1635 + "object-assign": "^4.1.0",
1636 + "signal-exit": "^3.0.0",
1637 + "string-width": "^1.0.1",
1638 + "strip-ansi": "^3.0.1",
1639 + "wide-align": "^1.1.0"
1640 + }
1641 + },
1642 + "github-from-package": {
1643 + "version": "0.0.0",
1644 + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
1645 + "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4="
1646 + },
1647 + "glob": {
1648 + "version": "6.0.4",
1649 + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
1650 + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
1651 + "requires": {
1652 + "inflight": "^1.0.4",
1653 + "inherits": "2",
1654 + "minimatch": "2 || 3",
1655 + "once": "^1.3.0",
1656 + "path-is-absolute": "^1.0.0"
1657 + }
1658 + },
1659 + "glob-base": {
1660 + "version": "0.3.0",
1661 + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
1662 + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
1663 + "requires": {
1664 + "glob-parent": "^2.0.0",
1665 + "is-glob": "^2.0.0"
1666 + }
1667 + },
1668 + "glob-parent": {
1669 + "version": "2.0.0",
1670 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
1671 + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
1672 + "requires": {
1673 + "is-glob": "^2.0.0"
1674 + }
1675 + },
1676 + "globby": {
1677 + "version": "4.1.0",
1678 + "resolved": "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz",
1679 + "integrity": "sha1-CA9UVJ7BuCpsYOYx/ILhIR2+lfg=",
1680 + "requires": {
1681 + "array-union": "^1.0.1",
1682 + "arrify": "^1.0.0",
1683 + "glob": "^6.0.1",
1684 + "object-assign": "^4.0.1",
1685 + "pify": "^2.0.0",
1686 + "pinkie-promise": "^2.0.0"
1687 + }
1688 + },
1689 + "gossip-query": {
1690 + "version": "0.2.2",
1691 + "resolved": "https://registry.npmjs.org/gossip-query/-/gossip-query-0.2.2.tgz",
1692 + "integrity": "sha1-qcY1kwji9pGCVjmJ2z+MFHe7Yg8=",
1693 + "requires": {
1694 + "obv": "0.0.1",
1695 + "pull-stream": "^3.6.0"
1696 + }
1697 + },
1698 + "graceful-fs": {
1699 + "version": "4.1.11",
1700 + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
1701 + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
1702 + },
1703 + "graphreduce": {
1704 + "version": "3.0.4",
1705 + "resolved": "https://registry.npmjs.org/graphreduce/-/graphreduce-3.0.4.tgz",
1706 + "integrity": "sha1-v0QtCoeOg5AeXvPmUtI/+1uDHtc=",
1707 + "requires": {
1708 + "statistics": "^3.3.0"
1709 + }
1710 + },
1711 + "growly": {
1712 + "version": "1.3.0",
1713 + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
1714 + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE="
1715 + },
1716 + "has": {
1717 + "version": "1.0.3",
1718 + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1719 + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1720 + "requires": {
1721 + "function-bind": "^1.1.1"
1722 + }
1723 + },
1724 + "has-ansi": {
1725 + "version": "2.0.0",
1726 + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
1727 + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
1728 + "requires": {
1729 + "ansi-regex": "^2.0.0"
1730 + }
1731 + },
1732 + "has-network": {
1733 + "version": "0.0.1",
1734 + "resolved": "https://registry.npmjs.org/has-network/-/has-network-0.0.1.tgz",
1735 + "integrity": "sha1-Pup7RMqpYBeXEkvouonSKMQQFJk="
1736 + },
1737 + "has-unicode": {
1738 + "version": "2.0.1",
1739 + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
1740 + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
1741 + },
1742 + "hashlru": {
1743 + "version": "2.2.1",
1744 + "resolved": "https://registry.npmjs.org/hashlru/-/hashlru-2.2.1.tgz",
1745 + "integrity": "sha1-EPIJmg18BaQPK+r1wdOc8vfavzY="
1746 + },
1747 + "he": {
1748 + "version": "1.1.1",
1749 + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
1750 + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0="
1751 + },
1752 + "hoox": {
1753 + "version": "0.0.1",
1754 + "resolved": "https://registry.npmjs.org/hoox/-/hoox-0.0.1.tgz",
1755 + "integrity": "sha1-CKdNknKpzIOujmu+AwPw7nZDIJQ="
1756 + },
1757 + "html-element": {
1758 + "version": "1.3.0",
1759 + "resolved": "https://registry.npmjs.org/html-element/-/html-element-1.3.0.tgz",
1760 + "integrity": "sha1-117LXa6HSx3mCgv4eUu9GYTQ8gk=",
1761 + "requires": {
1762 + "class-list": "~0.1.1"
1763 + }
1764 + },
1765 + "hyperfile": {
1766 + "version": "1.1.1",
1767 + "resolved": "https://registry.npmjs.org/hyperfile/-/hyperfile-1.1.1.tgz",
1768 + "integrity": "sha1-czvGxmj7miFgCMTzNlMfiU28efM=",
1769 + "requires": {
1770 + "hyperscript": "^1.4.7"
1771 + }
1772 + },
1773 + "hyperprogress": {
1774 + "version": "0.1.1",
1775 + "resolved": "https://registry.npmjs.org/hyperprogress/-/hyperprogress-0.1.1.tgz",
1776 + "integrity": "sha1-5TDGFjqisSg+rBkhkiJadi8Jw0Q="
1777 + },
1778 + "hyperscript": {
1779 + "version": "1.4.7",
1780 + "resolved": "https://registry.npmjs.org/hyperscript/-/hyperscript-1.4.7.tgz",
1781 + "integrity": "sha1-HyPYgPhDbKrCW5GnrDl0e4mnJhg=",
1782 + "requires": {
1783 + "browser-split": "0.0.0",
1784 + "class-list": "~0.1.0",
1785 + "html-element": "~1.3.0"
1786 + }
1787 + },
1788 + "if-async": {
1789 + "version": "3.7.4",
1790 + "resolved": "https://registry.npmjs.org/if-async/-/if-async-3.7.4.tgz",
1791 + "integrity": "sha1-VYaN6wCT08Z79xZudFNT+5vLIaI=",
1792 + "optional": true
1793 + },
1794 + "increment-buffer": {
1795 + "version": "1.0.1",
1796 + "resolved": "https://registry.npmjs.org/increment-buffer/-/increment-buffer-1.0.1.tgz",
1797 + "integrity": "sha1-ZQdtdRidgIs5rROrW5WOBSFvng0="
1798 + },
1799 + "indexof": {
1800 + "version": "0.0.1",
1801 + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
1802 + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10="
1803 + },
1804 + "inflight": {
1805 + "version": "1.0.6",
1806 + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1807 + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1808 + "requires": {
1809 + "once": "^1.3.0",
1810 + "wrappy": "1"
1811 + }
1812 + },
1813 + "inherits": {
1814 + "version": "2.0.3",
1815 + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
1816 + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
1817 + },
1818 + "ini": {
1819 + "version": "1.3.5",
1820 + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
1821 + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
1822 + },
1823 + "int53": {
1824 + "version": "0.2.4",
1825 + "resolved": "https://registry.npmjs.org/int53/-/int53-0.2.4.tgz",
1826 + "integrity": "sha1-XtjXqtbFxlZ8rmmqf/xKEJ7oD4Y="
1827 + },
1828 + "ip": {
1829 + "version": "0.3.3",
1830 + "resolved": "https://registry.npmjs.org/ip/-/ip-0.3.3.tgz",
1831 + "integrity": "sha1-jugwnpLwsEDSh/cu+soaIXAtP7Q="
1832 + },
1833 + "irregular-plurals": {
1834 + "version": "1.4.0",
1835 + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz",
1836 + "integrity": "sha1-LKmwM2UREYVUEvFr5dd8YqRYp2Y="
1837 + },
1838 + "is-alphabetical": {
1839 + "version": "1.0.2",
1840 + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.2.tgz",
1841 + "integrity": "sha512-V0xN4BYezDHcBSKb1QHUFMlR4as/XEuCZBzMJUU4n7+Cbt33SmUnSol+pnXFvLxSHNq2CemUXNdaXV6Flg7+xg=="
1842 + },
1843 + "is-alphanumerical": {
1844 + "version": "1.0.2",
1845 + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.2.tgz",
1846 + "integrity": "sha512-pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg==",
1847 + "requires": {
1848 + "is-alphabetical": "^1.0.0",
1849 + "is-decimal": "^1.0.0"
1850 + }
1851 + },
1852 + "is-binary-path": {
1853 + "version": "1.0.1",
1854 + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
1855 + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
1856 + "requires": {
1857 + "binary-extensions": "^1.0.0"
1858 + }
1859 + },
1860 + "is-buffer": {
1861 + "version": "1.1.6",
1862 + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
1863 + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
1864 + },
1865 + "is-callable": {
1866 + "version": "1.1.3",
1867 + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz",
1868 + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI="
1869 + },
1870 + "is-date-object": {
1871 + "version": "1.0.1",
1872 + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
1873 + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY="
1874 + },
1875 + "is-decimal": {
1876 + "version": "1.0.2",
1877 + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.2.tgz",
1878 + "integrity": "sha512-TRzl7mOCchnhchN+f3ICUCzYvL9ul7R+TYOsZ8xia++knyZAJfv/uA1FvQXsAnYIl1T3B2X5E/J7Wb1QXiIBXg=="
1879 + },
1880 + "is-dotfile": {
1881 + "version": "1.0.3",
1882 + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
1883 + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE="
1884 + },
1885 + "is-electron": {
1886 + "version": "2.1.0",
1887 + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.1.0.tgz",
1888 + "integrity": "sha512-dkg5xT383+M6zIbbXW/z7n2nz4SFUi2OSyhntnFYkRdtV+HVEfdjEK+5AWisfYgkpe3WYjTIuh7toaKmSfFVWw=="
1889 + },
1890 + "is-equal-shallow": {
1891 + "version": "0.1.3",
1892 + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
1893 + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
1894 + "requires": {
1895 + "is-primitive": "^2.0.0"
1896 + }
1897 + },
1898 + "is-extendable": {
1899 + "version": "0.1.1",
1900 + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
1901 + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
1902 + },
1903 + "is-extglob": {
1904 + "version": "1.0.0",
1905 + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
1906 + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
1907 + },
1908 + "is-fullwidth-code-point": {
1909 + "version": "1.0.0",
1910 + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
1911 + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
1912 + "requires": {
1913 + "number-is-nan": "^1.0.0"
1914 + }
1915 + },
1916 + "is-glob": {
1917 + "version": "2.0.1",
1918 + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
1919 + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
1920 + "requires": {
1921 + "is-extglob": "^1.0.0"
1922 + }
1923 + },
1924 + "is-hexadecimal": {
1925 + "version": "1.0.2",
1926 + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.2.tgz",
1927 + "integrity": "sha512-but/G3sapV3MNyqiDBLrOi4x8uCIw0RY3o/Vb5GT0sMFHrVV7731wFSVy41T5FO1og7G0gXLJh0MkgPRouko/A=="
1928 + },
1929 + "is-number": {
1930 + "version": "2.1.0",
1931 + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
1932 + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
1933 + "requires": {
1934 + "kind-of": "^3.0.2"
1935 + }
1936 + },
1937 + "is-posix-bracket": {
1938 + "version": "0.1.1",
1939 + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
1940 + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q="
1941 + },
1942 + "is-primitive": {
1943 + "version": "2.0.0",
1944 + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
1945 + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU="
1946 + },
1947 + "is-regex": {
1948 + "version": "1.0.4",
1949 + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
1950 + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
1951 + "requires": {
1952 + "has": "^1.0.1"
1953 + }
1954 + },
1955 + "is-symbol": {
1956 + "version": "1.0.1",
1957 + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
1958 + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI="
1959 + },
1960 + "is-valid-domain": {
1961 + "version": "0.0.5",
1962 + "resolved": "https://registry.npmjs.org/is-valid-domain/-/is-valid-domain-0.0.5.tgz",
1963 + "integrity": "sha1-SOcDGfy0MAkjbpazf5hDiJzntRM="
1964 + },
1965 + "isarray": {
1966 + "version": "0.0.1",
1967 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
1968 + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
1969 + },
1970 + "isexe": {
1971 + "version": "2.0.0",
1972 + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1973 + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
1974 + },
1975 + "isobject": {
1976 + "version": "2.1.0",
1977 + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
1978 + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
1979 + "requires": {
1980 + "isarray": "1.0.0"
1981 + },
1982 + "dependencies": {
1983 + "isarray": {
1984 + "version": "1.0.0",
1985 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1986 + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
1987 + }
1988 + }
1989 + },
1990 + "json-buffer": {
1991 + "version": "2.0.11",
1992 + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-2.0.11.tgz",
1993 + "integrity": "sha1-PkQf2jCYvo0eMXGtWRvGKjPi1V8="
1994 + },
1995 + "jsonfile": {
1996 + "version": "4.0.0",
1997 + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
1998 + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
1999 + "requires": {
2000 + "graceful-fs": "^4.1.6"
2001 + }
2002 + },
2003 + "kind-of": {
2004 + "version": "3.2.2",
2005 + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2006 + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2007 + "requires": {
2008 + "is-buffer": "^1.1.5"
2009 + }
2010 + },
2011 + "level": {
2012 + "version": "1.7.0",
2013 + "resolved": "https://registry.npmjs.org/level/-/level-1.7.0.tgz",
2014 + "integrity": "sha1-Q0ZKOounOy895WokKSgFFG2iE6E=",
2015 + "requires": {
2016 + "level-packager": "~1.2.0",
2017 + "leveldown": "~1.7.0"
2018 + }
2019 + },
2020 + "level-codec": {
2021 + "version": "6.2.0",
2022 + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-6.2.0.tgz",
2023 + "integrity": "sha1-pLUkS7akwvcj1oodZOmAxTYn2dQ="
2024 + },
2025 + "level-errors": {
2026 + "version": "1.0.5",
2027 + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz",
2028 + "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==",
2029 + "requires": {
2030 + "errno": "~0.1.1"
2031 + }
2032 + },
2033 + "level-iterator-stream": {
2034 + "version": "1.3.1",
2035 + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz",
2036 + "integrity": "sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0=",
2037 + "requires": {
2038 + "inherits": "^2.0.1",
2039 + "level-errors": "^1.0.3",
2040 + "readable-stream": "^1.0.33",
2041 + "xtend": "^4.0.0"
2042 + }
2043 + },
2044 + "level-live-stream": {
2045 + "version": "1.4.12",
2046 + "resolved": "https://registry.npmjs.org/level-live-stream/-/level-live-stream-1.4.12.tgz",
2047 + "integrity": "sha1-87jKj4n8Ec+y4P2rZJhOzs1aUhE=",
2048 + "requires": {
2049 + "level-sublevel": "^6.6.1",
2050 + "pull-level": "^2.0.3",
2051 + "pull-stream-to-stream": "~1.2.4"
2052 + },
2053 + "dependencies": {
2054 + "pull-stream-to-stream": {
2055 + "version": "1.2.6",
2056 + "resolved": "https://registry.npmjs.org/pull-stream-to-stream/-/pull-stream-to-stream-1.2.6.tgz",
2057 + "integrity": "sha1-3Z+jcy7bPRbmfNHyJLyjim1XSMc=",
2058 + "requires": {
2059 + "pull-core": "1"
2060 + }
2061 + }
2062 + }
2063 + },
2064 + "level-memview": {
2065 + "version": "0.0.0",
2066 + "resolved": "https://registry.npmjs.org/level-memview/-/level-memview-0.0.0.tgz",
2067 + "integrity": "sha1-RtNTc64040LPSldKXjUUodR1OiA=",
2068 + "requires": {
2069 + "level-live-stream": "~1.4.9",
2070 + "pull-level": "~1.2.0",
2071 + "pull-stream": "~2.26.0"
2072 + },
2073 + "dependencies": {
2074 + "pull-core": {
2075 + "version": "1.0.0",
2076 + "resolved": "https://registry.npmjs.org/pull-core/-/pull-core-1.0.0.tgz",
2077 + "integrity": "sha1-4OuTkY36cJY+0J429j2qFbdrOKQ="
2078 + },
2079 + "pull-level": {
2080 + "version": "1.2.0",
2081 + "resolved": "https://registry.npmjs.org/pull-level/-/pull-level-1.2.0.tgz",
2082 + "integrity": "sha1-U7MhImUOsV01tg5UMh+6Ec9cbmY=",
2083 + "requires": {
2084 + "level-post": "~1.0.3",
2085 + "pull-cat": ">=1.1 <2",
2086 + "pull-pushable": "1",
2087 + "pull-stream": ">=2.20 <3",
2088 + "pull-window": ">=2.1.2 <3",
2089 + "stream-to-pull-stream": "1.3"
2090 + }
2091 + },
2092 + "pull-pushable": {
2093 + "version": "1.1.4",
2094 + "resolved": "https://registry.npmjs.org/pull-pushable/-/pull-pushable-1.1.4.tgz",
2095 + "integrity": "sha1-dmTWdB9yaH71yJ9TO3hoLz3pog4=",
2096 + "requires": {
2097 + "pull-stream": "~2.18.2"
2098 + },
2099 + "dependencies": {
2100 + "pull-stream": {
2101 + "version": "2.18.3",
2102 + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-2.18.3.tgz",
2103 + "integrity": "sha1-egeWIjTXV5yQiGDbjCf380/UUAA=",
2104 + "requires": {
2105 + "pull-core": "~1.0.0"
2106 + }
2107 + }
2108 + }
2109 + },
2110 + "pull-stream": {
2111 + "version": "2.26.1",
2112 + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-2.26.1.tgz",
2113 + "integrity": "sha1-S/JVneh7ivL1uWtxkNLuQxyh5Rk=",
2114 + "requires": {
2115 + "pull-core": "~1.1.0"
2116 + },
2117 + "dependencies": {
2118 + "pull-core": {
2119 + "version": "1.1.0",
2120 + "resolved": "https://registry.npmjs.org/pull-core/-/pull-core-1.1.0.tgz",
2121 + "integrity": "sha1-PYEn1trBR1cFyYAJYfWdZsgEbIo="
2122 + }
2123 + }
2124 + },
2125 + "stream-to-pull-stream": {
2126 + "version": "1.3.1",
2127 + "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.3.1.tgz",
2128 + "integrity": "sha1-9b6b4PHpS7PRrmaL/46SUbhabG4=",
2129 + "requires": {
2130 + "pull-core": "~1.0.0"
2131 + }
2132 + }
2133 + }
2134 + },
2135 + "level-packager": {
2136 + "version": "1.2.1",
2137 + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-1.2.1.tgz",
2138 + "integrity": "sha1-Bn/t/Qcrf+PGvsYIDAy9SmsuEfQ=",
2139 + "requires": {
2140 + "levelup": "~1.3.0"
2141 + },
2142 + "dependencies": {
2143 + "abstract-leveldown": {
2144 + "version": "2.6.3",
2145 + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz",
2146 + "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==",
2147 + "requires": {
2148 + "xtend": "~4.0.0"
2149 + }
2150 + },
2151 + "deferred-leveldown": {
2152 + "version": "1.2.2",
2153 + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz",
2154 + "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==",
2155 + "requires": {
2156 + "abstract-leveldown": "~2.6.0"
2157 + }
2158 + },
2159 + "level-codec": {
2160 + "version": "7.0.1",
2161 + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz",
2162 + "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ=="
2163 + },
2164 + "levelup": {
2165 + "version": "1.3.9",
2166 + "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz",
2167 + "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==",
2168 + "requires": {
2169 + "deferred-leveldown": "~1.2.1",
2170 + "level-codec": "~7.0.0",
2171 + "level-errors": "~1.0.3",
2172 + "level-iterator-stream": "~1.3.0",
2173 + "prr": "~1.0.1",
2174 + "semver": "~5.4.1",
2175 + "xtend": "~4.0.0"
2176 + }
2177 + },
2178 + "prr": {
2179 + "version": "1.0.1",
2180 + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
2181 + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY="
2182 + },
2183 + "semver": {
2184 + "version": "5.4.1",
2185 + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
2186 + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg=="
2187 + }
2188 + }
2189 + },
2190 + "level-peek": {
2191 + "version": "2.0.2",
2192 + "resolved": "https://registry.npmjs.org/level-peek/-/level-peek-2.0.2.tgz",
2193 + "integrity": "sha1-1M3bffYg96R61d2F4PkhM0UjogY=",
2194 + "requires": {
2195 + "pull-level": "^2.0.3",
2196 + "pull-stream": "^3.4.5"
2197 + }
2198 + },
2199 + "level-post": {
2200 + "version": "1.0.7",
2201 + "resolved": "https://registry.npmjs.org/level-post/-/level-post-1.0.7.tgz",
2202 + "integrity": "sha512-PWYqG4Q00asOrLhX7BejSajByB4EmG2GaKHfj3h5UmmZ2duciXLPGYWIjBzLECFWUGOZWlm5B20h/n3Gs3HKew==",
2203 + "requires": {
2204 + "ltgt": "^2.1.2"
2205 + }
2206 + },
2207 + "level-sublevel": {
2208 + "version": "6.6.2",
2209 + "resolved": "https://registry.npmjs.org/level-sublevel/-/level-sublevel-6.6.2.tgz",
2210 + "integrity": "sha512-+hptqmFYPKFju9QG4F6scvx3ZXkhrSmmhYui+hPzRn/jiC3DJ6VNZRKsIhGMpeajVBWfRV7XiysUThrJ/7PgXQ==",
2211 + "requires": {
2212 + "bytewise": "~1.1.0",
2213 + "levelup": "~0.19.0",
2214 + "ltgt": "~2.1.1",
2215 + "pull-defer": "^0.2.2",
2216 + "pull-level": "^2.0.3",
2217 + "pull-stream": "^3.6.8",
2218 + "typewiselite": "~1.0.0",
2219 + "xtend": "~4.0.0"
2220 + },
2221 + "dependencies": {
2222 + "ltgt": {
2223 + "version": "2.1.3",
2224 + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.1.3.tgz",
2225 + "integrity": "sha1-EIUaBtmWS5cReEQcI8nlJpjuzjQ="
2226 + }
2227 + }
2228 + },
2229 + "leveldown": {
2230 + "version": "1.7.2",
2231 + "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-1.7.2.tgz",
2232 + "integrity": "sha1-XjRnuyfuJGpKe429j7KxYgam64s=",
2233 + "requires": {
2234 + "abstract-leveldown": "~2.6.1",
2235 + "bindings": "~1.2.1",
2236 + "fast-future": "~1.0.2",
2237 + "nan": "~2.6.1",
2238 + "prebuild-install": "^2.1.0"
2239 + },
2240 + "dependencies": {
2241 + "abstract-leveldown": {
2242 + "version": "2.6.3",
2243 + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz",
2244 + "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==",
2245 + "requires": {
2246 + "xtend": "~4.0.0"
2247 + }
2248 + },
2249 + "nan": {
2250 + "version": "2.6.2",
2251 + "resolved": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz",
2252 + "integrity": "sha1-5P805slf37WuzAjeZZb0NgWn20U="
2253 + }
2254 + }
2255 + },
2256 + "levelup": {
2257 + "version": "0.19.1",
2258 + "resolved": "https://registry.npmjs.org/levelup/-/levelup-0.19.1.tgz",
2259 + "integrity": "sha1-86anIFJyxLXzXkEv8ASgOgrt9Qs=",
2260 + "requires": {
2261 + "bl": "~0.8.1",
2262 + "deferred-leveldown": "~0.2.0",
2263 + "errno": "~0.1.1",
2264 + "prr": "~0.0.0",
2265 + "readable-stream": "~1.0.26",
2266 + "semver": "~5.1.0",
2267 + "xtend": "~3.0.0"
2268 + },
2269 + "dependencies": {
2270 + "semver": {
2271 + "version": "5.1.1",
2272 + "resolved": "https://registry.npmjs.org/semver/-/semver-5.1.1.tgz",
2273 + "integrity": "sha1-oykqNz5vPgeY2gsgZBuanFvEfhk="
2274 + },
2275 + "xtend": {
2276 + "version": "3.0.0",
2277 + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
2278 + "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo="
2279 + }
2280 + }
2281 + },
2282 + "libsodium": {
2283 + "version": "0.7.3",
2284 + "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.3.tgz",
2285 + "integrity": "sha512-ld+deUNqSsZYbAobUs63UyduPq8ICp/Ul/5lbvBIYpuSNWpPRU0PIxbW+xXipVZtuopR6fIz9e0tTnNuPMNeqw=="
2286 + },
2287 + "libsodium-wrappers": {
2288 + "version": "0.7.3",
2289 + "resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.3.tgz",
2290 + "integrity": "sha512-dw5Jh6TZ5qc5rQVZe3JrSO/J05CE+DmAPnqD7Q2glBUE969xZ6o3fchnUxyPlp6ss3x0MFxmdJntveFN+XTg1g==",
2291 + "requires": {
2292 + "libsodium": "0.7.3"
2293 + }
2294 + },
2295 + "log-symbols": {
2296 + "version": "1.0.2",
2297 + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
2298 + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
2299 + "requires": {
2300 + "chalk": "^1.0.0"
2301 + }
2302 + },
2303 + "log-update": {
2304 + "version": "1.0.2",
2305 + "resolved": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz",
2306 + "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=",
2307 + "requires": {
2308 + "ansi-escapes": "^1.0.0",
2309 + "cli-cursor": "^1.0.2"
2310 + }
2311 + },
2312 + "longest-streak": {
2313 + "version": "1.0.0",
2314 + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-1.0.0.tgz",
2315 + "integrity": "sha1-0GWXxNTDG1LMsfXY+P5xSOr9aWU="
2316 + },
2317 + "looper": {
2318 + "version": "4.0.0",
2319 + "resolved": "https://registry.npmjs.org/looper/-/looper-4.0.0.tgz",
2320 + "integrity": "sha1-dwat7VmpntygbmtUu4bI7BnJUVU="
2321 + },
2322 + "lossy-store": {
2323 + "version": "1.2.3",
2324 + "resolved": "https://registry.npmjs.org/lossy-store/-/lossy-store-1.2.3.tgz",
2325 + "integrity": "sha1-Vi4qkgPYZh9g6HEt5Af72t8nXck=",
2326 + "requires": {
2327 + "mkdirp": "^0.5.1",
2328 + "tape": "^4.6.3"
2329 + }
2330 + },
2331 + "lru-cache": {
2332 + "version": "4.1.3",
2333 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
2334 + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
2335 + "requires": {
2336 + "pseudomap": "^1.0.2",
2337 + "yallist": "^2.1.2"
2338 + }
2339 + },
2340 + "ltgt": {
2341 + "version": "2.2.1",
2342 + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz",
2343 + "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU="
2344 + },
2345 + "map-filter-reduce": {
2346 + "version": "2.2.1",
2347 + "resolved": "https://registry.npmjs.org/map-filter-reduce/-/map-filter-reduce-2.2.1.tgz",
2348 + "integrity": "sha1-YysSfDrl1q2eIc/dlpG2O4lE/NI=",
2349 + "requires": {
2350 + "binary-search": "^1.2.0",
2351 + "pull-sink-through": "0.0.0",
2352 + "pull-stream": "^3.3.0",
2353 + "typewiselite": "^1.0.0"
2354 + }
2355 + },
2356 + "map-merge": {
2357 + "version": "1.1.0",
2358 + "resolved": "https://registry.npmjs.org/map-merge/-/map-merge-1.1.0.tgz",
2359 + "integrity": "sha1-am/FjJXYqrRsK93kTVFbbuBvzjQ="
2360 + },
2361 + "markdown-table": {
2362 + "version": "0.4.0",
2363 + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-0.4.0.tgz",
2364 + "integrity": "sha1-iQwsGzv+g/sA5BKbjkz+ZFJw+dE="
2365 + },
2366 + "math-random": {
2367 + "version": "1.0.1",
2368 + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz",
2369 + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w="
2370 + },
2371 + "mdmanifest": {
2372 + "version": "1.0.8",
2373 + "resolved": "https://registry.npmjs.org/mdmanifest/-/mdmanifest-1.0.8.tgz",
2374 + "integrity": "sha1-wEiRiDwoyDYC4dBrBaEQN+NZtMg=",
2375 + "requires": {
2376 + "minimist": "^1.2.0",
2377 + "remark": "^3.2.2",
2378 + "remark-html": "^2.0.2",
2379 + "word-wrap": "^1.1.0"
2380 + }
2381 + },
2382 + "micromatch": {
2383 + "version": "2.3.11",
2384 + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
2385 + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
2386 + "requires": {
2387 + "arr-diff": "^2.0.0",
2388 + "array-unique": "^0.2.1",
2389 + "braces": "^1.8.2",
2390 + "expand-brackets": "^0.1.4",
2391 + "extglob": "^0.3.1",
2392 + "filename-regex": "^2.0.0",
2393 + "is-extglob": "^1.0.0",
2394 + "is-glob": "^2.0.1",
2395 + "kind-of": "^3.0.2",
2396 + "normalize-path": "^2.0.1",
2397 + "object.omit": "^2.0.0",
2398 + "parse-glob": "^3.0.4",
2399 + "regex-cache": "^0.4.2"
2400 + }
2401 + },
2402 + "mime": {
2403 + "version": "1.6.0",
2404 + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
2405 + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
2406 + },
2407 + "mimic-response": {
2408 + "version": "1.0.0",
2409 + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.0.tgz",
2410 + "integrity": "sha1-3z02Uqc/3ta5sLJBRub9BSNTRY4="
2411 + },
2412 + "minimatch": {
2413 + "version": "3.0.4",
2414 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
2415 + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
2416 + "requires": {
2417 + "brace-expansion": "^1.1.7"
2418 + }
2419 + },
2420 + "minimist": {
2421 + "version": "1.2.0",
2422 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
2423 + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
2424 + },
2425 + "mkdirp": {
2426 + "version": "0.5.1",
2427 + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
2428 + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
2429 + "requires": {
2430 + "minimist": "0.0.8"
2431 + },
2432 + "dependencies": {
2433 + "minimist": {
2434 + "version": "0.0.8",
2435 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
2436 + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
2437 + }
2438 + }
2439 + },
2440 + "monotonic-timestamp": {
2441 + "version": "0.0.9",
2442 + "resolved": "https://registry.npmjs.org/monotonic-timestamp/-/monotonic-timestamp-0.0.9.tgz",
2443 + "integrity": "sha1-W6Wtx6rIXh1853voRxYe0kazlgM="
2444 + },
2445 + "ms": {
2446 + "version": "2.0.0",
2447 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2448 + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
2449 + },
2450 + "multiblob": {
2451 + "version": "1.13.0",
2452 + "resolved": "https://registry.npmjs.org/multiblob/-/multiblob-1.13.0.tgz",
2453 + "integrity": "sha1-4oTV5KlE5yS+4uOJbLMAfwaaQbs=",
2454 + "requires": {
2455 + "blake2s": "~1.0.1",
2456 + "cont": "~1.0.1",
2457 + "explain-error": "~1.0.1",
2458 + "mkdirp": "~0.5.0",
2459 + "pull-cat": "^1.1.8",
2460 + "pull-defer": "^0.2.2",
2461 + "pull-file": "^0.5.0",
2462 + "pull-glob": "~1.0.6",
2463 + "pull-live": "^1.0.0",
2464 + "pull-notify": "^0.1.1",
2465 + "pull-paramap": "^1.2.2",
2466 + "pull-stream": "^3.6.2",
2467 + "pull-write-file": "^0.2.1",
2468 + "rc": "~0.5.4",
2469 + "rimraf": "~2.2.8",
2470 + "stream-to-pull-stream": "^1.7.2"
2471 + },
2472 + "dependencies": {
2473 + "deep-extend": {
2474 + "version": "0.2.11",
2475 + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz",
2476 + "integrity": "sha1-eha6aXKRMjQFBhcElLyD9wdv4I8="
2477 + },
2478 + "minimist": {
2479 + "version": "0.0.10",
2480 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
2481 + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8="
2482 + },
2483 + "pull-file": {
2484 + "version": "0.5.0",
2485 + "resolved": "https://registry.npmjs.org/pull-file/-/pull-file-0.5.0.tgz",
2486 + "integrity": "sha1-s8pAUwbggvnUUoKIkzutsrZWNls=",
2487 + "requires": {
2488 + "pull-utf8-decoder": "^1.0.2"
2489 + }
2490 + },
2491 + "rc": {
2492 + "version": "0.5.5",
2493 + "resolved": "https://registry.npmjs.org/rc/-/rc-0.5.5.tgz",
2494 + "integrity": "sha1-VBzDMA9GS23+ZDLXVvDy3T6esZk=",
2495 + "requires": {
2496 + "deep-extend": "~0.2.5",
2497 + "ini": "~1.3.0",
2498 + "minimist": "~0.0.7",
2499 + "strip-json-comments": "0.1.x"
2500 + }
2501 + },
2502 + "rimraf": {
2503 + "version": "2.2.8",
2504 + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
2505 + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI="
2506 + },
2507 + "strip-json-comments": {
2508 + "version": "0.1.3",
2509 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz",
2510 + "integrity": "sha1-Fkxk43Coo8wAyeAbU55WmCPw7lQ="
2511 + }
2512 + }
2513 + },
2514 + "multiblob-http": {
2515 + "version": "0.2.1",
2516 + "resolved": "https://registry.npmjs.org/multiblob-http/-/multiblob-http-0.2.1.tgz",
2517 + "integrity": "sha1-N8C+qsxx0YNgEsBi282teX0CIps=",
2518 + "requires": {
2519 + "pull-stream": "^3.4.3",
2520 + "stream-to-pull-stream": "^1.7.0"
2521 + }
2522 + },
2523 + "multicb": {
2524 + "version": "1.2.2",
2525 + "resolved": "https://registry.npmjs.org/multicb/-/multicb-1.2.2.tgz",
2526 + "integrity": "sha512-PZM4dhYFmCF6uZGWpEmoPMUqJBywS9IcAgybT2GmSpYI1BvGvoWSdbio+ik+q/YD2vodhvslESWIS3NnkKYdqQ=="
2527 + },
2528 + "multiserver": {
2529 + "version": "1.12.0",
2530 + "resolved": "https://registry.npmjs.org/multiserver/-/multiserver-1.12.0.tgz",
2531 + "integrity": "sha512-vyoVDqxiJabvepIKYN2+lYcPDcV5/de54kWXg1nYa1VK0NMJZ+gVIS6bLnQ9FmNzOxpCmVrVOkaQ0pMlMic5Ow==",
2532 + "requires": {
2533 + "pull-cat": "~1.1.5",
2534 + "pull-stream": "^3.6.1",
2535 + "pull-ws": "^3.3.0",
2536 + "secret-handshake": "^1.1.12",
2537 + "separator-escape": "0.0.0",
2538 + "socks": "1.1.9",
2539 + "stream-to-pull-stream": "^1.7.2"
2540 + }
2541 + },
2542 + "muxrpc": {
2543 + "version": "6.4.0",
2544 + "resolved": "https://registry.npmjs.org/muxrpc/-/muxrpc-6.4.0.tgz",
2545 + "integrity": "sha1-JPfaBpvUYpsHfpk7BXeUKyaI6ug=",
2546 + "requires": {
2547 + "explain-error": "^1.0.1",
2548 + "packet-stream": "~2.0.0",
2549 + "packet-stream-codec": "^1.1.1",
2550 + "pull-goodbye": "~0.0.1",
2551 + "pull-stream": "^3.2.3"
2552 + }
2553 + },
2554 + "muxrpc-validation": {
2555 + "version": "2.0.1",
2556 + "resolved": "https://registry.npmjs.org/muxrpc-validation/-/muxrpc-validation-2.0.1.tgz",
2557 + "integrity": "sha1-zWUNFyAl/p0GQjCqs4ymMo3Rby8=",
2558 + "requires": {
2559 + "pull-stream": "^2.28.3",
2560 + "zerr": "^1.0.1"
2561 + },
2562 + "dependencies": {
2563 + "pull-stream": {
2564 + "version": "2.28.4",
2565 + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-2.28.4.tgz",
2566 + "integrity": "sha1-fql0E8FhnCC8O9+eEOkTR7AyU+Q=",
2567 + "requires": {
2568 + "pull-core": "~1.1.0"
2569 + }
2570 + }
2571 + }
2572 + },
2573 + "muxrpcli": {
2574 + "version": "1.1.0",
2575 + "resolved": "https://registry.npmjs.org/muxrpcli/-/muxrpcli-1.1.0.tgz",
2576 + "integrity": "sha1-Sum6mGq4JcSlwS/LccbaqB6rUVg=",
2577 + "requires": {
2578 + "minimist": "^1.2.0",
2579 + "pull-stream": "^2.28.3",
2580 + "stream-to-pull-stream": "^1.6.6",
2581 + "word-wrap": "^1.1.0"
2582 + },
2583 + "dependencies": {
2584 + "pull-stream": {
2585 + "version": "2.28.4",
2586 + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-2.28.4.tgz",
2587 + "integrity": "sha1-fql0E8FhnCC8O9+eEOkTR7AyU+Q=",
2588 + "requires": {
2589 + "pull-core": "~1.1.0"
2590 + }
2591 + }
2592 + }
2593 + },
2594 + "mv": {
2595 + "version": "2.1.1",
2596 + "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz",
2597 + "integrity": "sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=",
2598 + "requires": {
2599 + "mkdirp": "~0.5.1",
2600 + "ncp": "~2.0.0",
2601 + "rimraf": "~2.4.0"
2602 + },
2603 + "dependencies": {
2604 + "rimraf": {
2605 + "version": "2.4.5",
2606 + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz",
2607 + "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=",
2608 + "requires": {
2609 + "glob": "^6.0.1"
2610 + }
2611 + }
2612 + }
2613 + },
2614 + "nan": {
2615 + "version": "2.10.0",
2616 + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
2617 + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA=="
2618 + },
2619 + "ncp": {
2620 + "version": "2.0.0",
2621 + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
2622 + "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M="
2623 + },
2624 + "node-abi": {
2625 + "version": "2.4.3",
2626 + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.4.3.tgz",
2627 + "integrity": "sha512-b656V5C0628gOOA2kwcpNA/bxdlqYF9FvxJ+qqVX0ctdXNVZpS8J6xEUYir3WAKc7U0BH/NRlSpNbGsy+azjeg==",
2628 + "requires": {
2629 + "semver": "^5.4.1"
2630 + }
2631 + },
2632 + "node-gyp-build": {
2633 + "version": "3.4.0",
2634 + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.4.0.tgz",
2635 + "integrity": "sha512-YoviGBJYGrPdLOKDIQB0sKxuKy/EEsxzooNkOZak4vSTKT/qH0Pa6dj3t1MJjEQGsefih61IyHDmO1WW7xOFfw==",
2636 + "optional": true
2637 + },
2638 + "node-notifier": {
2639 + "version": "5.2.1",
2640 + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz",
2641 + "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==",
2642 + "requires": {
2643 + "growly": "^1.3.0",
2644 + "semver": "^5.4.1",
2645 + "shellwords": "^0.1.1",
2646 + "which": "^1.3.0"
2647 + }
2648 + },
2649 + "non-private-ip": {
2650 + "version": "1.1.0",
2651 + "resolved": "https://registry.npmjs.org/non-private-ip/-/non-private-ip-1.1.0.tgz",
2652 + "integrity": "sha1-RvRTUtUPaHNA5MAR9xY8ptGQdAM=",
2653 + "requires": {
2654 + "ip": "~0.3.2"
2655 + }
2656 + },
2657 + "noop-logger": {
2658 + "version": "0.1.1",
2659 + "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
2660 + "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI="
2661 + },
2662 + "normalize-path": {
2663 + "version": "2.1.1",
2664 + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
2665 + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
2666 + "requires": {
2667 + "remove-trailing-separator": "^1.0.1"
2668 + }
2669 + },
2670 + "normalize-uri": {
2671 + "version": "1.1.1",
2672 + "resolved": "https://registry.npmjs.org/normalize-uri/-/normalize-uri-1.1.1.tgz",
2673 + "integrity": "sha512-bui9/kzRGymbkxJsZEBZgDHK2WJWGOHzR0pCr404EpkpVFTkCOYaRwQTlehUE+7oI70mWNENncCWqUxT/icfHw=="
2674 + },
2675 + "npm-prefix": {
2676 + "version": "1.2.0",
2677 + "resolved": "https://registry.npmjs.org/npm-prefix/-/npm-prefix-1.2.0.tgz",
2678 + "integrity": "sha1-5hlFX3B0ulTMZtbQ033Z8b5ry8A=",
2679 + "requires": {
2680 + "rc": "^1.1.0",
2681 + "shellsubstitute": "^1.1.0",
2682 + "untildify": "^2.1.0"
2683 + }
2684 + },
2685 + "npmlog": {
2686 + "version": "4.1.2",
2687 + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
2688 + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
2689 + "requires": {
2690 + "are-we-there-yet": "~1.1.2",
2691 + "console-control-strings": "~1.1.0",
2692 + "gauge": "~2.7.3",
2693 + "set-blocking": "~2.0.0"
2694 + }
2695 + },
2696 + "number-is-nan": {
2697 + "version": "1.0.1",
2698 + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
2699 + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
2700 + },
2701 + "object-assign": {
2702 + "version": "4.1.1",
2703 + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
2704 + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
2705 + },
2706 + "object-inspect": {
2707 + "version": "1.6.0",
2708 + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
2709 + "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ=="
2710 + },
2711 + "object-keys": {
2712 + "version": "1.0.12",
2713 + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
2714 + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag=="
2715 + },
2716 + "object.omit": {
2717 + "version": "2.0.1",
2718 + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
2719 + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
2720 + "requires": {
2721 + "for-own": "^0.1.4",
2722 + "is-extendable": "^0.1.1"
2723 + }
2724 + },
2725 + "observ": {
2726 + "version": "0.2.0",
2727 + "resolved": "https://registry.npmjs.org/observ/-/observ-0.2.0.tgz",
2728 + "integrity": "sha1-C8ObPin6pfnmyqWQbLg5LfQAqmg="
2729 + },
2730 + "observ-debounce": {
2731 + "version": "1.1.1",
2732 + "resolved": "https://registry.npmjs.org/observ-debounce/-/observ-debounce-1.1.1.tgz",
2733 + "integrity": "sha1-ME6XyFrdpw7NfwjaRQZ475Dwtwc=",
2734 + "requires": {
2735 + "observ": "~0.2.0"
2736 + }
2737 + },
2738 + "obv": {
2739 + "version": "0.0.1",
2740 + "resolved": "https://registry.npmjs.org/obv/-/obv-0.0.1.tgz",
2741 + "integrity": "sha1-yyNhBjQVNvDaxIFeBnCCIcrX+14="
2742 + },
2743 + "on-change-network": {
2744 + "version": "0.0.2",
2745 + "resolved": "https://registry.npmjs.org/on-change-network/-/on-change-network-0.0.2.tgz",
2746 + "integrity": "sha1-2XcklHf5FyaUnYDoI0batu9FIWs="
2747 + },
2748 + "on-wakeup": {
2749 + "version": "1.0.1",
2750 + "resolved": "https://registry.npmjs.org/on-wakeup/-/on-wakeup-1.0.1.tgz",
2751 + "integrity": "sha1-ANedmH3efIEXvudLtJA/b22vpSs="
2752 + },
2753 + "once": {
2754 + "version": "1.4.0",
2755 + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2756 + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
2757 + "requires": {
2758 + "wrappy": "1"
2759 + }
2760 + },
2761 + "onetime": {
2762 + "version": "1.1.0",
2763 + "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
2764 + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k="
2765 + },
2766 + "opencollective-postinstall": {
2767 + "version": "2.0.0",
2768 + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.0.tgz",
2769 + "integrity": "sha512-XAe80GycLe2yRGnJsUtt+EO5lk06XYRQt4kJJe53O2kJHPZJOZ+XMF/b47HW96e6LhfKVpwnXVr/s56jhV98jg=="
2770 + },
2771 + "options": {
2772 + "version": "0.0.6",
2773 + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
2774 + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8="
2775 + },
2776 + "os-homedir": {
2777 + "version": "1.0.2",
2778 + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
2779 + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
2780 + },
2781 + "os-tmpdir": {
2782 + "version": "1.0.2",
2783 + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
2784 + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
2785 + },
2786 + "osenv": {
2787 + "version": "0.1.5",
2788 + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
2789 + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
2790 + "requires": {
2791 + "os-homedir": "^1.0.0",
2792 + "os-tmpdir": "^1.0.0"
2793 + }
2794 + },
2795 + "packet-stream": {
2796 + "version": "2.0.4",
2797 + "resolved": "https://registry.npmjs.org/packet-stream/-/packet-stream-2.0.4.tgz",
2798 + "integrity": "sha512-7+oxHdMMs6VhLvvbrDUc8QNuelE9fPKLDdToXBIKLPKOlnoBeMim+/35edp+AnFTLzk3xcogVvQ/jrZyyGsEiw=="
2799 + },
2800 + "packet-stream-codec": {
2801 + "version": "1.1.2",
2802 + "resolved": "https://registry.npmjs.org/packet-stream-codec/-/packet-stream-codec-1.1.2.tgz",
2803 + "integrity": "sha1-ebMC/BRM37tKtv66cEDmpdmcecc=",
2804 + "requires": {
2805 + "pull-reader": "^1.2.4",
2806 + "pull-through": "^1.0.17"
2807 + }
2808 + },
2809 + "parse-entities": {
2810 + "version": "1.1.2",
2811 + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.2.tgz",
2812 + "integrity": "sha512-5N9lmQ7tmxfXf+hO3X6KRG6w7uYO/HL9fHalSySTdyn63C3WNvTM/1R8tn1u1larNcEbo3Slcy2bsVDQqvEpUg==",
2813 + "requires": {
2814 + "character-entities": "^1.0.0",
2815 + "character-entities-legacy": "^1.0.0",
2816 + "character-reference-invalid": "^1.0.0",
2817 + "is-alphanumerical": "^1.0.0",
2818 + "is-decimal": "^1.0.0",
2819 + "is-hexadecimal": "^1.0.0"
2820 + }
2821 + },
2822 + "parse-glob": {
2823 + "version": "3.0.4",
2824 + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
2825 + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
2826 + "requires": {
2827 + "glob-base": "^0.3.0",
2828 + "is-dotfile": "^1.0.0",
2829 + "is-extglob": "^1.0.0",
2830 + "is-glob": "^2.0.0"
2831 + }
2832 + },
2833 + "path-is-absolute": {
2834 + "version": "1.0.1",
2835 + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2836 + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
2837 + },
2838 + "path-parse": {
2839 + "version": "1.0.5",
2840 + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
2841 + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME="
2842 + },
2843 + "pify": {
2844 + "version": "2.3.0",
2845 + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
2846 + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
2847 + },
2848 + "pinkie": {
2849 + "version": "2.0.4",
2850 + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
2851 + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
2852 + },
2853 + "pinkie-promise": {
2854 + "version": "2.0.1",
2855 + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
2856 + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
2857 + "requires": {
2858 + "pinkie": "^2.0.0"
2859 + }
2860 + },
2861 + "plur": {
2862 + "version": "2.1.2",
2863 + "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz",
2864 + "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=",
2865 + "requires": {
2866 + "irregular-plurals": "^1.0.0"
2867 + }
2868 + },
2869 + "prebuild-install": {
2870 + "version": "2.5.3",
2871 + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.5.3.tgz",
2872 + "integrity": "sha512-/rI36cN2g7vDQnKWN8Uzupi++KjyqS9iS+/fpwG4Ea8d0Pip0PQ5bshUNzVwt+/D2MRfhVAplYMMvWLqWrCF/g==",
2873 + "requires": {
2874 + "detect-libc": "^1.0.3",
2875 + "expand-template": "^1.0.2",
2876 + "github-from-package": "0.0.0",
2877 + "minimist": "^1.2.0",
2878 + "mkdirp": "^0.5.1",
2879 + "node-abi": "^2.2.0",
2880 + "noop-logger": "^0.1.1",
2881 + "npmlog": "^4.0.1",
2882 + "os-homedir": "^1.0.1",
2883 + "pump": "^2.0.1",
2884 + "rc": "^1.1.6",
2885 + "simple-get": "^2.7.0",
2886 + "tar-fs": "^1.13.0",
2887 + "tunnel-agent": "^0.6.0",
2888 + "which-pm-runs": "^1.0.0"
2889 + }
2890 + },
2891 + "preserve": {
2892 + "version": "0.2.0",
2893 + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
2894 + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks="
2895 + },
2896 + "private-box": {
2897 + "version": "0.2.1",
2898 + "resolved": "https://registry.npmjs.org/private-box/-/private-box-0.2.1.tgz",
2899 + "integrity": "sha1-HfBhr8pbMDnH/qrdDa8PVvB+PsA=",
2900 + "requires": {
2901 + "chloride": "^2.2.1"
2902 + }
2903 + },
2904 + "process-nextick-args": {
2905 + "version": "2.0.0",
2906 + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
2907 + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
2908 + },
2909 + "prr": {
2910 + "version": "0.0.0",
2911 + "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz",
2912 + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo="
2913 + },
2914 + "pseudomap": {
2915 + "version": "1.0.2",
2916 + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
2917 + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
2918 + },
2919 + "pull-abortable": {
2920 + "version": "4.1.1",
2921 + "resolved": "https://registry.npmjs.org/pull-abortable/-/pull-abortable-4.1.1.tgz",
2922 + "integrity": "sha1-s61a77QRayWRbSbbiTk6yY0NzqE="
2923 + },
2924 + "pull-box-stream": {
2925 + "version": "1.0.13",
2926 + "resolved": "https://registry.npmjs.org/pull-box-stream/-/pull-box-stream-1.0.13.tgz",
2927 + "integrity": "sha1-w+JAOY6rP1lRsu0QeMWYi/egork=",
2928 + "requires": {
2929 + "chloride": "^2.2.7",
2930 + "increment-buffer": "~1.0.0",
2931 + "pull-reader": "^1.2.5",
2932 + "pull-stream": "^3.2.3",
2933 + "pull-through": "^1.0.18",
2934 + "split-buffer": "~1.0.0"
2935 + }
2936 + },
2937 + "pull-cat": {
2938 + "version": "1.1.11",
2939 + "resolved": "https://registry.npmjs.org/pull-cat/-/pull-cat-1.1.11.tgz",
2940 + "integrity": "sha1-tkLdElXaN2pwa220+pYvX9t0wxs="
2941 + },
2942 + "pull-cont": {
2943 + "version": "0.0.0",
2944 + "resolved": "https://registry.npmjs.org/pull-cont/-/pull-cont-0.0.0.tgz",
2945 + "integrity": "sha1-P6xIuBrJe3W6ATMgiLDOevjBvg4="
2946 + },
2947 + "pull-core": {
2948 + "version": "1.1.0",
2949 + "resolved": "https://registry.npmjs.org/pull-core/-/pull-core-1.1.0.tgz",
2950 + "integrity": "sha1-PYEn1trBR1cFyYAJYfWdZsgEbIo="
2951 + },
2952 + "pull-cursor": {
2953 + "version": "3.0.0",
2954 + "resolved": "https://registry.npmjs.org/pull-cursor/-/pull-cursor-3.0.0.tgz",
2955 + "integrity": "sha512-95lZVSF2eSEdOmUtlOBaD9p5YOvlYeCr5FBv2ySqcj/4rpaXI6d8OH+zPHHjKAf58R8QXJRZuyfHkcCX8TZbAg==",
2956 + "requires": {
2957 + "looper": "^4.0.0",
2958 + "ltgt": "^2.2.0",
2959 + "pull-stream": "^3.6.0"
2960 + }
2961 + },
2962 + "pull-defer": {
2963 + "version": "0.2.2",
2964 + "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.2.tgz",
2965 + "integrity": "sha1-CIew/7MK8ypW2+z6csFnInHwexM="
2966 + },
2967 + "pull-file": {
2968 + "version": "1.1.0",
2969 + "resolved": "https://registry.npmjs.org/pull-file/-/pull-file-1.1.0.tgz",
2970 + "integrity": "sha1-HdmHYF1jV6DSPB5Lgm95FaIVEpw=",
2971 + "requires": {
2972 + "pull-utf8-decoder": "^1.0.2"
2973 + }
2974 + },
2975 + "pull-flatmap": {
2976 + "version": "0.0.1",
2977 + "resolved": "https://registry.npmjs.org/pull-flatmap/-/pull-flatmap-0.0.1.tgz",
2978 + "integrity": "sha1-E9SURT6PbUeOe7+t5vj+AZf6a7c="
2979 + },
2980 + "pull-fs": {
2981 + "version": "1.1.6",
2982 + "resolved": "https://registry.npmjs.org/pull-fs/-/pull-fs-1.1.6.tgz",
2983 + "integrity": "sha1-8YT2p3KLtNlWQTdr6tafb2bfR80=",
2984 + "requires": {
2985 + "pull-file": "^0.5.0",
2986 + "pull-stream": "^3.3.0",
2987 + "pull-traverse": "^1.0.3",
2988 + "pull-write-file": "^0.2.1"
2989 + },
2990 + "dependencies": {
2991 + "pull-file": {
2992 + "version": "0.5.0",
2993 + "resolved": "https://registry.npmjs.org/pull-file/-/pull-file-0.5.0.tgz",
2994 + "integrity": "sha1-s8pAUwbggvnUUoKIkzutsrZWNls=",
2995 + "requires": {
2996 + "pull-utf8-decoder": "^1.0.2"
2997 + }
2998 + }
2999 + }
3000 + },
3001 + "pull-glob": {
3002 + "version": "1.0.7",
3003 + "resolved": "https://registry.npmjs.org/pull-glob/-/pull-glob-1.0.7.tgz",
3004 + "integrity": "sha1-7vkV3eZEvdvqjdLgEG1USqy81cI=",
3005 + "requires": {
3006 + "pull-fs": "~1.1.6",
3007 + "pull-stream": "^3.3.0"
3008 + }
3009 + },
3010 + "pull-goodbye": {
3011 + "version": "0.0.2",
3012 + "resolved": "https://registry.npmjs.org/pull-goodbye/-/pull-goodbye-0.0.2.tgz",
3013 + "integrity": "sha1-jYNX21XiKnEN//DxaoyQtF7+QXE=",
3014 + "requires": {
3015 + "pull-stream": "~3.5.0"
3016 + },
3017 + "dependencies": {
3018 + "pull-stream": {
3019 + "version": "3.5.0",
3020 + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.5.0.tgz",
3021 + "integrity": "sha1-HuW292/Ts6SaWvtt7VwDIKyzz8c="
3022 + }
3023 + }
3024 + },
3025 + "pull-handshake": {
3026 + "version": "1.1.4",
3027 + "resolved": "https://registry.npmjs.org/pull-handshake/-/pull-handshake-1.1.4.tgz",
3028 + "integrity": "sha1-YACg/QGIhM39c3JU+Mxgqypjd5E=",
3029 + "requires": {
3030 + "pull-cat": "^1.1.9",
3031 + "pull-pair": "~1.1.0",
3032 + "pull-pushable": "^2.0.0",
3033 + "pull-reader": "^1.2.3"
3034 + }
3035 + },
3036 + "pull-hash": {
3037 + "version": "1.0.0",
3038 + "resolved": "https://registry.npmjs.org/pull-hash/-/pull-hash-1.0.0.tgz",
3039 + "integrity": "sha1-/K1NJQe/LCsyMfZT3Jv7LbTw2Iw="
3040 + },
3041 + "pull-inactivity": {
3042 + "version": "2.1.2",
3043 + "resolved": "https://registry.npmjs.org/pull-inactivity/-/pull-inactivity-2.1.2.tgz",
3044 + "integrity": "sha1-N6PW67+sKSzUNfXkgeUHTIwfrXU=",
3045 + "requires": {
3046 + "pull-abortable": "~4.0.0",
3047 + "pull-stream": "^3.4.5"
3048 + },
3049 + "dependencies": {
3050 + "pull-abortable": {
3051 + "version": "4.0.0",
3052 + "resolved": "https://registry.npmjs.org/pull-abortable/-/pull-abortable-4.0.0.tgz",
3053 + "integrity": "sha1-cBephMO4NN53usOMELd28i38GEM="
3054 + }
3055 + }
3056 + },
3057 + "pull-level": {
3058 + "version": "2.0.4",
3059 + "resolved": "https://registry.npmjs.org/pull-level/-/pull-level-2.0.4.tgz",
3060 + "integrity": "sha512-fW6pljDeUThpq5KXwKbRG3X7Ogk3vc75d5OQU/TvXXui65ykm+Bn+fiktg+MOx2jJ85cd+sheufPL+rw9QSVZg==",
3061 + "requires": {
3062 + "level-post": "^1.0.7",
3063 + "pull-cat": "^1.1.9",
3064 + "pull-live": "^1.0.1",
3065 + "pull-pushable": "^2.0.0",
3066 + "pull-stream": "^3.4.0",
3067 + "pull-window": "^2.1.4",
3068 + "stream-to-pull-stream": "^1.7.1"
3069 + }
3070 + },
3071 + "pull-live": {
3072 + "version": "1.0.1",
3073 + "resolved": "https://registry.npmjs.org/pull-live/-/pull-live-1.0.1.tgz",
3074 + "integrity": "sha1-pOzuAeMwFV6RJLu89HYfIbOPUfU=",
3075 + "requires": {
3076 + "pull-cat": "^1.1.9",
3077 + "pull-stream": "^3.4.0"
3078 + }
3079 + },
3080 + "pull-looper": {
3081 + "version": "1.0.0",
3082 + "resolved": "https://registry.npmjs.org/pull-looper/-/pull-looper-1.0.0.tgz",
3083 + "integrity": "sha512-djlD60A6NGe5goLdP5pgbqzMEiWmk1bInuAzBp0QOH4vDrVwh05YDz6UP8+pOXveKEk8wHVP+rB2jBrK31QMPA==",
3084 + "requires": {
3085 + "looper": "^4.0.0"
3086 + }
3087 + },
3088 + "pull-many": {
3089 + "version": "1.0.8",
3090 + "resolved": "https://registry.npmjs.org/pull-many/-/pull-many-1.0.8.tgz",
3091 + "integrity": "sha1-Pa3ZttFWxUVyG9qNAAPdjqoGKT4=",
3092 + "requires": {
3093 + "pull-stream": "^3.4.5"
3094 + }
3095 + },
3096 + "pull-next": {
3097 + "version": "1.0.1",
3098 + "resolved": "https://registry.npmjs.org/pull-next/-/pull-next-1.0.1.tgz",
3099 + "integrity": "sha1-A/TX0Zhy/BEUFh6I227PTGXmHlY="
3100 + },
3101 + "pull-notify": {
3102 + "version": "0.1.1",
3103 + "resolved": "https://registry.npmjs.org/pull-notify/-/pull-notify-0.1.1.tgz",
3104 + "integrity": "sha1-b4b/ldJwuJw+vyVbYDG3Ay3JnMo=",
3105 + "requires": {
3106 + "pull-pushable": "^2.0.0"
3107 + }
3108 + },
3109 + "pull-pair": {
3110 + "version": "1.1.0",
3111 + "resolved": "https://registry.npmjs.org/pull-pair/-/pull-pair-1.1.0.tgz",
3112 + "integrity": "sha1-fuQnJj/fTaglOXrAoF4atLdL120="
3113 + },
3114 + "pull-paramap": {
3115 + "version": "1.2.2",
3116 + "resolved": "https://registry.npmjs.org/pull-paramap/-/pull-paramap-1.2.2.tgz",
3117 + "integrity": "sha1-UaQZPOnI1yFdla2tReK824STsjo=",
3118 + "requires": {
3119 + "looper": "^4.0.0"
3120 + }
3121 + },
3122 + "pull-ping": {
3123 + "version": "2.0.2",
3124 + "resolved": "https://registry.npmjs.org/pull-ping/-/pull-ping-2.0.2.tgz",
3125 + "integrity": "sha1-e8SjQBZ9rYj2gqGWxjSFc1x6CJQ=",
3126 + "requires": {
3127 + "pull-pushable": "^2.0.0",
3128 + "pull-stream": "^3.4.5",
3129 + "statistics": "^3.3.0"
3130 + }
3131 + },
3132 + "pull-pushable": {
3133 + "version": "2.2.0",
3134 + "resolved": "https://registry.npmjs.org/pull-pushable/-/pull-pushable-2.2.0.tgz",
3135 + "integrity": "sha1-Xy867UethpGfAbEqLpnW8b13ZYE="
3136 + },
3137 + "pull-rate": {
3138 + "version": "1.0.2",
3139 + "resolved": "https://registry.npmjs.org/pull-rate/-/pull-rate-1.0.2.tgz",
3140 + "integrity": "sha1-F7IxrV81n2dYJmcBcrDlkMiWTo0=",
3141 + "requires": {
3142 + "pull-stream": "^3.6.0"
3143 + }
3144 + },
3145 + "pull-reader": {
3146 + "version": "1.2.9",
3147 + "resolved": "https://registry.npmjs.org/pull-reader/-/pull-reader-1.2.9.tgz",
3148 + "integrity": "sha1-0umtALz7VOYqpm1Cwtu8tetoQ7A="
3149 + },
3150 + "pull-sink-through": {
3151 + "version": "0.0.0",
3152 + "resolved": "https://registry.npmjs.org/pull-sink-through/-/pull-sink-through-0.0.0.tgz",
3153 + "integrity": "sha1-08BJLzqAtO0gSvZ8S0+TVoD8Wx8="
3154 + },
3155 + "pull-stream": {
3156 + "version": "3.6.8",
3157 + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.8.tgz",
3158 + "integrity": "sha512-wQUIptQBcM0rFsUhZoEpOT3vUn73DtTGVq3NQ86c4T7iMOSprDzeKWYq2ksXnbwiuExTKvt+8G9fzNLFQuiO+A=="
3159 + },
3160 + "pull-stream-to-stream": {
3161 + "version": "1.3.4",
3162 + "resolved": "https://registry.npmjs.org/pull-stream-to-stream/-/pull-stream-to-stream-1.3.4.tgz",
3163 + "integrity": "sha1-P4HYIWvRjSv9GhmBkEcRgOJzg5k="
3164 + },
3165 + "pull-stringify": {
3166 + "version": "1.2.2",
3167 + "resolved": "https://registry.npmjs.org/pull-stringify/-/pull-stringify-1.2.2.tgz",
3168 + "integrity": "sha1-Whw04Adfry8vbUYATjbczTO9fHw="
3169 + },
3170 + "pull-through": {
3171 + "version": "1.0.18",
3172 + "resolved": "https://registry.npmjs.org/pull-through/-/pull-through-1.0.18.tgz",
3173 + "integrity": "sha1-jdYjFCY+Wc9Qlur7sSeitu8xBzU=",
3174 + "requires": {
3175 + "looper": "~3.0.0"
3176 + },
3177 + "dependencies": {
3178 + "looper": {
3179 + "version": "3.0.0",
3180 + "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz",
3181 + "integrity": "sha1-LvpUw7HLq6m5Su4uWRSwvlf7t0k="
3182 + }
3183 + }
3184 + },
3185 + "pull-traverse": {
3186 + "version": "1.0.3",
3187 + "resolved": "https://registry.npmjs.org/pull-traverse/-/pull-traverse-1.0.3.tgz",
3188 + "integrity": "sha1-dPtde+f6a9enjpeTPhmbeUWGaTg="
3189 + },
3190 + "pull-utf8-decoder": {
3191 + "version": "1.0.2",
3192 + "resolved": "https://registry.npmjs.org/pull-utf8-decoder/-/pull-utf8-decoder-1.0.2.tgz",
3193 + "integrity": "sha1-p6+iOE0eZBWl1gIFQSbMjeO8vOc="
3194 + },
3195 + "pull-window": {
3196 + "version": "2.1.4",
3197 + "resolved": "https://registry.npmjs.org/pull-window/-/pull-window-2.1.4.tgz",
3198 + "integrity": "sha1-/DuG/uvRkgx64pdpHiP3BfiFUvA=",
3199 + "requires": {
3200 + "looper": "^2.0.0"
3201 + },
3202 + "dependencies": {
3203 + "looper": {
3204 + "version": "2.0.0",
3205 + "resolved": "https://registry.npmjs.org/looper/-/looper-2.0.0.tgz",
3206 + "integrity": "sha1-Zs0Md0rz1P7axTeU90LbVtqPCew="
3207 + }
3208 + }
3209 + },
3210 + "pull-write": {
3211 + "version": "1.1.4",
3212 + "resolved": "https://registry.npmjs.org/pull-write/-/pull-write-1.1.4.tgz",
3213 + "integrity": "sha1-3d6jFJO0j2douEooHQHrO1Mf4Lg=",
3214 + "requires": {
3215 + "looper": "^4.0.0",
3216 + "pull-cat": "^1.1.11",
3217 + "pull-stream": "^3.4.5"
3218 + }
3219 + },
3220 + "pull-write-file": {
3221 + "version": "0.2.4",
3222 + "resolved": "https://registry.npmjs.org/pull-write-file/-/pull-write-file-0.2.4.tgz",
3223 + "integrity": "sha1-Q3NErrIYn2XmeO0a838PdgpUU+8="
3224 + },
3225 + "pull-ws": {
3226 + "version": "3.3.1",
3227 + "resolved": "https://registry.npmjs.org/pull-ws/-/pull-ws-3.3.1.tgz",
3228 + "integrity": "sha512-kJodbLQT+oKjcRIQO+vQNw6xWBuEo7Kxp51VMOvb6cvPvHYA+aNLzm+NmkB/5dZwbuTRYGMal9QPvH52tzM1ZA==",
3229 + "requires": {
3230 + "relative-url": "^1.0.2",
3231 + "safe-buffer": "^5.1.1",
3232 + "ws": "^1.1.0"
3233 + }
3234 + },
3235 + "pump": {
3236 + "version": "2.0.1",
3237 + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
3238 + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
3239 + "requires": {
3240 + "end-of-stream": "^1.1.0",
3241 + "once": "^1.3.1"
3242 + }
3243 + },
3244 + "randomatic": {
3245 + "version": "3.0.0",
3246 + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz",
3247 + "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==",
3248 + "requires": {
3249 + "is-number": "^4.0.0",
3250 + "kind-of": "^6.0.0",
3251 + "math-random": "^1.0.1"
3252 + },
3253 + "dependencies": {
3254 + "is-number": {
3255 + "version": "4.0.0",
3256 + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
3257 + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ=="
3258 + },
3259 + "kind-of": {
3260 + "version": "6.0.2",
3261 + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
3262 + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
3263 + }
3264 + }
3265 + },
3266 + "rc": {
3267 + "version": "1.2.8",
3268 + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
3269 + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
3270 + "requires": {
3271 + "deep-extend": "^0.6.0",
3272 + "ini": "~1.3.0",
3273 + "minimist": "^1.2.0",
3274 + "strip-json-comments": "~2.0.1"
3275 + }
3276 + },
3277 + "readable-stream": {
3278 + "version": "1.0.34",
3279 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
3280 + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
3281 + "requires": {
3282 + "core-util-is": "~1.0.0",
3283 + "inherits": "~2.0.1",
3284 + "isarray": "0.0.1",
3285 + "string_decoder": "~0.10.x"
3286 + }
3287 + },
3288 + "readdirp": {
3289 + "version": "2.1.0",
3290 + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
3291 + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
3292 + "requires": {
3293 + "graceful-fs": "^4.1.2",
3294 + "minimatch": "^3.0.2",
3295 + "readable-stream": "^2.0.2",
3296 + "set-immediate-shim": "^1.0.1"
3297 + },
3298 + "dependencies": {
3299 + "isarray": {
3300 + "version": "1.0.0",
3301 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
3302 + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
3303 + },
3304 + "readable-stream": {
3305 + "version": "2.3.6",
3306 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
3307 + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
3308 + "requires": {
3309 + "core-util-is": "~1.0.0",
3310 + "inherits": "~2.0.3",
3311 + "isarray": "~1.0.0",
3312 + "process-nextick-args": "~2.0.0",
3313 + "safe-buffer": "~5.1.1",
3314 + "string_decoder": "~1.1.1",
3315 + "util-deprecate": "~1.0.1"
3316 + }
3317 + },
3318 + "string_decoder": {
3319 + "version": "1.1.1",
3320 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
3321 + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
3322 + "requires": {
3323 + "safe-buffer": "~5.1.0"
3324 + }
3325 + }
3326 + }
3327 + },
3328 + "regedit": {
3329 + "version": "2.2.7",
3330 + "resolved": "https://registry.npmjs.org/regedit/-/regedit-2.2.7.tgz",
3331 + "integrity": "sha1-RwKEh6RxqqfWKo0Dg8zu7evzr4A=",
3332 + "optional": true,
3333 + "requires": {
3334 + "debug": "^2.1.1",
3335 + "if-async": "^3.7.4",
3336 + "stream-slicer": "0.0.6",
3337 + "through2": "^0.6.3"
3338 + }
3339 + },
3340 + "regex-cache": {
3341 + "version": "0.4.4",
3342 + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
3343 + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
3344 + "requires": {
3345 + "is-equal-shallow": "^0.1.3"
3346 + }
3347 + },
3348 + "relative-url": {
3349 + "version": "1.0.2",
3350 + "resolved": "https://registry.npmjs.org/relative-url/-/relative-url-1.0.2.tgz",
3351 + "integrity": "sha1-0hxSpy1gYQGLzun5yfwQa/fWUoc="
3352 + },
3353 + "remark": {
3354 + "version": "3.2.3",
3355 + "resolved": "https://registry.npmjs.org/remark/-/remark-3.2.3.tgz",
3356 + "integrity": "sha1-gCo4w6qYyeHj6gFe66IR0ny2Xh8=",
3357 + "requires": {
3358 + "camelcase": "^2.0.0",
3359 + "ccount": "^1.0.0",
3360 + "chalk": "^1.0.0",
3361 + "chokidar": "^1.0.5",
3362 + "collapse-white-space": "^1.0.0",
3363 + "commander": "^2.0.0",
3364 + "concat-stream": "^1.0.0",
3365 + "debug": "^2.0.0",
3366 + "elegant-spinner": "^1.0.0",
3367 + "extend.js": "0.0.2",
3368 + "glob": "^6.0.1",
3369 + "globby": "^4.0.0",
3370 + "he": "^0.5.0",
3371 + "log-update": "^1.0.1",
3372 + "longest-streak": "^1.0.0",
3373 + "markdown-table": "^0.4.0",
3374 + "minimatch": "^3.0.0",
3375 + "npm-prefix": "^1.0.1",
3376 + "parse-entities": "^1.0.0",
3377 + "repeat-string": "^1.5.0",
3378 + "stringify-entities": "^1.0.0",
3379 + "to-vfile": "^1.0.0",
3380 + "trim": "^0.0.1",
3381 + "trim-trailing-lines": "^1.0.0",
3382 + "unified": "^2.0.0",
3383 + "user-home": "^2.0.0",
3384 + "vfile": "^1.1.0",
3385 + "vfile-find-down": "^1.0.0",
3386 + "vfile-find-up": "^1.0.0",
3387 + "vfile-reporter": "^1.5.0",
3388 + "ware": "^1.3.0"
3389 + },
3390 + "dependencies": {
3391 + "he": {
3392 + "version": "0.5.0",
3393 + "resolved": "https://registry.npmjs.org/he/-/he-0.5.0.tgz",
3394 + "integrity": "sha1-LAX/rvkLaOhg8/0rVO9YCYknfuI="
3395 + }
3396 + }
3397 + },
3398 + "remark-html": {
3399 + "version": "2.0.2",
3400 + "resolved": "https://registry.npmjs.org/remark-html/-/remark-html-2.0.2.tgz",
3401 + "integrity": "sha1-WSo0e909WIH08IDJi1sVL7FAepI=",
3402 + "requires": {
3403 + "collapse-white-space": "^1.0.0",
3404 + "detab": "^1.0.0",
3405 + "normalize-uri": "^1.0.0",
3406 + "object-assign": "^4.0.1",
3407 + "trim": "0.0.1",
3408 + "trim-lines": "^1.0.0",
3409 + "unist-util-visit": "^1.0.0"
3410 + }
3411 + },
3412 + "remove-trailing-separator": {
3413 + "version": "1.1.0",
3414 + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
3415 + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
3416 + },
3417 + "repeat-element": {
3418 + "version": "1.1.2",
3419 + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
3420 + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo="
3421 + },
3422 + "repeat-string": {
3423 + "version": "1.6.1",
3424 + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
3425 + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
3426 + },
3427 + "resolve": {
3428 + "version": "1.7.1",
3429 + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
3430 + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
3431 + "requires": {
3432 + "path-parse": "^1.0.5"
3433 + }
3434 + },
3435 + "restore-cursor": {
3436 + "version": "1.0.1",
3437 + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
3438 + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
3439 + "requires": {
3440 + "exit-hook": "^1.0.0",
3441 + "onetime": "^1.0.0"
3442 + }
3443 + },
3444 + "resumer": {
3445 + "version": "0.0.0",
3446 + "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz",
3447 + "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=",
3448 + "requires": {
3449 + "through": "~2.3.4"
3450 + }
3451 + },
3452 + "rimraf": {
3453 + "version": "2.6.2",
3454 + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
3455 + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
3456 + "requires": {
3457 + "glob": "^7.0.5"
3458 + },
3459 + "dependencies": {
3460 + "glob": {
3461 + "version": "7.1.2",
3462 + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
3463 + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
3464 + "requires": {
3465 + "fs.realpath": "^1.0.0",
3466 + "inflight": "^1.0.4",
3467 + "inherits": "2",
3468 + "minimatch": "^3.0.4",
3469 + "once": "^1.3.0",
3470 + "path-is-absolute": "^1.0.0"
3471 + }
3472 + }
3473 + }
3474 + },
3475 + "safe-buffer": {
3476 + "version": "5.1.2",
3477 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
3478 + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
3479 + },
3480 + "scuttlebot": {
3481 + "version": "10.4.10",
3482 + "resolved": "https://registry.npmjs.org/scuttlebot/-/scuttlebot-10.4.10.tgz",
3483 + "integrity": "sha1-TC1TJDzPRNgDDNgnC6svDqdU2H4=",
3484 + "requires": {
3485 + "atomic-file": "0.0.1",
3486 + "bash-color": "~0.0.3",
3487 + "broadcast-stream": "^0.2.1",
3488 + "cont": "~1.0.3",
3489 + "cross-spawn": "^5.1.0",
3490 + "deep-equal": "^1.0.1",
3491 + "explain-error": "^1.0.3",
3492 + "flumelog-offset": "^3.2.2",
3493 + "flumeview-reduce": "^1.1.0",
3494 + "graphreduce": "^3.0.2",
3495 + "has-network": "0.0.1",
3496 + "ip": "^0.3.3",
3497 + "level-memview": "~0.0.0",
3498 + "mdmanifest": "^1.0.4",
3499 + "minimist": "^1.1.3",
3500 + "mkdirp": "~0.5.0",
3501 + "multiblob": "^1.10.1",
3502 + "multicb": "^1.0.0",
3503 + "muxrpc": "^6.1.1",
3504 + "muxrpc-validation": "^2.0.0",
3505 + "muxrpcli": "^1.0.0",
3506 + "mv": "^2.1.1",
3507 + "non-private-ip": "~1.1.0",
3508 + "observ-debounce": "^1.1.1",
3509 + "obv": "0.0.1",
3510 + "on-change-network": "0.0.2",
3511 + "on-wakeup": "^1.0.0",
3512 + "osenv": "^0.1.3",
3513 + "pull-abortable": "~4.1.0",
3514 + "pull-cat": "~1.1.5",
3515 + "pull-file": "^1.0.0",
3516 + "pull-flatmap": "0.0.1",
3517 + "pull-inactivity": "~2.1.1",
3518 + "pull-level": "^2.0.2",
3519 + "pull-many": "~1.0.6",
3520 + "pull-next": "^1.0.0",
3521 + "pull-notify": "0.1.1",
3522 + "pull-paramap": "~1.2.1",
3523 + "pull-ping": "^2.0.2",
3524 + "pull-pushable": "^2.0.1",
3525 + "pull-stream": "^3.6.0",
3526 + "pull-stream-to-stream": "~1.3.0",
3527 + "pull-stringify": "~1.2.2",
3528 + "rimraf": "^2.4.2",
3529 + "secret-stack": "^4.0.0",
3530 + "secure-scuttlebutt": "^16.3.8",
3531 + "ssb-blobs": "^1.0.1",
3532 + "ssb-client": "^4.4.1",
3533 + "ssb-config": "^2.0.0",
3534 + "ssb-friends": "^2.2.3",
3535 + "ssb-keys": "^7.0.0",
3536 + "ssb-links": "^3.0.0",
3537 + "ssb-msgs": "~5.2.0",
3538 + "ssb-query": "^1.0.0",
3539 + "ssb-ref": "^2.7.1",
3540 + "ssb-ws": "^1.0.3",
3541 + "statistics": "^3.0.0",
3542 + "stream-to-pull-stream": "^1.6.10",
3543 + "zerr": "^1.0.0"
3544 + },
3545 + "dependencies": {
3546 + "ssb-ws": {
3547 + "version": "1.0.3",
3548 + "resolved": "https://registry.npmjs.org/ssb-ws/-/ssb-ws-1.0.3.tgz",
3549 + "integrity": "sha1-+68EZOCWaPS7lRbSxBzcA6nWgdw=",
3550 + "requires": {
3551 + "emoji-server": "^1.0.0",
3552 + "multiblob-http": "^0.2.0",
3553 + "multiserver": "^1.2.0",
3554 + "muxrpc": "^6.3.3",
3555 + "pull-stream": "^3.4.3",
3556 + "ssb-ref": "^2.3.0",
3557 + "ssb-sort": "0.0.0",
3558 + "stack": "^0.1.0",
3559 + "web-bootloader": "^0.1.0"
3560 + }
3561 + }
3562 + }
3563 + },
3564 + "secret-handshake": {
3565 + "version": "1.1.13",
3566 + "resolved": "https://registry.npmjs.org/secret-handshake/-/secret-handshake-1.1.13.tgz",
3567 + "integrity": "sha512-jDpA1kPJGg+jEUOZGvqksQFGPWIx0aA96HpjU+AqIBKIKzmvZeOq0Lfl/XqVC5jviWTVZZM2B8+NqYR38Blz8A==",
3568 + "requires": {
3569 + "chloride": "^2.2.7",
3570 + "deep-equal": "~1.0.0",
3571 + "pull-box-stream": "^1.0.13",
3572 + "pull-handshake": "^1.1.1",
3573 + "pull-stream": "^3.4.5"
3574 + }
3575 + },
3576 + "secret-stack": {
3577 + "version": "4.1.0",
3578 + "resolved": "https://registry.npmjs.org/secret-stack/-/secret-stack-4.1.0.tgz",
3579 + "integrity": "sha512-tCxjylkvEvUqxlWSVALtPMGKGyed225oDf7zoxCOsvj5SaVolUzOaixS07IK74mjcq7D1TvEJ4kofcaTMhQq1w==",
3580 + "requires": {
3581 + "hoox": "0.0.1",
3582 + "ip": "^1.1.5",
3583 + "map-merge": "^1.1.0",
3584 + "multiserver": "^1.11.0",
3585 + "muxrpc": "^6.4.0",
3586 + "non-private-ip": "^1.4.3",
3587 + "pull-inactivity": "~2.1.1",
3588 + "pull-rate": "^1.0.2",
3589 + "pull-stream": "^3.4.5",
3590 + "stream-to-pull-stream": "^1.6.1"
3591 + },
3592 + "dependencies": {
3593 + "ip": {
3594 + "version": "1.1.5",
3595 + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
3596 + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
3597 + },
3598 + "non-private-ip": {
3599 + "version": "1.4.4",
3600 + "resolved": "https://registry.npmjs.org/non-private-ip/-/non-private-ip-1.4.4.tgz",
3601 + "integrity": "sha512-K9nTVFOGUOYutaG8ywiKpCdVu458RFxSgSJ0rribUxtf5iLM9B2+raFJgkID3p5op0+twmoQqFaPnu9KYz6qzg==",
3602 + "requires": {
3603 + "ip": "^1.1.5"
3604 + }
3605 + }
3606 + }
3607 + },
3608 + "secure-scuttlebutt": {
3609 + "version": "16.3.8",
3610 + "resolved": "https://registry.npmjs.org/secure-scuttlebutt/-/secure-scuttlebutt-16.3.8.tgz",
3611 + "integrity": "sha1-KxwmaLgdvVEmlBzIwr9r353HzM4=",
3612 + "requires": {
3613 + "bytewise": "^1.1.0",
3614 + "cont": "~1.0.0",
3615 + "deep-equal": "~0.2.1",
3616 + "explain-error": "~1.0.1",
3617 + "flumedb": "^0.4.2",
3618 + "flumelog-offset": "^3.2.5",
3619 + "flumeview-level": "^2.0.5",
3620 + "flumeview-reduce": "^1.3.6",
3621 + "level": "^1.7.0",
3622 + "level-codec": "^6.2.0",
3623 + "level-peek": "^2.0.1",
3624 + "level-sublevel": "^6.6.0",
3625 + "ltgt": "^2.2.0",
3626 + "monotonic-timestamp": "~0.0.8",
3627 + "obv": "0.0.1",
3628 + "pull-cat": "~1.1.5",
3629 + "pull-cont": "0.0.0",
3630 + "pull-defer": "^0.2.2",
3631 + "pull-level": "^2.0.3",
3632 + "pull-live": "^1.0.1",
3633 + "pull-notify": "^0.1.0",
3634 + "pull-paramap": "^1.1.6",
3635 + "pull-stream": "^3.4.0",
3636 + "pull-write": "^1.1.0",
3637 + "ssb-feed": "^2.2.1",
3638 + "ssb-keys": "^7.0.0",
3639 + "ssb-msgs": "^5.0.0",
3640 + "ssb-ref": "^2.0.0",
3641 + "typewiselite": "^1.0.0"
3642 + },
3643 + "dependencies": {
3644 + "deep-equal": {
3645 + "version": "0.2.2",
3646 + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.2.tgz",
3647 + "integrity": "sha1-hLdFiW80xoTpjyzg5Cq69Du6AX0="
3648 + }
3649 + }
3650 + },
3651 + "semver": {
3652 + "version": "5.5.0",
3653 + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
3654 + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA=="
3655 + },
3656 + "separator-escape": {
3657 + "version": "0.0.0",
3658 + "resolved": "https://registry.npmjs.org/separator-escape/-/separator-escape-0.0.0.tgz",
3659 + "integrity": "sha1-5DNnaTICBFTjwUhwxRfqHeVsL6Q="
3660 + },
3661 + "set-blocking": {
3662 + "version": "2.0.0",
3663 + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
3664 + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
3665 + },
3666 + "set-immediate-shim": {
3667 + "version": "1.0.1",
3668 + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
3669 + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E="
3670 + },
3671 + "sha.js": {
3672 + "version": "2.4.5",
3673 + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.5.tgz",
3674 + "integrity": "sha1-J9Fx78yCoRi5ljn/WBZgJCtQbnw=",
3675 + "requires": {
3676 + "inherits": "^2.0.1"
3677 + }
3678 + },
3679 + "shebang-command": {
3680 + "version": "1.2.0",
3681 + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
3682 + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
3683 + "requires": {
3684 + "shebang-regex": "^1.0.0"
3685 + }
3686 + },
3687 + "shebang-regex": {
3688 + "version": "1.0.0",
3689 + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
3690 + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
3691 + },
3692 + "shellsubstitute": {
3693 + "version": "1.2.0",
3694 + "resolved": "https://registry.npmjs.org/shellsubstitute/-/shellsubstitute-1.2.0.tgz",
3695 + "integrity": "sha1-5PcCpQxRiw9v6YRRiQ1wWvKba3A="
3696 + },
3697 + "shellwords": {
3698 + "version": "0.1.1",
3699 + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
3700 + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww=="
3701 + },
3702 + "signal-exit": {
3703 + "version": "3.0.2",
3704 + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
3705 + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
3706 + },
3707 + "simple-concat": {
3708 + "version": "1.0.0",
3709 + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz",
3710 + "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY="
3711 + },
3712 + "simple-get": {
3713 + "version": "2.8.1",
3714 + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz",
3715 + "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==",
3716 + "requires": {
3717 + "decompress-response": "^3.3.0",
3718 + "once": "^1.3.1",
3719 + "simple-concat": "^1.0.0"
3720 + }
3721 + },
3722 + "smart-buffer": {
3723 + "version": "1.1.15",
3724 + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz",
3725 + "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY="
3726 + },
3727 + "socks": {
3728 + "version": "1.1.9",
3729 + "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz",
3730 + "integrity": "sha1-Yo1+TQSRJDVEWsC25Fk3bLPm1pE=",
3731 + "requires": {
3732 + "ip": "^1.1.2",
3733 + "smart-buffer": "^1.0.4"
3734 + },
3735 + "dependencies": {
3736 + "ip": {
3737 + "version": "1.1.5",
3738 + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
3739 + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
3740 + }
3741 + }
3742 + },
3743 + "sodium-browserify": {
3744 + "version": "1.2.4",
3745 + "resolved": "https://registry.npmjs.org/sodium-browserify/-/sodium-browserify-1.2.4.tgz",
3746 + "integrity": "sha512-IYcxKje/uf/c3a7VhZYJLlUxWMcktfbD4AjqHjUD1/VWKjj0Oq5wNbX8wjJOWVO9UhUMqJQiOn2xFbzKWBmy5w==",
3747 + "requires": {
3748 + "libsodium-wrappers": "^0.7.3",
3749 + "sha.js": "2.4.5",
3750 + "sodium-browserify-tweetnacl": "^0.2.3",
3751 + "tweetnacl": "^0.14.1"
3752 + }
3753 + },
3754 + "sodium-browserify-tweetnacl": {
3755 + "version": "0.2.3",
3756 + "resolved": "https://registry.npmjs.org/sodium-browserify-tweetnacl/-/sodium-browserify-tweetnacl-0.2.3.tgz",
3757 + "integrity": "sha1-tVN//LufdOvEQ7i2ohGykej8vI4=",
3758 + "requires": {
3759 + "chloride-test": "^1.1.0",
3760 + "ed2curve": "^0.1.4",
3761 + "sha.js": "^2.4.8",
3762 + "tweetnacl": "^0.14.1",
3763 + "tweetnacl-auth": "^0.3.0"
3764 + },
3765 + "dependencies": {
3766 + "sha.js": {
3767 + "version": "2.4.11",
3768 + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
3769 + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
3770 + "requires": {
3771 + "inherits": "^2.0.1",
3772 + "safe-buffer": "^5.0.1"
3773 + }
3774 + }
3775 + }
3776 + },
3777 + "sodium-chloride": {
3778 + "version": "1.1.0",
3779 + "resolved": "https://registry.npmjs.org/sodium-chloride/-/sodium-chloride-1.1.0.tgz",
3780 + "integrity": "sha1-JHojS4iGf23/UTMrYF8ZOmW/aDk="
3781 + },
3782 + "sodium-native": {
3783 + "version": "2.1.6",
3784 + "resolved": "https://registry.npmjs.org/sodium-native/-/sodium-native-2.1.6.tgz",
3785 + "integrity": "sha512-vfovcNlU8C93SbeNoGSAdW5zVOTlrh1sTy+TzdC2FhDTE/IUK6j4ML5gdr/qziLz4XRT4EQWJvbFzql6CAAH/A==",
3786 + "optional": true,
3787 + "requires": {
3788 + "ini": "^1.3.5",
3789 + "nan": "^2.4.0",
3790 + "node-gyp-build": "^3.0.0"
3791 + }
3792 + },
3793 + "split-buffer": {
3794 + "version": "1.0.0",
3795 + "resolved": "https://registry.npmjs.org/split-buffer/-/split-buffer-1.0.0.tgz",
3796 + "integrity": "sha1-t+jgq1E0UVi3LB9tvvJAbVHx0Cc="
3797 + },
3798 + "ssb-backlinks": {
3799 + "version": "0.7.1",
3800 + "resolved": "https://registry.npmjs.org/ssb-backlinks/-/ssb-backlinks-0.7.1.tgz",
3801 + "integrity": "sha512-qxJW94vPJelWS8/aDo8mFIKxGvdFVOi2R8OX3J/nmWXink05I5ZmNkT40Fb/IW7PkRddbrdWfA1tA8GusK1yKQ==",
3802 + "requires": {
3803 + "base64-url": "^1.3.3",
3804 + "deep-equal": "^1.0.1",
3805 + "flumeview-query": "^6.1.0",
3806 + "pull-stream": "^3.6.7",
3807 + "ssb-keys": "^7.0.14",
3808 + "ssb-ref": "^2.9.0",
3809 + "xtend": "^4.0.1"
3810 + }
3811 + },
3812 + "ssb-blobs": {
3813 + "version": "1.1.5",
3814 + "resolved": "https://registry.npmjs.org/ssb-blobs/-/ssb-blobs-1.1.5.tgz",
3815 + "integrity": "sha512-DeeInkFU8oN1mYlPVrqrm9tupf6wze4HuowK7N2vv/O+UeSLuYPU1p4HrxSqdAPvUabr0OtvbFA6z1T4nw+9fw==",
3816 + "requires": {
3817 + "cont": "^1.0.3",
3818 + "level": "^3.0.0",
3819 + "multiblob": "^1.12.0",
3820 + "pull-level": "^2.0.4",
3821 + "pull-notify": "^0.1.0",
3822 + "pull-stream": "^3.3.0",
3823 + "ssb-ref": "^2.3.0"
3824 + },
3825 + "dependencies": {
3826 + "abstract-leveldown": {
3827 + "version": "4.0.3",
3828 + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-4.0.3.tgz",
3829 + "integrity": "sha512-qsIHFQy0u17JqSY+3ZUT+ykqxYY17yOfvAsLkFkw8kSQqi05d1jyj0bCuSX6sjYlXuY9cKpgUt5EudQdP4aXyA==",
3830 + "requires": {
3831 + "xtend": "~4.0.0"
3832 + }
3833 + },
3834 + "bindings": {
3835 + "version": "1.3.0",
3836 + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz",
3837 + "integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw=="
3838 + },
3839 + "deferred-leveldown": {
3840 + "version": "3.0.0",
3841 + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-3.0.0.tgz",
3842 + "integrity": "sha512-ajbXqRPMXRlcdyt0TuWqknOJkp1JgQjGB7xOl2V+ebol7/U11E9h3/nCZAtN1M7djmAJEIhypCUc1tIWxdQAuQ==",
3843 + "requires": {
3844 + "abstract-leveldown": "~4.0.0"
3845 + }
3846 + },
3847 + "isarray": {
3848 + "version": "1.0.0",
3849 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
3850 + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
3851 + },
3852 + "level": {
3853 + "version": "3.0.2",
3854 + "resolved": "https://registry.npmjs.org/level/-/level-3.0.2.tgz",
3855 + "integrity": "sha512-2qYbbiptPsPWGUI+AgB1gTNXqIjPpALRqrQyNx1zWYNZxhhuzEj/IE4Unu9weEBnsUEocfYe56xOGlAceb8/Fg==",
3856 + "requires": {
3857 + "level-packager": "^2.0.2",
3858 + "leveldown": "^3.0.0",
3859 + "opencollective-postinstall": "^2.0.0"
3860 + }
3861 + },
3862 + "level-errors": {
3863 + "version": "1.1.2",
3864 + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.1.2.tgz",
3865 + "integrity": "sha512-Sw/IJwWbPKF5Ai4Wz60B52yj0zYeqzObLh8k1Tk88jVmD51cJSKWSYpRyhVIvFzZdvsPqlH5wfhp/yxdsaQH4w==",
3866 + "requires": {
3867 + "errno": "~0.1.1"
3868 + }
3869 + },
3870 + "level-iterator-stream": {
3871 + "version": "2.0.3",
3872 + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-2.0.3.tgz",
3873 + "integrity": "sha512-I6Heg70nfF+e5Y3/qfthJFexhRw/Gi3bIymCoXAlijZdAcLaPuWSJs3KXyTYf23ID6g0o2QF62Yh+grOXY3Rig==",
3874 + "requires": {
3875 + "inherits": "^2.0.1",
3876 + "readable-stream": "^2.0.5",
3877 + "xtend": "^4.0.0"
3878 + }
3879 + },
3880 + "level-packager": {
3881 + "version": "2.1.1",
3882 + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-2.1.1.tgz",
3883 + "integrity": "sha512-6l3G6dVkmdvHwOJrEA9d9hL6SSFrzwjQoLP8HsvohOgfY/8Z9LyTKNCM5Gc84wtsUWCuIHu6r+S6WrCtTWUJCw==",
3884 + "requires": {
3885 + "encoding-down": "~4.0.0",
3886 + "levelup": "^2.0.0"
3887 + }
3888 + },
3889 + "leveldown": {
3890 + "version": "3.0.2",
3891 + "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-3.0.2.tgz",
3892 + "integrity": "sha512-+ANRScj1npQQzv6e4DYAKRjVQZZ+ahMoubKrNP68nIq+l9bYgb+WiXF+14oTcQTg2f7qE9WHGW7rBG9nGSsA+A==",
3893 + "requires": {
3894 + "abstract-leveldown": "~4.0.0",
3895 + "bindings": "~1.3.0",
3896 + "fast-future": "~1.0.2",
3897 + "nan": "~2.10.0",
3898 + "prebuild-install": "^4.0.0"
3899 + }
3900 + },
3901 + "levelup": {
3902 + "version": "2.0.2",
3903 + "resolved": "https://registry.npmjs.org/levelup/-/levelup-2.0.2.tgz",
3904 + "integrity": "sha512-us+nTLUyd/eLnclYYddOCdAVw1hnymGx/9p4Jr5ThohStsjLqMVmbYiz6/SYFZEPXNF+AKQSvh6fA2e2KZpC8w==",
3905 + "requires": {
3906 + "deferred-leveldown": "~3.0.0",
3907 + "level-errors": "~1.1.0",
3908 + "level-iterator-stream": "~2.0.0",
3909 + "xtend": "~4.0.0"
3910 + }
3911 + },
3912 + "prebuild-install": {
3913 + "version": "4.0.0",
3914 + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-4.0.0.tgz",
3915 + "integrity": "sha512-7tayxeYboJX0RbVzdnKyGl2vhQRWr6qfClEXDhOkXjuaOKCw2q8aiuFhONRYVsG/czia7KhpykIlI2S2VaPunA==",
3916 + "requires": {
3917 + "detect-libc": "^1.0.3",
3918 + "expand-template": "^1.0.2",
3919 + "github-from-package": "0.0.0",
3920 + "minimist": "^1.2.0",
3921 + "mkdirp": "^0.5.1",
3922 + "node-abi": "^2.2.0",
3923 + "noop-logger": "^0.1.1",
3924 + "npmlog": "^4.0.1",
3925 + "os-homedir": "^1.0.1",
3926 + "pump": "^2.0.1",
3927 + "rc": "^1.1.6",
3928 + "simple-get": "^2.7.0",
3929 + "tar-fs": "^1.13.0",
3930 + "tunnel-agent": "^0.6.0",
3931 + "which-pm-runs": "^1.0.0"
3932 + }
3933 + },
3934 + "readable-stream": {
3935 + "version": "2.3.6",
3936 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
3937 + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
3938 + "requires": {
3939 + "core-util-is": "~1.0.0",
3940 + "inherits": "~2.0.3",
3941 + "isarray": "~1.0.0",
3942 + "process-nextick-args": "~2.0.0",
3943 + "safe-buffer": "~5.1.1",
3944 + "string_decoder": "~1.1.1",
3945 + "util-deprecate": "~1.0.1"
3946 + }
3947 + },
3948 + "string_decoder": {
3949 + "version": "1.1.1",
3950 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
3951 + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
3952 + "requires": {
3953 + "safe-buffer": "~5.1.0"
3954 + }
3955 + }
3956 + }
3957 + },
3958 + "ssb-client": {
3959 + "version": "4.5.7",
3960 + "resolved": "https://registry.npmjs.org/ssb-client/-/ssb-client-4.5.7.tgz",
3961 + "integrity": "sha512-mEOyMlX6sGEUStU02vdSPD4j9ZRQQe3WCQwZCtgOkkrJpp7ARHxC0dx8ahumyq/vUIYWqQSAHHMD0+R63GmpGg==",
3962 + "requires": {
3963 + "explain-error": "^1.0.1",
3964 + "multicb": "^1.2.1",
3965 + "multiserver": "^1.7.0",
3966 + "muxrpc": "^6.4.0",
3967 + "pull-hash": "^1.0.0",
3968 + "pull-stream": "^3.6.0",
3969 + "ssb-config": "^2.2.0",
3970 + "ssb-keys": "^7.0.13"
3971 + }
3972 + },
3973 + "ssb-config": {
3974 + "version": "2.2.0",
3975 + "resolved": "https://registry.npmjs.org/ssb-config/-/ssb-config-2.2.0.tgz",
3976 + "integrity": "sha1-QcrQOKhXWvQGLT/VfTsWe+hbA7w=",
3977 + "requires": {
3978 + "deep-extend": "^0.4.0",
3979 + "non-private-ip": "^1.2.1",
3980 + "os-homedir": "^1.0.1",
3981 + "rc": "^1.1.6"
3982 + },
3983 + "dependencies": {
3984 + "deep-extend": {
3985 + "version": "0.4.2",
3986 + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
3987 + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8="
3988 + },
3989 + "ip": {
3990 + "version": "1.1.5",
3991 + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
3992 + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
3993 + },
3994 + "non-private-ip": {
3995 + "version": "1.4.4",
3996 + "resolved": "https://registry.npmjs.org/non-private-ip/-/non-private-ip-1.4.4.tgz",
3997 + "integrity": "sha512-K9nTVFOGUOYutaG8ywiKpCdVu458RFxSgSJ0rribUxtf5iLM9B2+raFJgkID3p5op0+twmoQqFaPnu9KYz6qzg==",
3998 + "requires": {
3999 + "ip": "^1.1.5"
4000 + }
4001 + }
4002 + }
4003 + },
4004 + "ssb-ebt": {
4005 + "version": "2.0.0",
4006 + "resolved": "https://registry.npmjs.org/ssb-ebt/-/ssb-ebt-2.0.0.tgz",
4007 + "integrity": "sha1-AH++lu8/jDCjOYaB4WK6DWLsZMA=",
4008 + "requires": {
4009 + "base64-url": "^1.3.3",
4010 + "cont": "^1.0.3",
4011 + "epidemic-broadcast-trees": "^3.0.1",
4012 + "lossy-store": "^1.2.1",
4013 + "obv": "0.0.1",
4014 + "pull-cont": "^0.1.1",
4015 + "pull-stream": "^3.5.0"
4016 + },
4017 + "dependencies": {
4018 + "pull-cont": {
4019 + "version": "0.1.1",
4020 + "resolved": "https://registry.npmjs.org/pull-cont/-/pull-cont-0.1.1.tgz",
4021 + "integrity": "sha1-3x1YDicXV7qay666IN4kIdZg1hg="
4022 + }
4023 + }
4024 + },
4025 + "ssb-feed": {
4026 + "version": "2.3.0",
4027 + "resolved": "https://registry.npmjs.org/ssb-feed/-/ssb-feed-2.3.0.tgz",
4028 + "integrity": "sha1-uE6OApeg9ZBMTPWiAvdroeB40Ec=",
4029 + "requires": {
4030 + "cont": "~1.0.3",
4031 + "monotonic-timestamp": "~0.0.9",
4032 + "pull-stream": "^3.4.2",
4033 + "ssb-keys": "^7.0.0",
4034 + "ssb-ref": "^2.0.0"
4035 + }
4036 + },
4037 + "ssb-friends": {
4038 + "version": "2.4.0",
4039 + "resolved": "https://registry.npmjs.org/ssb-friends/-/ssb-friends-2.4.0.tgz",
4040 + "integrity": "sha1-DUDNlqEvIznJBkqK0dWnE+kcV64=",
4041 + "requires": {
4042 + "flumeview-reduce": "^1.3.0",
4043 + "graphreduce": "^3.0.3",
4044 + "obv": "0.0.1",
4045 + "pull-cont": "^0.1.1",
4046 + "pull-flatmap": "0.0.1",
4047 + "pull-stream": "^3.6.0",
4048 + "ssb-ref": "^2.7.1"
4049 + },
4050 + "dependencies": {
4051 + "pull-cont": {
4052 + "version": "0.1.1",
4053 + "resolved": "https://registry.npmjs.org/pull-cont/-/pull-cont-0.1.1.tgz",
4054 + "integrity": "sha1-3x1YDicXV7qay666IN4kIdZg1hg="
4055 + }
4056 + }
4057 + },
4058 + "ssb-keys": {
4059 + "version": "7.0.16",
4060 + "resolved": "https://registry.npmjs.org/ssb-keys/-/ssb-keys-7.0.16.tgz",
4061 + "integrity": "sha512-EhLkRzgF7YaRc47L8YZb+TcxEXZy9DPWCF+vCt5nSNm8Oj+Pz8pBVSOlrLKZVbcAKFjIJhqY32oTjknu3E1KVQ==",
4062 + "requires": {
4063 + "chloride": "^2.2.8",
4064 + "mkdirp": "~0.5.0",
4065 + "private-box": "^0.2.1"
4066 + }
4067 + },
4068 + "ssb-links": {
4069 + "version": "3.0.3",
4070 + "resolved": "https://registry.npmjs.org/ssb-links/-/ssb-links-3.0.3.tgz",
4071 + "integrity": "sha512-x09ShIMjwvdZI7aDZm8kc1v5YCGZa9ulCOoxrf/RYJ98s5gbTfO9CBCzeMBAeQ5kRwSuKjiOxJHdeEBkj4Y6hw==",
4072 + "requires": {
4073 + "flumeview-query": "^6.0.0",
4074 + "map-filter-reduce": "^2.0.0",
4075 + "pull-stream": "^3.1.0",
4076 + "ssb-msgs": "^5.2.0"
4077 + }
4078 + },
4079 + "ssb-msgs": {
4080 + "version": "5.2.0",
4081 + "resolved": "https://registry.npmjs.org/ssb-msgs/-/ssb-msgs-5.2.0.tgz",
4082 + "integrity": "sha1-xoHaXNcMV0ySLcpPA8UhU4E1wkM=",
4083 + "requires": {
4084 + "ssb-ref": "^2.0.0"
4085 + }
4086 + },
4087 + "ssb-names": {
4088 + "version": "3.1.2",
4089 + "resolved": "https://registry.npmjs.org/ssb-names/-/ssb-names-3.1.2.tgz",
4090 + "integrity": "sha512-W7ELI/taHGEGPuQ94jIc9xacz37p88XxUvw/7+dZC9emeB3AMm+4Q0Ct4lE2yFQrVd7DONqEpsS/5kxt0kpXkQ==",
4091 + "requires": {
4092 + "flumeview-reduce": "^1.0.2",
4093 + "graphreduce": "^3.0.0",
4094 + "ssb-msgs": "^5.2.0",
4095 + "ssb-ref": "^2.6.2"
4096 + }
4097 + },
4098 + "ssb-ooo": {
4099 + "version": "1.0.9",
4100 + "resolved": "https://registry.npmjs.org/ssb-ooo/-/ssb-ooo-1.0.9.tgz",
4101 + "integrity": "sha1-Lz2Z+FuNx6OEHp/0CgsKmz/nYGQ=",
4102 + "requires": {
4103 + "flumecodec": "0.0.1",
4104 + "flumedb": "^0.4.2",
4105 + "flumelog-offset": "^3.2.5",
4106 + "flumeview-hashtable": "^1.0.2",
4107 + "gossip-query": "^0.2.1",
4108 + "mkdirp": "^0.5.1",
4109 + "pull-stream": "^3.6.1",
4110 + "ssb-keys": "^7.0.12",
4111 + "ssb-ref": "^2.7.1"
4112 + },
4113 + "dependencies": {
4114 + "flumecodec": {
4115 + "version": "0.0.1",
4116 + "resolved": "https://registry.npmjs.org/flumecodec/-/flumecodec-0.0.1.tgz",
4117 + "integrity": "sha1-rgSacUOGu4PjQmV6gpJLcDZKkNY=",
4118 + "requires": {
4119 + "level-codec": "^6.2.0"
4120 + }
4121 + }
4122 + }
4123 + },
4124 + "ssb-query": {
4125 + "version": "1.0.2",
4126 + "resolved": "https://registry.npmjs.org/ssb-query/-/ssb-query-1.0.2.tgz",
4127 + "integrity": "sha1-uFZH3vSG51cGehEqr2PqHPx0cTM=",
4128 + "requires": {
4129 + "explain-error": "^1.0.1",
4130 + "flumeview-query": "^4.0.1",
4131 + "pull-stream": "^3.4.2"
4132 + },
4133 + "dependencies": {
4134 + "flumeview-query": {
4135 + "version": "4.0.1",
4136 + "resolved": "https://registry.npmjs.org/flumeview-query/-/flumeview-query-4.0.1.tgz",
4137 + "integrity": "sha1-HNTf2S8acBKN2dgN3qqdRJVuzO0=",
4138 + "requires": {
4139 + "explain-error": "^1.0.1",
4140 + "flumeview-level": "^2.1.0",
4141 + "map-filter-reduce": "^3.0.2",
4142 + "pull-flatmap": "0.0.1",
4143 + "pull-paramap": "^1.1.3",
4144 + "pull-sink-through": "0.0.0",
4145 + "pull-stream": "^3.4.0"
4146 + }
4147 + },
4148 + "map-filter-reduce": {
4149 + "version": "3.1.0",
4150 + "resolved": "https://registry.npmjs.org/map-filter-reduce/-/map-filter-reduce-3.1.0.tgz",
4151 + "integrity": "sha512-os2GlG1lEWRSAvAb9iqfapQ0I1GRXSA+alSjQl0DB7XxNyDx2/VOVAEVhK7EMsqwDDCWNTBSstoo1roc7U5H0w==",
4152 + "requires": {
4153 + "binary-search": "^1.2.0",
4154 + "pull-sink-through": "0.0.0",
4155 + "pull-stream": "^3.4.3",
4156 + "typewiselite": "^1.0.0"
4157 + }
4158 + }
4159 + }
4160 + },
4161 + "ssb-ref": {
4162 + "version": "2.11.1",
4163 + "resolved": "https://registry.npmjs.org/ssb-ref/-/ssb-ref-2.11.1.tgz",
4164 + "integrity": "sha512-K3L9hJ1v0HrH8abtEKiBkdeabHVaws+CS81mZqUfhR84i0dlYhiIIDwqeLxUj/1mLcsZPF3gMKPsFCUr7UAdMA==",
4165 + "requires": {
4166 + "ip": "^1.1.3",
4167 + "is-valid-domain": "~0.0.1"
4168 + },
4169 + "dependencies": {
4170 + "ip": {
4171 + "version": "1.1.5",
4172 + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
4173 + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
4174 + }
4175 + }
4176 + },
4177 + "ssb-sort": {
4178 + "version": "0.0.0",
4179 + "resolved": "https://registry.npmjs.org/ssb-sort/-/ssb-sort-0.0.0.tgz",
4180 + "integrity": "sha1-OEwus/pIzEbF8R1Za/aGYZ+ol58=",
4181 + "requires": {
4182 + "ssb-ref": "^2.3.0"
4183 + }
4184 + },
4185 + "ssb-web-resolver": {
4186 + "version": "1.1.2",
4187 + "resolved": "https://registry.npmjs.org/ssb-web-resolver/-/ssb-web-resolver-1.1.2.tgz",
4188 + "integrity": "sha1-Cpl0gNWMkSCohUY6ocixHonv4V4=",
4189 + "requires": {
4190 + "pull-stream": "^3.6.2"
4191 + }
4192 + },
4193 + "ssb-ws": {
4194 + "version": "2.1.1",
4195 + "resolved": "https://registry.npmjs.org/ssb-ws/-/ssb-ws-2.1.1.tgz",
4196 + "integrity": "sha512-1fK/jXI6lKZadRJDr49t+6yMmWynp6PFrADs3Whmy8IslnYGl83ujhlpRIBvCn1EuVHjV7yLsIiJ8a0X2Kg0DQ==",
4197 + "requires": {
4198 + "emoji-server": "^1.0.0",
4199 + "multiblob-http": "^0.4.1",
4200 + "multiserver": "^1.2.0",
4201 + "muxrpc": "^6.3.3",
4202 + "pull-box-stream": "^1.0.13",
4203 + "ssb-ref": "^2.3.0",
4204 + "stack": "^0.1.0"
4205 + },
4206 + "dependencies": {
4207 + "multiblob-http": {
4208 + "version": "0.4.2",
4209 + "resolved": "https://registry.npmjs.org/multiblob-http/-/multiblob-http-0.4.2.tgz",
4210 + "integrity": "sha512-hVaXryaqJ3vvKjRNcOCEadzgO99nR+haxlptswr3vRvgavbK/Y/I7/Nat12WIQno2/A8+nkbE+ZcrsN3UDbtQw==",
4211 + "requires": {
4212 + "pull-stream": "^3.4.3",
4213 + "stream-to-pull-stream": "^1.7.0"
4214 + }
4215 + }
4216 + }
4217 + },
4218 + "stack": {
4219 + "version": "0.1.0",
4220 + "resolved": "https://registry.npmjs.org/stack/-/stack-0.1.0.tgz",
4221 + "integrity": "sha1-6SNZipvlHmF2gsshzxsoGKRJraI="
4222 + },
4223 + "statistics": {
4224 + "version": "3.3.0",
4225 + "resolved": "https://registry.npmjs.org/statistics/-/statistics-3.3.0.tgz",
4226 + "integrity": "sha1-7HtHUP8DqySmTdmzV6eDFr6teKo="
4227 + },
4228 + "stream-slicer": {
4229 + "version": "0.0.6",
4230 + "resolved": "https://registry.npmjs.org/stream-slicer/-/stream-slicer-0.0.6.tgz",
4231 + "integrity": "sha1-+GsqxcJEC3oKh7cfM2ZcB4gEYTg=",
4232 + "optional": true
4233 + },
4234 + "stream-to-pull-stream": {
4235 + "version": "1.7.2",
4236 + "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.2.tgz",
4237 + "integrity": "sha1-dXYJrhzr0zx0MtSvvjH/eGULnd4=",
4238 + "requires": {
4239 + "looper": "^3.0.0",
4240 + "pull-stream": "^3.2.3"
4241 + },
4242 + "dependencies": {
4243 + "looper": {
4244 + "version": "3.0.0",
4245 + "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz",
4246 + "integrity": "sha1-LvpUw7HLq6m5Su4uWRSwvlf7t0k="
4247 + }
4248 + }
4249 + },
4250 + "string-width": {
4251 + "version": "1.0.2",
4252 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
4253 + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
4254 + "requires": {
4255 + "code-point-at": "^1.0.0",
4256 + "is-fullwidth-code-point": "^1.0.0",
4257 + "strip-ansi": "^3.0.0"
4258 + }
4259 + },
4260 + "string.prototype.trim": {
4261 + "version": "1.1.2",
4262 + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz",
4263 + "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=",
4264 + "requires": {
4265 + "define-properties": "^1.1.2",
4266 + "es-abstract": "^1.5.0",
4267 + "function-bind": "^1.0.2"
4268 + }
4269 + },
4270 + "string_decoder": {
4271 + "version": "0.10.31",
4272 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
4273 + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
4274 + },
4275 + "stringify-entities": {
4276 + "version": "1.3.2",
4277 + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz",
4278 + "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==",
4279 + "requires": {
4280 + "character-entities-html4": "^1.0.0",
4281 + "character-entities-legacy": "^1.0.0",
4282 + "is-alphanumerical": "^1.0.0",
4283 + "is-hexadecimal": "^1.0.0"
4284 + }
4285 + },
4286 + "strip-ansi": {
4287 + "version": "3.0.1",
4288 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
4289 + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
4290 + "requires": {
4291 + "ansi-regex": "^2.0.0"
4292 + }
4293 + },
4294 + "strip-json-comments": {
4295 + "version": "2.0.1",
4296 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
4297 + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
4298 + },
4299 + "supports-color": {
4300 + "version": "2.0.0",
4301 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
4302 + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
4303 + },
4304 + "systray": {
4305 + "version": "1.0.5",
4306 + "resolved": "https://registry.npmjs.org/systray/-/systray-1.0.5.tgz",
4307 + "integrity": "sha512-qLsl5lk8lUuqCTaREJ0nR6NgF2y2Ni01vBjUs0cVWf54ZeV4pr3TFLMcUT+od1Twb1qQMq/SKyj+BKd2vg6+Fg==",
4308 + "requires": {
4309 + "debug": "^3.0.1",
4310 + "fs-extra": "^4.0.2"
4311 + },
4312 + "dependencies": {
4313 + "debug": {
4314 + "version": "3.1.0",
4315 + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
4316 + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
4317 + "requires": {
4318 + "ms": "2.0.0"
4319 + }
4320 + }
4321 + }
4322 + },
4323 + "tape": {
4324 + "version": "4.9.1",
4325 + "resolved": "https://registry.npmjs.org/tape/-/tape-4.9.1.tgz",
4326 + "integrity": "sha512-6fKIXknLpoe/Jp4rzHKFPpJUHDHDqn8jus99IfPnHIjyz78HYlefTGD3b5EkbQzuLfaEvmfPK3IolLgq2xT3kw==",
4327 + "requires": {
4328 + "deep-equal": "~1.0.1",
4329 + "defined": "~1.0.0",
4330 + "for-each": "~0.3.3",
4331 + "function-bind": "~1.1.1",
4332 + "glob": "~7.1.2",
4333 + "has": "~1.0.3",
4334 + "inherits": "~2.0.3",
4335 + "minimist": "~1.2.0",
4336 + "object-inspect": "~1.6.0",
4337 + "resolve": "~1.7.1",
4338 + "resumer": "~0.0.0",
4339 + "string.prototype.trim": "~1.1.2",
4340 + "through": "~2.3.8"
4341 + },
4342 + "dependencies": {
4343 + "glob": {
4344 + "version": "7.1.2",
4345 + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
4346 + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
4347 + "requires": {
4348 + "fs.realpath": "^1.0.0",
4349 + "inflight": "^1.0.4",
4350 + "inherits": "2",
4351 + "minimatch": "^3.0.4",
4352 + "once": "^1.3.0",
4353 + "path-is-absolute": "^1.0.0"
4354 + }
4355 + }
4356 + }
4357 + },
4358 + "tar-fs": {
4359 + "version": "1.16.3",
4360 + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz",
4361 + "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==",
4362 + "requires": {
4363 + "chownr": "^1.0.1",
4364 + "mkdirp": "^0.5.1",
4365 + "pump": "^1.0.0",
4366 + "tar-stream": "^1.1.2"
4367 + },
4368 + "dependencies": {
4369 + "pump": {
4370 + "version": "1.0.3",
4371 + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz",
4372 + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==",
4373 + "requires": {
4374 + "end-of-stream": "^1.1.0",
4375 + "once": "^1.3.1"
4376 + }
4377 + }
4378 + }
4379 + },
4380 + "tar-stream": {
4381 + "version": "1.6.1",
4382 + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.1.tgz",
4383 + "integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==",
4384 + "requires": {
4385 + "bl": "^1.0.0",
4386 + "buffer-alloc": "^1.1.0",
4387 + "end-of-stream": "^1.0.0",
4388 + "fs-constants": "^1.0.0",
4389 + "readable-stream": "^2.3.0",
4390 + "to-buffer": "^1.1.0",
4391 + "xtend": "^4.0.0"
4392 + },
4393 + "dependencies": {
4394 + "bl": {
4395 + "version": "1.2.2",
4396 + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
4397 + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
4398 + "requires": {
4399 + "readable-stream": "^2.3.5",
4400 + "safe-buffer": "^5.1.1"
4401 + }
4402 + },
4403 + "isarray": {
4404 + "version": "1.0.0",
4405 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
4406 + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
4407 + },
4408 + "readable-stream": {
4409 + "version": "2.3.6",
4410 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
4411 + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
4412 + "requires": {
4413 + "core-util-is": "~1.0.0",
4414 + "inherits": "~2.0.3",
4415 + "isarray": "~1.0.0",
4416 + "process-nextick-args": "~2.0.0",
4417 + "safe-buffer": "~5.1.1",
4418 + "string_decoder": "~1.1.1",
4419 + "util-deprecate": "~1.0.1"
4420 + }
4421 + },
4422 + "string_decoder": {
4423 + "version": "1.1.1",
4424 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
4425 + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
4426 + "requires": {
4427 + "safe-buffer": "~5.1.0"
4428 + }
4429 + }
4430 + }
4431 + },
4432 + "text-table": {
4433 + "version": "0.2.0",
4434 + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
4435 + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ="
4436 + },
4437 + "through": {
4438 + "version": "2.3.8",
4439 + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
4440 + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
4441 + },
4442 + "through2": {
4443 + "version": "0.6.5",
4444 + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
4445 + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
4446 + "optional": true,
4447 + "requires": {
4448 + "readable-stream": ">=1.0.33-1 <1.1.0-0",
4449 + "xtend": ">=4.0.0 <4.1.0-0"
4450 + }
4451 + },
4452 + "to-buffer": {
4453 + "version": "1.1.1",
4454 + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
4455 + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg=="
4456 + },
4457 + "to-vfile": {
4458 + "version": "1.0.0",
4459 + "resolved": "https://registry.npmjs.org/to-vfile/-/to-vfile-1.0.0.tgz",
4460 + "integrity": "sha1-iN7+zUOtsu9ZhiXw49WffzQpQbo=",
4461 + "requires": {
4462 + "vfile": "^1.0.0"
4463 + }
4464 + },
4465 + "trim": {
4466 + "version": "0.0.1",
4467 + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
4468 + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0="
4469 + },
4470 + "trim-lines": {
4471 + "version": "1.1.1",
4472 + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-1.1.1.tgz",
4473 + "integrity": "sha512-X+eloHbgJGxczUk1WSjIvn7aC9oN3jVE3rQfRVKcgpavi3jxtCn0VVKtjOBj64Yop96UYn/ujJRpTbCdAF1vyg=="
4474 + },
4475 + "trim-trailing-lines": {
4476 + "version": "1.1.1",
4477 + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.1.tgz",
4478 + "integrity": "sha512-bWLv9BbWbbd7mlqqs2oQYnLD/U/ZqeJeJwbO0FG2zA1aTq+HTvxfHNKFa/HGCVyJpDiioUYaBhfiT6rgk+l4mg=="
4479 + },
4480 + "tunnel-agent": {
4481 + "version": "0.6.0",
4482 + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
4483 + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
4484 + "requires": {
4485 + "safe-buffer": "^5.0.1"
4486 + }
4487 + },
4488 + "tweetnacl": {
4489 + "version": "0.14.5",
4490 + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
4491 + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
4492 + },
4493 + "tweetnacl-auth": {
4494 + "version": "0.3.1",
4495 + "resolved": "https://registry.npmjs.org/tweetnacl-auth/-/tweetnacl-auth-0.3.1.tgz",
4496 + "integrity": "sha1-t1vC3xVkm7hOi5qjwGacbEvODSU=",
4497 + "requires": {
4498 + "tweetnacl": "0.x.x"
4499 + }
4500 + },
4501 + "typedarray": {
4502 + "version": "0.0.6",
4503 + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
4504 + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
4505 + },
4506 + "typewise": {
4507 + "version": "1.0.3",
4508 + "resolved": "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz",
4509 + "integrity": "sha1-EGeTZUCvl5N8xdz5kiSG6fooRlE=",
4510 + "requires": {
4511 + "typewise-core": "^1.2.0"
4512 + }
4513 + },
4514 + "typewise-core": {
4515 + "version": "1.2.0",
4516 + "resolved": "https://registry.npmjs.org/typewise-core/-/typewise-core-1.2.0.tgz",
4517 + "integrity": "sha1-l+uRgFx/VdL5QXSPpQ0xXZke8ZU="
4518 + },
4519 + "typewiselite": {
4520 + "version": "1.0.0",
4521 + "resolved": "https://registry.npmjs.org/typewiselite/-/typewiselite-1.0.0.tgz",
4522 + "integrity": "sha1-yIgvobsQksBgBal/NO9chQjjZk4="
4523 + },
4524 + "uint48be": {
4525 + "version": "1.0.2",
4526 + "resolved": "https://registry.npmjs.org/uint48be/-/uint48be-1.0.2.tgz",
4527 + "integrity": "sha512-jNn1eEi81BLiZfJkjbiAKPDMj7iFrturKazqpBu0aJYLr6evgkn+9rgkX/gUwPBj5j2Ri5oUelsqC/S1zmpWBA=="
4528 + },
4529 + "ultron": {
4530 + "version": "1.0.2",
4531 + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
4532 + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po="
4533 + },
4534 + "unherit": {
4535 + "version": "1.1.1",
4536 + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.1.tgz",
4537 + "integrity": "sha512-+XZuV691Cn4zHsK0vkKYwBEwB74T3IZIcxrgn2E4rKwTfFyI1zCh7X7grwh9Re08fdPlarIdyWgI8aVB3F5A5g==",
4538 + "requires": {
4539 + "inherits": "^2.0.1",
4540 + "xtend": "^4.0.1"
4541 + }
4542 + },
4543 + "unified": {
4544 + "version": "2.1.4",
4545 + "resolved": "https://registry.npmjs.org/unified/-/unified-2.1.4.tgz",
4546 + "integrity": "sha1-FLxs1A2Y//91tAVQa62HPsu6w7o=",
4547 + "requires": {
4548 + "attach-ware": "^1.0.0",
4549 + "bail": "^1.0.0",
4550 + "extend": "^3.0.0",
4551 + "unherit": "^1.0.4",
4552 + "vfile": "^1.0.0",
4553 + "ware": "^1.3.0"
4554 + }
4555 + },
4556 + "unist-util-is": {
4557 + "version": "2.1.2",
4558 + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.2.tgz",
4559 + "integrity": "sha512-YkXBK/H9raAmG7KXck+UUpnKiNmUdB+aBGrknfQ4EreE1banuzrKABx3jP6Z5Z3fMSPMQQmeXBlKpCbMwBkxVw=="
4560 + },
4561 + "unist-util-visit": {
4562 + "version": "1.3.1",
4563 + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.1.tgz",
4564 + "integrity": "sha512-0fdB9EQJU0tho5tK0VzOJzAQpPv2LyLZ030b10GxuzAWEfvd54mpY7BMjQ1L69k2YNvL+SvxRzH0yUIehOO8aA==",
4565 + "requires": {
4566 + "unist-util-is": "^2.1.1"
4567 + }
4568 + },
4569 + "universalify": {
4570 + "version": "0.1.2",
4571 + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
4572 + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
4573 + },
4574 + "untildify": {
4575 + "version": "2.1.0",
4576 + "resolved": "https://registry.npmjs.org/untildify/-/untildify-2.1.0.tgz",
4577 + "integrity": "sha1-F+soB5h/dpUunASF/DEdBqgmouA=",
4578 + "requires": {
4579 + "os-homedir": "^1.0.0"
4580 + }
4581 + },
4582 + "url-join": {
4583 + "version": "2.0.5",
4584 + "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz",
4585 + "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg="
4586 + },
4587 + "user-home": {
4588 + "version": "2.0.0",
4589 + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
4590 + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=",
4591 + "requires": {
4592 + "os-homedir": "^1.0.0"
4593 + }
4594 + },
4595 + "util-deprecate": {
4596 + "version": "1.0.2",
4597 + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
4598 + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
4599 + },
4600 + "vfile": {
4601 + "version": "1.4.0",
4602 + "resolved": "https://registry.npmjs.org/vfile/-/vfile-1.4.0.tgz",
4603 + "integrity": "sha1-wP1vpIT43r23cfaMMe112I2pf+c="
4604 + },
4605 + "vfile-find-down": {
4606 + "version": "1.0.0",
4607 + "resolved": "https://registry.npmjs.org/vfile-find-down/-/vfile-find-down-1.0.0.tgz",
4608 + "integrity": "sha1-hKTWbQNRP2FAqE4Hdu8ISNTwrZU=",
4609 + "requires": {
4610 + "to-vfile": "^1.0.0"
4611 + }
4612 + },
4613 + "vfile-find-up": {
4614 + "version": "1.0.0",
4615 + "resolved": "https://registry.npmjs.org/vfile-find-up/-/vfile-find-up-1.0.0.tgz",
4616 + "integrity": "sha1-VgTab+RTs0NQY3mE61/kkJ4oA5A=",
4617 + "requires": {
4618 + "to-vfile": "^1.0.0"
4619 + }
4620 + },
4621 + "vfile-reporter": {
4622 + "version": "1.5.0",
4623 + "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-1.5.0.tgz",
4624 + "integrity": "sha1-IacAm/5V4k34/0Mqpb9vbvp05Bg=",
4625 + "requires": {
4626 + "chalk": "^1.1.0",
4627 + "log-symbols": "^1.0.2",
4628 + "plur": "^2.0.0",
4629 + "repeat-string": "^1.5.0",
4630 + "string-width": "^1.0.0",
4631 + "text-table": "^0.2.0",
4632 + "vfile-sort": "^1.0.0"
4633 + }
4634 + },
4635 + "vfile-sort": {
4636 + "version": "1.0.0",
4637 + "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-1.0.0.tgz",
4638 + "integrity": "sha1-F+5JG6Q+iVG7IpE/z/MqfcTSNNQ="
4639 + },
4640 + "ware": {
4641 + "version": "1.3.0",
4642 + "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz",
4643 + "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=",
4644 + "requires": {
4645 + "wrap-fn": "^0.1.0"
4646 + }
4647 + },
4648 + "web-bootloader": {
4649 + "version": "0.1.2",
4650 + "resolved": "https://registry.npmjs.org/web-bootloader/-/web-bootloader-0.1.2.tgz",
4651 + "integrity": "sha1-3hgiTOmGMz6piMOON26IGPKQJIY=",
4652 + "requires": {
4653 + "arraybuffer-base64": "^1.0.0",
4654 + "binary-xhr": "0.0.2",
4655 + "hyperfile": "^1.1.1",
4656 + "hyperprogress": "^0.1.0"
4657 + }
4658 + },
4659 + "which": {
4660 + "version": "1.3.1",
4661 + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
4662 + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
4663 + "requires": {
4664 + "isexe": "^2.0.0"
4665 + }
4666 + },
4667 + "which-pm-runs": {
4668 + "version": "1.0.0",
4669 + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz",
4670 + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs="
4671 + },
4672 + "wide-align": {
4673 + "version": "1.1.3",
4674 + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
4675 + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
4676 + "requires": {
4677 + "string-width": "^1.0.2 || 2"
4678 + }
4679 + },
4680 + "word-wrap": {
4681 + "version": "1.2.3",
4682 + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
4683 + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
4684 + },
4685 + "wrap-fn": {
4686 + "version": "0.1.5",
4687 + "resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz",
4688 + "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=",
4689 + "requires": {
4690 + "co": "3.1.0"
4691 + }
4692 + },
4693 + "wrappy": {
4694 + "version": "1.0.2",
4695 + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
4696 + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
4697 + },
4698 + "ws": {
4699 + "version": "1.1.5",
4700 + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
4701 + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==",
4702 + "requires": {
4703 + "options": ">=0.0.5",
4704 + "ultron": "1.0.x"
4705 + }
4706 + },
4707 + "xtend": {
4708 + "version": "4.0.1",
4709 + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
4710 + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
4711 + },
4712 + "yallist": {
4713 + "version": "2.1.2",
4714 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
4715 + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
4716 + },
4717 + "zerr": {
4718 + "version": "1.0.4",
4719 + "resolved": "https://registry.npmjs.org/zerr/-/zerr-1.0.4.tgz",
4720 + "integrity": "sha1-YoFN15nv+DYfKiKPQfcFxeGd5Mk="
4721 + }
4722 + }
4723 +}
package.jsonView
@@ -1,0 +1,53 @@
1 +{
2 + "name": "scuttle-shell",
3 + "description": "A system tray app for running Secure Scuttlebutt on your local system",
4 + "version": "0.0.1",
5 + "author": {
6 + "name": "Andre Alves Garzia",
7 + "email": "andre@andregarzia.com",
8 + "url": "http://andregarzia.com"
9 + },
10 + "homepage": "https://github.com/soapdog/scuttle-shell",
11 + "repository": {
12 + "type": "git",
13 + "url": "git://github.com/soapdog/scuttle-shell.git"
14 + },
15 + "bin": {
16 + "scuttleshell": "./server.js"
17 + },
18 + "dependencies": {
19 + "chrome-native-messaging": "^0.2.0",
20 + "ecstatic": "^3.1.0",
21 + "minimist": "^1.2.0",
22 + "node-notifier": "^5.2.1",
23 + "scuttlebot": "10.4.10",
24 + "ssb-backlinks": "^0.7.1",
25 + "ssb-blobs": "^1.1.4",
26 + "ssb-config": "^2.2.0",
27 + "ssb-ebt": "^2.0.0",
28 + "ssb-friends": "^2.4.0",
29 + "ssb-keys": "^7.0.13",
30 + "ssb-names": "^3.1.0",
31 + "ssb-ooo": "^1.0.7",
32 + "ssb-web-resolver": "^1.1.2",
33 + "ssb-ws": "^2.0.0",
34 + "systray": "^1.0.3"
35 + },
36 + "scripts": {
37 + "start": "node server.js",
38 + "check-win": "node scripts/check-configuration-win.js",
39 + "setup-win": "node scripts/setup-win.js",
40 + "check": "node scripts/check-configuration.js",
41 + "setup": "node scripts/setup.js",
42 + "install": "node scripts/install.js"
43 + },
44 + "optionalDependencies": {
45 + "mkdirp": "^0.5.1",
46 + "regedit": "^2.2.7"
47 + },
48 + "devDependencies": {
49 + "eslint-config-standard": "^11.0.0-beta.0"
50 + },
51 + "peerDependencies": {},
52 + "license": "MIT"
53 +}
scripts/check-configuration-win.jsView
@@ -1,0 +1,52 @@
1 +
2 +
3 +var regedit = require('regedit')
4 +var key = 'HKCU\\Software\\Mozilla\\NativeMessagingHosts\\scuttleshell'
5 +var fs = require("fs")
6 +
7 +function check() {
8 +
9 + if (process.platform !== "win32") {
10 + console.log("This script works only on windows")
11 + process.exit(1)
12 + }
13 +
14 + regedit.list(key, (err, results) => {
15 + if (err) {
16 + console.log(`[ERROR] Registry key: ${key} doesn't exist\n\nTry: npm run setup-win\n`)
17 + process.exit(1)
18 + }
19 +
20 + let manifestPath = results[key].values[""].value
21 +
22 + if (!fs.existsSync(manifestPath)) {
23 + console.log("[ERROR] App manifest not found at declared location", manifestPath)
24 + console.log("\nTry: npm run setup-win\n")
25 + process.exit(1)
26 + }
27 +
28 + console.log("[INFO] App manifest path location:", manifestPath)
29 +
30 + let manifest = JSON.parse(fs.readFileSync(manifestPath))
31 +
32 + let applicationLauncherPath = manifest.path
33 +
34 + if (!fs.existsSync(applicationLauncherPath)) {
35 + console.log("[ERROR] Launcher not found at declared location", applicationLauncherPath)
36 + console.log("\nTry: npm run setup-win\n")
37 + process.exit(1)
38 + }
39 +
40 + console.log("[OK] Configuration appears correct\n[INFO] App located at:", applicationLauncherPath)
41 +
42 + process.exit(0)
43 + })
44 +
45 +}
46 +
47 +
48 +module.exports = check
49 +
50 +if (require.main === module) {
51 + var errorLevel = check()
52 +}
scripts/check-configuration.jsView
@@ -1,0 +1,45 @@
1 +
2 +
3 +var homedir = require('os').homedir()
4 +var macPath = homedir + "/Library/Application Support/Mozilla/NativeMessagingHosts/scuttleshell.json"
5 +var linuxPath = homedir + "/.mozilla/native-messaging-hosts/scuttleshell.json"
6 +var manifestPath = process.platform === "darwin" ? macPath : linuxPath
7 +var fs = require("fs")
8 +
9 +function check() {
10 +
11 + if (process.platform === "win32") {
12 + console.log("This script does not work on windows")
13 + process.exit(1)
14 + }
15 +
16 + if (!fs.existsSync(manifestPath)) {
17 + console.log("[ERROR] App manifest not found at declared location", manifestPath)
18 + console.log("\nTry: npm run setup\n")
19 + process.exit(1)
20 + }
21 +
22 + console.log("[INFO] App manifest path location:", manifestPath)
23 +
24 + let manifest = JSON.parse(fs.readFileSync(manifestPath))
25 +
26 + let applicationLauncherPath = manifest.path
27 +
28 + if (!fs.existsSync(applicationLauncherPath)) {
29 + console.log("[ERROR] Launcher not found at declared location", applicationLauncherPath)
30 + console.log("\nTry: npm run setup\n")
31 + process.exit(1)
32 + }
33 +
34 + console.log("[OK] Configuration appears correct\n[INFO] App located at:", applicationLauncherPath)
35 +
36 + process.exit(0)
37 +
38 +}
39 +
40 +
41 +module.exports = check
42 +
43 +if (require.main === module) {
44 + var errorLevel = check()
45 +}
scripts/install.jsView
@@ -1,0 +1,13 @@
1 +if (process.platform === "win32") {
2 + // do windows setup
3 + var setup = require("./setup-win")
4 + var check = require("./check-configuration-win")
5 +} else {
6 + // do linux/mac setup
7 + var setup = require("./setup")
8 + var check = require("./check-configuration")
9 +}
10 +
11 +setup()
12 +check()
13 +
scripts/setup-win.jsView
@@ -1,0 +1,69 @@
1 +
2 +var path = require('path')
3 +var regedit = require('regedit')
4 +var fs = require("fs")
5 +var appPath = path.resolve(".\\app.bat")
6 +var appManifestFile = path.resolve(".\\scuttleshell.json")
7 +
8 +function setup() {
9 +
10 + if (process.platform !== "win32") {
11 + console.log("This script works only on windows, try npm run setup")
12 + return 1
13 + }
14 +
15 + if (!fs.existsSync(appPath)) {
16 + console.log("[ERROR] Application not found at: ", appPath)
17 + return 1
18 + }
19 +
20 + if (!fs.existsSync(appManifestFile)) {
21 + console.log("[ERROR] App manifest not found at: ", appManifestFile)
22 + return 1
23 + }
24 +
25 + let manifest = JSON.parse(fs.readFileSync(appManifestFile))
26 +
27 + let applicationLauncherPath = manifest.path
28 +
29 + if (!fs.existsSync(applicationLauncherPath)) {
30 + console.log("[ERROR] App not found at declared location", applicationLauncherPath)
31 + console.log("FIXING...")
32 + manifest.path = appPath
33 + fs.writeFileSync(appManifestFile, JSON.stringify(manifest))
34 + } else {
35 + console.log("[OK] Application found at the correct location", applicationLauncherPath)
36 + }
37 +
38 + // This now involves writing to the registry, I am a bit scared of that...
39 +
40 + var valuesToPut = {
41 + 'HKCU\\Software\\Mozilla\\NativeMessagingHosts\\scuttleshell': {
42 + 'scuttleshell': {
43 + value: appManifestFile,
44 + type: 'REG_DEFAULT'
45 + }
46 + }
47 + }
48 +
49 + regedit.createKey('HKCU\\Software\\Mozilla\\NativeMessagingHosts\\scuttleshell', function (a, b) {
50 + regedit.putValue(valuesToPut, function (err) {
51 + if (err) {
52 + console.log("[ERROR] Problem writing to registry.", err)
53 + return 1
54 + } else {
55 + console.log("[OK] Wrote manifest path to registry.\n[INFO] Try: npm run check-win")
56 + return 0
57 + }
58 + })
59 + })
60 + return 0
61 +}
62 +
63 +module.exports = setup
64 +
65 +if (require.main === module) {
66 + var errorLevel = setup()
67 + process.exit(errorLevel)
68 +}
69 +
scripts/setup.jsView
@@ -1,0 +1,56 @@
1 +
2 +
3 +var homedir = require('os').homedir()
4 +var path = require('path')
5 +var macPath = homedir + "/Library/Application Support/Mozilla/NativeMessagingHosts/scuttleshell.json"
6 +var linuxPath = homedir + "/.mozilla/native-messaging-hosts/scuttleshell.json"
7 +var manifestPath = process.platform === "darwin" ? macPath : linuxPath
8 +var manifestFolderPath = manifestPath.replace("scuttleshell.json", "")
9 +var appPath = path.resolve("../host-app.js")
10 +var localManifestFile = path.resolve("../scuttleshell.json")
11 +var fs = require("fs")
12 +var mkdirp = require("mkdirp")
13 +
14 +function setup() {
15 +
16 + if (process.platform == "win32") {
17 + console.log("This script doesn't work on windows, try npm run setup-win")
18 + return 1
19 + }
20 +
21 + if (!fs.existsSync(appPath)) {
22 + console.log("[ERROR] Application not found at: ", appPath)
23 + return 1
24 + }
25 +
26 + if (!fs.existsSync(localManifestFile)) {
27 + console.log("[ERROR] Local copy of app manifest not found at: ", localManifestFile)
28 + return 1
29 + }
30 +
31 + let manifest = JSON.parse(fs.readFileSync(localManifestFile))
32 +
33 + let applicationLauncherPath = manifest.path
34 +
35 + if (!fs.existsSync(applicationLauncherPath)) {
36 + console.log("[ERROR] App not found at declared location", applicationLauncherPath)
37 + console.log("FIXING...")
38 + manifest.path = appPath
39 + fs.writeFileSync(localManifestFile, JSON.stringify(manifest))
40 + } else {
41 + console.log("[OK] Application found at the correct location", applicationLauncherPath)
42 + }
43 +
44 + mkdirp.sync(manifestFolderPath)
45 + fs.writeFileSync(manifestPath, JSON.stringify(manifest))
46 +
47 + console.log("[OK] Wrote manifest path to registry.\n[INFO] Try: npm run check")
48 + return 0
49 +}
50 +
51 +module.exports = setup
52 +
53 +if (require.main === module) {
54 + var errorLevel = setup()
55 + process.exit(errorLevel)
56 +}
scuttleshell.jsonView
@@ -1,0 +1,12 @@
1 +{
2 + "name": "scuttleshell",
3 + "description": "Native app companion to sbot webextensions",
4 + "path": "C:\\Users\\soapdog\\prog\\ssbc\\scuttle-shell\\app.bat",
5 + "type": "stdio",
6 + "allowed_extensions": [
7 + "share_on_scuttlebutt@andregarzia.com",
8 + "ssb_protocol_handler@andregarzia.com",
9 + "sbot_test@andregarzia.com",
10 + "patchfox@andregarzia.com"
11 + ]
12 +}
server.jsView
@@ -1,0 +1,104 @@
1 +#! /usr/bin/env node
2 +
3 +const http = require('http')
4 +const serve = require('ecstatic')
5 +const fs = require('fs')
6 +const path = require('path')
7 +const ssbKeys = require('ssb-keys')
8 +const minimist = require('minimist')
9 +const notifier = require('node-notifier')
10 +const SysTray = require('systray').default
11 +
12 +let argv = process.argv.slice(2)
13 +let i = argv.indexOf('--')
14 +let conf = argv.slice(i + 1)
15 +argv = ~i ? argv.slice(0, i) : argv
16 +
17 +const config = require('ssb-config/inject')(process.env.ssb_appname, minimist(conf))
18 +
19 +const keys = ssbKeys.loadOrCreateSync(path.join(config.path, 'secret'))
20 +if (keys.curve === 'k256') {
21 + throw new Error('k256 curves are no longer supported,' +
22 + 'please delete' + path.join(config.path, 'secret'))
23 +}
24 +
25 +const manifestFile = path.join(config.path, 'manifest.json')
26 +
27 +// special server command:
28 +// import sbot and start the server
29 +
30 +const createSbot = require('scuttlebot')
31 + // .use(require('scuttlebot/plugins/plugins'))
32 + .use(require('scuttlebot/plugins/master'))
33 + .use(require('scuttlebot/plugins/gossip'))
34 + .use(require('scuttlebot/plugins/replicate'))
35 + .use(require('ssb-friends'))
36 + .use(require('ssb-blobs'))
37 + .use(require('scuttlebot/plugins/invite'))
38 + .use(require('scuttlebot/plugins/local'))
39 + // .use(require('scuttlebot/plugins/logging'))
40 + // .use(require('scuttlebot/plugins/private'))
41 + // .use(require('ssb-query'))
42 + // .use(require('ssb-links'))
43 + .use(require('ssb-ooo'))
44 + .use(require('ssb-ebt'))
45 + .use(require('ssb-ws'))
46 + .use(require('ssb-names'))
47 + .use(require('ssb-backlinks'))
48 +
49 +// http.createServer(
50 +// serve({ root: path.resolve('../webextension/build/') })
51 +// ).listen(3013)
52 +
53 +// add third-party plugins
54 +// require('./plugins/plugins').loadUserPlugins(createSbot, config)
55 +
56 +// start server
57 +
58 +config.keys = keys
59 +const server = createSbot(config)
60 +
61 +// write RPC manifest to ~/.ssb/manifest.json
62 +fs.writeFileSync(manifestFile, JSON.stringify(server.getManifest(), null, 2))
63 +
64 +const icon = fs.readFileSync(path.join(__dirname, `icon.${process.platform === 'win32' ? 'ico' : 'png'}`))
65 +const tray = new SysTray({
66 + menu: {
67 + icon: icon.toString('base64'),
68 + title: 'Secure Scuttlebutt',
69 + tooltip: 'Secure Scuttlebutt tray app',
70 + items: [
71 +
72 + {
73 + title: 'Quit',
74 + tooltip: 'Stop sbot and quit tray application',
75 + checked: false,
76 + enabled: true
77 + }
78 + ]
79 + },
80 + debug: false,
81 + copyDir: true,
82 +})
83 +
84 +tray.onClick(action => {
85 + switch (action.seq_id) {
86 + case 0:
87 + console.log("### EXITING IN TWO SECONDS ###")
88 +
89 + notifier.notify({
90 + title: 'Secure Scuttlebutt',
91 + message: `Secure Scuttlebutt will exit in two seconds...`,
92 + icon: path.join(__dirname, "icon.png"),
93 + wait: true,
94 + id: 0,
95 + })
96 +
97 + tray.kill()
98 + }
99 +})
100 +
101 +tray.onExit((code, signal) => {
102 + setTimeout(() =>
103 + process.exit(0), 2000)
104 +})

Built with git-ssb-web