├── .gitignore
├── .npmignore
├── LICENSE.md
├── README.md
├── index.js
├── loaders
├── createFileLoader.js
├── createMediaLoader.js
├── index.js
└── loadImage.js
├── package-lock.json
├── package.json
└── test
├── custom-font.js
├── custom-type.js
├── fixtures
├── Oswald-Medium.ttf
├── baboon-no-ext
├── baboon.png
├── bluejean_short.mp3
├── cube.obj
├── foo-err.json
├── foo.json
├── giphy.mp4
├── other.bin
├── test.md
└── test.txt
├── generate-bin.js
└── index.js
/.gitignore:
--------------------------------------------------------------------------------
1 | bower_components
2 | node_modules
3 | *.log
4 | .DS_Store
5 | bundle.js
6 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | bower_components
2 | node_modules
3 | *.log
4 | .DS_Store
5 | bundle.js
6 | test/
7 | test.js
8 | demo/
9 | .npmignore
10 | LICENSE.md
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 | Copyright (c) 2017 Matt DesLauriers
3 |
4 | Permission is hereby granted, free of charge, to any person obtaining a copy
5 | of this software and associated documentation files (the "Software"), to deal
6 | in the Software without restriction, including without limitation the rights
7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | copies of the Software, and to permit persons to whom the Software is
9 | furnished to do so, subject to the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be included in all
12 | copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
19 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
20 | OR OTHER DEALINGS IN THE SOFTWARE.
21 |
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # load-asset
2 |
3 | [](http://github.com/badges/stability-badges)
4 |
5 | A simple Promise-based asset loader with cross browser support down to IE 11. Ideal for use with async/await syntax. Uses `fetch` where possible, otherwise falls back to `XMLHTTPRequest`.
6 |
7 | Tries to infer loader type from extension, but you can also specify a `type` for other extensions – see [Loaders](#loaders) for details.
8 |
9 | - Image tag (png, jpg, svg, etc)
10 | - Audio tag (mp3, ogg, etc)
11 | - Video tag (mp4, etc)
12 | - JSON (json)
13 | - Text (txt)
14 | - Binary (bin)
15 | - Blob
16 |
17 | ```js
18 | const load = require('load-asset');
19 |
20 | async function printImageSize () {
21 | // Load a single
asset
22 | const image = await load('image.png');
23 |
24 | // Print the image width and height after loading
25 | console.log(`Image Size: ${image.width} x ${image.height}`);
26 | }
27 | ```
28 |
29 | Handles loading a single asset, or multiple assets in parallel. You can use a named object map for convenience, provide a `progress` callback for visual updates, and optionally continue loading if individual resources error out.
30 |
31 | **Note:** You will need to polyfill Promise for older browsers.
32 |
33 | ## Full Example
34 |
35 | ```js
36 | const load = require('load-asset');
37 |
38 | async function render () {
39 | // Load markdown file as text string
40 | const readme = await load({ url: 'readme.md', type: 'text' });
41 | console.log(readme);
42 |
43 | // Load a list of named assets in parallel
44 | const urls = [ 'a.png', 'data.json', 'other.txt' ];
45 | const items = await load.all(urls);
46 | console.log(items[0], items[1].some.data, items[2].toUpperCase());
47 |
48 | // Load a map of named assets in parallel
49 | // But use 'any' instead of 'all' so that errors/404s
50 | // do not stop loading the rest of the assets.
51 | const assets = await load.any({
52 | diffuse: 'assets/diffuse.png',
53 | data: { url: 'path/to/api', type: 'json' },
54 | arrayBuffer: { url: 'file.buf', type: 'binary' },
55 | document: { url: 'file.pdf', type: 'blob' },
56 | video: { url: 'file.mp4', muted: true }
57 | });
58 |
59 | console.log(assets.diffuse); //
tag
60 | console.log(assets.data.some.property); // JSON data
61 | }
62 | ```
63 |
64 | ## Install
65 |
66 | Use [npm](https://npmjs.com/) to install.
67 |
68 | ```sh
69 | npm install load-asset --save
70 | ```
71 |
72 | ## Usage
73 |
74 | #### `asset = load(item)`
75 |
76 | Loads the `item` asset, which is either a string URL or an object with properties, and returns an `asset` Promise which will resolve to the loaded object (such as HTMLVideoElement, Audio or Image tags).
77 |
78 | If `item` is an object, you can specify a list of options like so:
79 |
80 | - `url` (required) - the URL to the asset
81 | - `type` - the loader type name, can be `'image'`, `'audio'`, etc (see [full list](#loaders) below). If not specified, it will be inferred from file extension if possible. If no loader is found by the extension, or no extension exists, the returned Promise will reject with an error.
82 |
83 | Loaders may have individual options that can also be passed down into them, such as `crossOrigin` on Image:
84 |
85 | ```js
86 | const image = await load({ url: 'foo.png', crossOrigin: 'Anonymous' });
87 | ```
88 |
89 | You can also pass a function to `type` if you have a custom loader, see [test/custom-type.js](./test/custom-type.js) for an example loading the Wavefront OBJ format. This way you can integrate other game/app-specific asset types into a single sequence of progress events.
90 |
91 | #### `assets = load.all(items, [progress])`
92 |
93 | This loads an array or map of `items`, loading them all in parallel, and returns the result when all are finished loading.
94 |
95 | If you specify an array, the returned Promise resolves to an array of loaded values corresponding to the same order as the `items`. Alternatively, you can specify an object to receive back a map with named values.
96 |
97 | ```js
98 | async function start () {
99 | // Resolves to an array of images
100 | const images = await load.all([ 'a.png', 'b.png' ]);
101 | console.log(images[0].width);
102 |
103 | // Resolves to an object mapping
104 | const assets = await load.all({
105 | normal: 'foo/normal.png',
106 | diffuse: 'foo/diffuse.png'
107 | });
108 | console.log(assets.normal.width, assets.diffuse.width);
109 | }
110 | ```
111 |
112 | You can optionally specify a `progress` callback function which gets triggered after each item is loaded, passed with an `event` object:
113 |
114 | - `count` - number of items that have been loaded
115 | - `total` - number of total items in the queue
116 | - `progress` - a number between 0 (exclusive) and 1 (inclusive) of load completion
117 | - `target` - an object or string representing the asset descriptor to load
118 | - `value` - the loaded value for this target
119 |
120 | > *Note:* With this function, if one asset fails to load, the loading will stop and reject early.
121 |
122 | #### `assets = load.any(items, [progress])`
123 |
124 | The same as `load.all`, except that any errors in loading (for e.g. 404 assets) will be caught and resolved to `null`, so that other assets can continue loading.
125 |
126 | If a resource did not load, an additional `error` property will be added to the `progress` callback event for that resource.
127 |
128 | Example:
129 |
130 | ```js
131 | async function start () {
132 | // Resolves to an array of images
133 | const results = await load.any([ 'a.png', 'b.png' ], ({ error }) => {
134 | // Log error to avoid developer errors
135 | if (error) console.error(error);
136 | });
137 |
138 | // Filter out any images that couldn't load
139 | const images = results.filter(Boolean);
140 | // ... do something ...
141 | }
142 | ```
143 |
144 | ## Nesting
145 |
146 | If you pass a Promise to the load funtion, it will simply be returned. This allows for nesting features, for example:
147 |
148 | ```js
149 | loader.all({
150 | tiles: loader.all([ 'a.png', 'b.png', 'c.png' ]),
151 | group: loader.all({
152 | iconA: 'bar.png',,
153 | iconB: 'foo.png'
154 | })
155 | }).then(assets => {
156 | console.log(assets.tiles[0], assets.group.iconA.width);
157 | });
158 | ```
159 |
160 | ## Loaders
161 |
162 | All loaders, their inferred extensions, and any additional options are detailed below. You can specify a `type` option, such as `'image'` or `'blob'`, to override the extension lookup.
163 |
164 | #### `'image'`
165 |
166 | **Extensions:** *jpg, jpeg, svg, png, gif, webp, bmp, tga, tif, apng, wbpm, ico*
167 |
168 | Resolves to an Image tag. You can also pass `crossOrigin` in options for images, e.g. `{ crossOrigin: 'Anonymous' }`.
169 |
170 | #### `'json'`
171 |
172 | **Extensions:** *json*
173 |
174 | Resolves to parsed JSON data.
175 |
176 | #### `'text'`
177 |
178 | **Extensions:** *txt*
179 |
180 | Resolves to a text string.
181 |
182 | #### `'audio'` / `'video'`
183 |
184 | **Audio Extensions:** *mp3, ogg, wav, midi, and more*
185 | **Video Extensions:** *mp4, m4v, mov, mkv, mpeg, and more*
186 |
187 | See [here](https://github.com/mattdesl/browser-media-mime-type/blob/master/mime-types.json) for all inferred audio and video extensions.
188 |
189 | Additional options for `audio` & `video` types:
190 |
191 | - `crossOrigin` - e.g. 'Anonymous'
192 | - `event` - the load event to wait for, default `'canplay'`, can also be: `'canplaythrough'`, `'loadeddata'`, `'loadedmetadata'`
193 | - Additional media properties: *volume, preload, playbackRate, muted, currentTime, controls, autoPlay*
194 |
195 | #### `'binary'`
196 |
197 | **Extensions:** *bin*
198 |
199 | Resolves to an ArrayBuffer.
200 |
201 | #### `'blob'`
202 |
203 | Not associated with any file extensions.
204 |
205 | ## License
206 |
207 | MIT, see [LICENSE.md](http://github.com/mattdesl/load-asset/blob/master/LICENSE.md) for details.
208 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | var loaders = require('./loaders');
2 | var assign = require('object-assign');
3 | var isPromise = require('is-promise');
4 | var noop = function () {};
5 |
6 | module.exports = loadAsset;
7 |
8 | module.exports.all = function all (opt, progress) {
9 | return loadMultiple(opt, progress, false);
10 | };
11 |
12 | module.exports.any = function any (opt, progress) {
13 | return loadMultiple(opt, progress, true);
14 | };
15 |
16 | function loadMultiple (opt, progress, skipMissing) {
17 | progress = progress || noop;
18 | if (typeof progress !== 'function') {
19 | return Promise.reject(new Error('The second argument to load.all() and load.any() must be a function, or undefined'));
20 | }
21 |
22 | var total;
23 | var count = 0;
24 | var load;
25 | var emitProgress = function (item, value, count, error) {
26 | var obj = {
27 | target: item,
28 | total: total,
29 | count: count,
30 | progress: count / total,
31 | value: value
32 | };
33 | if (error) obj.error = error;
34 | progress(obj);
35 | };
36 |
37 | if (skipMissing) {
38 | load = function (opt) {
39 | return loadAsset(opt).then(function (result) {
40 | return { value: result };
41 | }, function (error) {
42 | return { value: null, error: error };
43 | }).then(function (optional) {
44 | emitProgress(opt, optional.value, ++count, optional.error);
45 | return optional.value;
46 | });
47 | };
48 | } else {
49 | load = function (opt) {
50 | return loadAsset(opt).then(function (result) {
51 | emitProgress(opt, result, ++count);
52 | return result;
53 | });
54 | };
55 | }
56 |
57 | if (Array.isArray(opt)) {
58 | total = opt.length;
59 | return Promise.all(opt.map(function (item) {
60 | return load(item);
61 | }));
62 | } else if (opt) {
63 | var entries = Object.keys(opt).map(function (key) {
64 | return { key: key, value: opt[key] };
65 | });
66 | total = entries.length;
67 | return Promise.all(entries.map(function (item) {
68 | var key = item.key;
69 | return load(item.value).then(function (value) {
70 | return { value: value, key: key };
71 | });
72 | })).then(function (results) {
73 | return results.reduce(function (obj, item) {
74 | obj[item.key] = item.value;
75 | return obj;
76 | }, {});
77 | });
78 | } else {
79 | return Promise.reject(new Error('You must specify an array of assets or object group to load'));
80 | }
81 | }
82 |
83 | function loadAsset (opt) {
84 | if (!opt) return Promise.reject(new Error('You must specify a URL or descriptor of the asset to load'));
85 | if (typeof opt === 'string') {
86 | opt = { url: opt };
87 | }
88 | // If it's a promise, assume nested features...
89 | if (isPromise(opt)) return opt;
90 | return getLoader(opt).then(function (loader) {
91 | opt = assign({}, opt);
92 | delete opt.type;
93 | return loader(opt);
94 | });
95 | }
96 |
97 | function getLoader (opt) {
98 | var i, loader;
99 | var type = opt.type ? opt.type : null;
100 | if (type) {
101 | // Allow user to specify custom type function
102 | if (typeof type === 'function') {
103 | return Promise.resolve(type);
104 | } else {
105 | type = type.toLowerCase();
106 | }
107 | // User specified an explicit type, use that.
108 | if (!opt.url) {
109 | return Promise.reject(new Error('When using loadAsset(), you must specify a URL or descriptor of the asset to load'));
110 | }
111 | for (i = 0; i < loaders.length; i++) {
112 | loader = loaders[i];
113 | if (loader.key === type) return Promise.resolve(loader.load);
114 | }
115 | return Promise.reject(new Error('Could not find an asset loader by the key "' + opt.type + '"'));
116 | } else {
117 | // User didn't specify type, try to infer from file extension
118 | if (!opt.url) {
119 | return Promise.reject(new Error('When using loadAsset(), you must specify a URL or descriptor of the asset to load'));
120 | }
121 | var ext = extname(opt.url);
122 | if (!ext) return Promise.reject(new Error('No extension found for input URL "' + opt.url + '", try to specify a { type } such as "image" or "text"'));
123 | for (i = 0; i < loaders.length; i++) {
124 | loader = loaders[i];
125 | if (!loader.match) continue;
126 | var isMatch = typeof loader.match === 'function'
127 | ? loader.match(ext)
128 | : loader.match.test(ext);
129 | if (isMatch) return Promise.resolve(loader.load);
130 | }
131 | return Promise.reject(new Error('Could not infer an asset loader from the file type "' + ext + '", try specifying { type } such as "image" or "text"'));
132 | }
133 | }
134 |
135 | function extname (url) {
136 | if (!url) return '';
137 | var idx = url.lastIndexOf('/');
138 | if (idx !== -1) url = url.substring(idx + 1); // Keep path without its segments
139 | idx = url.indexOf('?');
140 | if (idx !== -1) url = url.substring(0, idx); // Remove query
141 | idx = url.indexOf('#');
142 | if (idx !== -1) url = url.substring(0, idx); // Remove fragment
143 | idx = url.lastIndexOf('.');
144 | return idx !== -1 ? url.substring(idx) : '';
145 | }
146 |
--------------------------------------------------------------------------------
/loaders/createFileLoader.js:
--------------------------------------------------------------------------------
1 | var xhr = require('xhr');
2 | var assign = require('object-assign');
3 |
4 | module.exports = function (type) {
5 | return function loadFile (opt) {
6 | var p;
7 | if ('fetch' in window) {
8 | p = window.fetch(opt.url, opt)
9 | .then(function (response) {
10 | if (/404/.test(response.status)) {
11 | throw new Error('Resource not found');
12 | }
13 | if (!/^2/.test(response.status)) {
14 | throw new Error('Unexpected HTTP Status Code: ' + response.status);
15 | }
16 | if (!response.ok) {
17 | throw new Error('Response not OK');
18 | }
19 | if (type === 'json') {
20 | return response.json();
21 | } else if (type === 'binary') {
22 | return response.arrayBuffer();
23 | } else if (type === 'blob') {
24 | return response.blob();
25 | } else {
26 | return response.text();
27 | }
28 | });
29 | } else {
30 | p = xhrFetch(type, opt);
31 | }
32 | return p.catch(function (err) {
33 | throw new Error(
34 | err.message + ' while loading file ' + opt.url
35 | );
36 | });
37 | };
38 | };
39 |
40 | function xhrFetch (type, opt) {
41 | return new Promise(function (resolve, reject) {
42 | var responseType = 'text';
43 | if (type === 'json') responseType = 'text';
44 | else if (type === 'binary') responseType = 'arraybuffer';
45 | else if (type === 'blob') responseType = 'blob';
46 | opt = assign({}, opt, {
47 | json: false,
48 | responseType: responseType
49 | });
50 | xhr(opt, function (err, res, body) {
51 | if (err) return reject(err);
52 | if (/404/.test(res.statusCode)) {
53 | throw new Error('Resource not found');
54 | }
55 | if (!/^2/.test(res.statusCode)) {
56 | return reject(new Error('Unexpected HTTP Status Code: ' + res.statusCode));
57 | }
58 | if (type === 'json') {
59 | try {
60 | body = JSON.parse(body);
61 | } catch (err) {
62 | return reject(err);
63 | }
64 | }
65 | resolve(body);
66 | });
67 | });
68 | }
69 |
--------------------------------------------------------------------------------
/loaders/createMediaLoader.js:
--------------------------------------------------------------------------------
1 | var mime = require('browser-media-mime-type');
2 |
3 | function getMediaType (ext) {
4 | var result = mime(ext);
5 | if (!result) return null;
6 | if (result.indexOf('audio') === 0) return 'audio';
7 | if (result.indexOf('video') === 0) return 'video';
8 | return null;
9 | }
10 |
11 | module.exports = function createMediaLoader (type, createElement) {
12 | return {
13 | key: type,
14 | match: function (ext) {
15 | return getMediaType(ext) === type;
16 | },
17 | load: function (opt) {
18 | return new Promise(function (resolve, reject) {
19 | var finished = false;
20 | var media = createElement();
21 | var onLoaded = function onLoaded () {
22 | if (finished) return;
23 | finished = true;
24 | resolve(media);
25 | };
26 |
27 | var event = (opt.event || 'canplay').toLowerCase();
28 | if (event === 'loadedmetadata') {
29 | media.onloadedmetadata = onLoaded;
30 | } else if (event === 'canplaythrough') {
31 | media.oncanplaythrough = onLoaded;
32 | } else if (event === 'loadeddata') {
33 | media.onloadeddata = onLoaded;
34 | } else {
35 | media.oncanplay = onLoaded;
36 | }
37 |
38 | media.onerror = function onError (er) {
39 | if (finished) return;
40 | finished = true;
41 | reject(new Error('Error while loading ' + type + ' at ' + opt.url));
42 | };
43 |
44 | // pass through media properties if defined
45 | if (opt.crossOrigin) media.crossOrigin = opt.crossOrigin;
46 | if (typeof opt.volume !== 'undefined') media.volume = opt.volume;
47 | if (typeof opt.preload !== 'undefined') media.preload = opt.volume;
48 | if (typeof opt.playbackRate !== 'undefined') media.playbackRate = opt.volume;
49 | if (typeof opt.muted !== 'undefined') media.muted = opt.volume;
50 | if (typeof opt.currentTime !== 'undefined') media.currentTime = opt.volume;
51 | if (typeof opt.controls !== 'undefined') media.controls = opt.volume;
52 | if (typeof opt.autoPlay !== 'undefined') media.autoPlay = opt.volume;
53 |
54 | media.src = opt.url;
55 |
56 | if (media.readyState >= media.HAVE_ENOUGH_DATA) {
57 | finished = true;
58 | return resolve(media);
59 | }
60 |
61 | media.load();
62 | });
63 | }
64 | };
65 | };
66 |
--------------------------------------------------------------------------------
/loaders/index.js:
--------------------------------------------------------------------------------
1 | const createMediaLoader = require('./createMediaLoader');
2 | const createFileLoader = require('./createFileLoader');
3 | const loadImage = require('./loadImage');
4 |
5 | module.exports = [
6 | // json
7 | {
8 | key: 'json',
9 | match: /\.json$/i,
10 | load: createFileLoader('json')
11 | },
12 | // text
13 | {
14 | key: 'text',
15 | match: /\.txt$/i,
16 | load: createFileLoader('text')
17 | },
18 | // image
19 | {
20 | key: 'image',
21 | match: /\.(jpg|jpeg|svg|png|gif|webp|bmp|tga|tif|apng|wbpm|ico)$/i,
22 | load: loadImage
23 | },
24 | // audio
25 | createMediaLoader('audio', function () {
26 | return new window.Audio();
27 | }),
28 | // video
29 | createMediaLoader('video', function () {
30 | return document.createElement('video');
31 | }),
32 | // binary
33 | {
34 | key: 'binary',
35 | match: /\.bin$/i,
36 | load: createFileLoader('binary')
37 | },
38 | // blob
39 | {
40 | key: 'blob',
41 | load: createFileLoader('blob')
42 | }
43 | ];
44 |
--------------------------------------------------------------------------------
/loaders/loadImage.js:
--------------------------------------------------------------------------------
1 | module.exports = function (opt) {
2 | return new Promise(function (resolve, reject) {
3 | var finished = false;
4 | var image = new window.Image();
5 | image.onload = function onLoaded () {
6 | if (finished) return;
7 | finished = true;
8 | resolve(image);
9 | };
10 | image.onerror = function onError () {
11 | if (finished) return;
12 | finished = true;
13 | reject(new Error('Error while loading image at ' + opt.url));
14 | };
15 | if (opt.crossOrigin) image.crossOrigin = opt.crossOrigin;
16 | image.src = opt.url;
17 | });
18 | };
19 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "load-asset",
3 | "version": "1.2.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "JSONStream": {
8 | "version": "1.3.2",
9 | "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
10 | "integrity": "sha1-wQI3G27Dp887hHygDCC7D85Mbeo=",
11 | "dev": true,
12 | "requires": {
13 | "jsonparse": "1.3.1",
14 | "through": "2.3.8"
15 | }
16 | },
17 | "acorn": {
18 | "version": "4.0.13",
19 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
20 | "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
21 | "dev": true
22 | },
23 | "acorn-node": {
24 | "version": "1.3.0",
25 | "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.3.0.tgz",
26 | "integrity": "sha512-efP54n3d1aLfjL2UMdaXa6DsswwzJeI5rqhbFvXMrKiJ6eJFpf+7R0zN7t8IC+XKn2YOAFAv6xbBNgHUkoHWLw==",
27 | "dev": true,
28 | "requires": {
29 | "acorn": "5.5.3",
30 | "xtend": "4.0.1"
31 | },
32 | "dependencies": {
33 | "acorn": {
34 | "version": "5.5.3",
35 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz",
36 | "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==",
37 | "dev": true
38 | }
39 | }
40 | },
41 | "ansi-regex": {
42 | "version": "0.2.1",
43 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
44 | "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
45 | "dev": true
46 | },
47 | "ansi-styles": {
48 | "version": "1.1.0",
49 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
50 | "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
51 | "dev": true
52 | },
53 | "anymatch": {
54 | "version": "1.3.2",
55 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
56 | "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
57 | "dev": true,
58 | "requires": {
59 | "micromatch": "2.3.11",
60 | "normalize-path": "2.1.1"
61 | }
62 | },
63 | "arr-diff": {
64 | "version": "2.0.0",
65 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
66 | "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
67 | "dev": true,
68 | "requires": {
69 | "arr-flatten": "1.1.0"
70 | }
71 | },
72 | "arr-flatten": {
73 | "version": "1.1.0",
74 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
75 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
76 | "dev": true
77 | },
78 | "array-filter": {
79 | "version": "0.0.1",
80 | "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
81 | "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=",
82 | "dev": true
83 | },
84 | "array-map": {
85 | "version": "0.0.0",
86 | "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
87 | "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=",
88 | "dev": true
89 | },
90 | "array-reduce": {
91 | "version": "0.0.0",
92 | "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
93 | "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=",
94 | "dev": true
95 | },
96 | "array-unique": {
97 | "version": "0.2.1",
98 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
99 | "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
100 | "dev": true
101 | },
102 | "asn1.js": {
103 | "version": "4.10.1",
104 | "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
105 | "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
106 | "dev": true,
107 | "requires": {
108 | "bn.js": "4.11.8",
109 | "inherits": "2.0.3",
110 | "minimalistic-assert": "1.0.1"
111 | }
112 | },
113 | "assert": {
114 | "version": "1.4.1",
115 | "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
116 | "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
117 | "dev": true,
118 | "requires": {
119 | "util": "0.10.3"
120 | }
121 | },
122 | "astw": {
123 | "version": "2.2.0",
124 | "resolved": "https://registry.npmjs.org/astw/-/astw-2.2.0.tgz",
125 | "integrity": "sha1-e9QXhNMkk5h66yOba04cV6hzuRc=",
126 | "dev": true,
127 | "requires": {
128 | "acorn": "4.0.13"
129 | }
130 | },
131 | "async-each": {
132 | "version": "1.0.1",
133 | "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
134 | "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
135 | "dev": true
136 | },
137 | "balanced-match": {
138 | "version": "1.0.0",
139 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
140 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
141 | "dev": true
142 | },
143 | "base64-js": {
144 | "version": "1.3.0",
145 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
146 | "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
147 | "dev": true
148 | },
149 | "binary-extensions": {
150 | "version": "1.11.0",
151 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
152 | "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=",
153 | "dev": true
154 | },
155 | "bn.js": {
156 | "version": "4.11.8",
157 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
158 | "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
159 | "dev": true
160 | },
161 | "bole": {
162 | "version": "2.0.0",
163 | "resolved": "https://registry.npmjs.org/bole/-/bole-2.0.0.tgz",
164 | "integrity": "sha1-2KocaQRnv7T+Ebh0rLLoOH44JhU=",
165 | "dev": true,
166 | "requires": {
167 | "core-util-is": "1.0.2",
168 | "individual": "3.0.0",
169 | "json-stringify-safe": "5.0.1"
170 | }
171 | },
172 | "brace-expansion": {
173 | "version": "1.1.11",
174 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
175 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
176 | "dev": true,
177 | "requires": {
178 | "balanced-match": "1.0.0",
179 | "concat-map": "0.0.1"
180 | }
181 | },
182 | "braces": {
183 | "version": "1.8.5",
184 | "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
185 | "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
186 | "dev": true,
187 | "requires": {
188 | "expand-range": "1.8.2",
189 | "preserve": "0.2.0",
190 | "repeat-element": "1.1.2"
191 | }
192 | },
193 | "brorand": {
194 | "version": "1.1.0",
195 | "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
196 | "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
197 | "dev": true
198 | },
199 | "browser-media-mime-type": {
200 | "version": "1.0.0",
201 | "resolved": "https://registry.npmjs.org/browser-media-mime-type/-/browser-media-mime-type-1.0.0.tgz",
202 | "integrity": "sha1-oVNKitk48Lz0tkL1QPo1YFZT0Ok="
203 | },
204 | "browser-pack": {
205 | "version": "6.1.0",
206 | "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz",
207 | "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==",
208 | "dev": true,
209 | "requires": {
210 | "JSONStream": "1.3.2",
211 | "combine-source-map": "0.8.0",
212 | "defined": "1.0.0",
213 | "safe-buffer": "5.1.2",
214 | "through2": "2.0.3",
215 | "umd": "3.0.3"
216 | }
217 | },
218 | "browser-resolve": {
219 | "version": "1.11.2",
220 | "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
221 | "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=",
222 | "dev": true,
223 | "requires": {
224 | "resolve": "1.1.7"
225 | },
226 | "dependencies": {
227 | "resolve": {
228 | "version": "1.1.7",
229 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
230 | "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
231 | "dev": true
232 | }
233 | }
234 | },
235 | "browserify": {
236 | "version": "16.2.0",
237 | "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.2.0.tgz",
238 | "integrity": "sha512-yotdAkp/ZbgDesHQBYU37zjc29JDH4iXT8hjzM1fdUVWogjARX0S1cKeX24Ci6zZ+jG+ADmCTRt6xvtmJnI+BQ==",
239 | "dev": true,
240 | "requires": {
241 | "JSONStream": "1.3.2",
242 | "assert": "1.4.1",
243 | "browser-pack": "6.1.0",
244 | "browser-resolve": "1.11.2",
245 | "browserify-zlib": "0.2.0",
246 | "buffer": "5.1.0",
247 | "cached-path-relative": "1.0.1",
248 | "concat-stream": "1.6.2",
249 | "console-browserify": "1.1.0",
250 | "constants-browserify": "1.0.0",
251 | "crypto-browserify": "3.12.0",
252 | "defined": "1.0.0",
253 | "deps-sort": "2.0.0",
254 | "domain-browser": "1.2.0",
255 | "duplexer2": "0.1.4",
256 | "events": "2.0.0",
257 | "glob": "7.1.2",
258 | "has": "1.0.1",
259 | "htmlescape": "1.1.1",
260 | "https-browserify": "1.0.0",
261 | "inherits": "2.0.3",
262 | "insert-module-globals": "7.0.6",
263 | "labeled-stream-splicer": "2.0.1",
264 | "mkdirp": "0.5.1",
265 | "module-deps": "6.0.2",
266 | "os-browserify": "0.3.0",
267 | "parents": "1.0.1",
268 | "path-browserify": "0.0.0",
269 | "process": "0.11.10",
270 | "punycode": "1.4.1",
271 | "querystring-es3": "0.2.1",
272 | "read-only-stream": "2.0.0",
273 | "readable-stream": "2.3.6",
274 | "resolve": "1.7.1",
275 | "shasum": "1.0.2",
276 | "shell-quote": "1.6.1",
277 | "stream-browserify": "2.0.1",
278 | "stream-http": "2.8.1",
279 | "string_decoder": "1.1.1",
280 | "subarg": "1.0.0",
281 | "syntax-error": "1.4.0",
282 | "through2": "2.0.3",
283 | "timers-browserify": "1.4.2",
284 | "tty-browserify": "0.0.1",
285 | "url": "0.11.0",
286 | "util": "0.10.3",
287 | "vm-browserify": "1.0.1",
288 | "xtend": "4.0.1"
289 | },
290 | "dependencies": {
291 | "events": {
292 | "version": "2.0.0",
293 | "resolved": "https://registry.npmjs.org/events/-/events-2.0.0.tgz",
294 | "integrity": "sha512-r/M5YkNg9zwI8QbSf7tsDWWJvO3PGwZXyG7GpFAxtMASnHL2eblFd7iHiGPtyGKKFPZ59S63NeX10Ws6WqGDcg==",
295 | "dev": true
296 | }
297 | }
298 | },
299 | "browserify-aes": {
300 | "version": "1.2.0",
301 | "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
302 | "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
303 | "dev": true,
304 | "requires": {
305 | "buffer-xor": "1.0.3",
306 | "cipher-base": "1.0.4",
307 | "create-hash": "1.2.0",
308 | "evp_bytestokey": "1.0.3",
309 | "inherits": "2.0.3",
310 | "safe-buffer": "5.1.2"
311 | }
312 | },
313 | "browserify-cipher": {
314 | "version": "1.0.1",
315 | "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
316 | "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
317 | "dev": true,
318 | "requires": {
319 | "browserify-aes": "1.2.0",
320 | "browserify-des": "1.0.1",
321 | "evp_bytestokey": "1.0.3"
322 | }
323 | },
324 | "browserify-des": {
325 | "version": "1.0.1",
326 | "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.1.tgz",
327 | "integrity": "sha512-zy0Cobe3hhgpiOM32Tj7KQ3Vl91m0njwsjzZQK1L+JDf11dzP9qIvjreVinsvXrgfjhStXwUWAEpB9D7Gwmayw==",
328 | "dev": true,
329 | "requires": {
330 | "cipher-base": "1.0.4",
331 | "des.js": "1.0.0",
332 | "inherits": "2.0.3"
333 | }
334 | },
335 | "browserify-rsa": {
336 | "version": "4.0.1",
337 | "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
338 | "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
339 | "dev": true,
340 | "requires": {
341 | "bn.js": "4.11.8",
342 | "randombytes": "2.0.6"
343 | }
344 | },
345 | "browserify-sign": {
346 | "version": "4.0.4",
347 | "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
348 | "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
349 | "dev": true,
350 | "requires": {
351 | "bn.js": "4.11.8",
352 | "browserify-rsa": "4.0.1",
353 | "create-hash": "1.2.0",
354 | "create-hmac": "1.1.7",
355 | "elliptic": "6.4.0",
356 | "inherits": "2.0.3",
357 | "parse-asn1": "5.1.1"
358 | }
359 | },
360 | "browserify-zlib": {
361 | "version": "0.2.0",
362 | "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
363 | "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
364 | "dev": true,
365 | "requires": {
366 | "pako": "1.0.6"
367 | }
368 | },
369 | "budo": {
370 | "version": "11.2.0",
371 | "resolved": "https://registry.npmjs.org/budo/-/budo-11.2.0.tgz",
372 | "integrity": "sha512-UW2466n1/Vinc0Ui+M3W2rK6ryHb0amVjcqKg91NwoKk80nEkVau4W8/HNMROhU1b413uQWPtsPyqAcqYLAPaQ==",
373 | "dev": true,
374 | "requires": {
375 | "bole": "2.0.0",
376 | "browserify": "16.2.0",
377 | "chokidar": "1.7.0",
378 | "connect-pushstate": "1.1.0",
379 | "escape-html": "1.0.3",
380 | "events": "1.1.1",
381 | "garnish": "5.2.0",
382 | "get-ports": "1.0.3",
383 | "inject-lr-script": "2.1.0",
384 | "internal-ip": "3.0.1",
385 | "micromatch": "2.3.11",
386 | "on-finished": "2.3.0",
387 | "on-headers": "1.0.1",
388 | "once": "1.4.0",
389 | "opn": "3.0.3",
390 | "path-is-absolute": "1.0.1",
391 | "pem": "1.12.5",
392 | "reload-css": "1.0.2",
393 | "resolve": "1.7.1",
394 | "serve-static": "1.13.2",
395 | "simple-html-index": "1.5.0",
396 | "stacked": "1.1.1",
397 | "stdout-stream": "1.4.0",
398 | "strip-ansi": "3.0.1",
399 | "subarg": "1.0.0",
400 | "term-color": "1.0.1",
401 | "url-trim": "1.0.0",
402 | "watchify-middleware": "1.8.0",
403 | "ws": "1.1.5",
404 | "xtend": "4.0.1"
405 | }
406 | },
407 | "buffer": {
408 | "version": "5.1.0",
409 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.1.0.tgz",
410 | "integrity": "sha512-YkIRgwsZwJWTnyQrsBTWefizHh+8GYj3kbL1BTiAQ/9pwpino0G7B2gp5tx/FUBqUlvtxV85KNR3mwfAtv15Yw==",
411 | "dev": true,
412 | "requires": {
413 | "base64-js": "1.3.0",
414 | "ieee754": "1.1.11"
415 | }
416 | },
417 | "buffer-from": {
418 | "version": "1.0.0",
419 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz",
420 | "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==",
421 | "dev": true
422 | },
423 | "buffer-xor": {
424 | "version": "1.0.3",
425 | "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
426 | "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
427 | "dev": true
428 | },
429 | "builtin-status-codes": {
430 | "version": "3.0.0",
431 | "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
432 | "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
433 | "dev": true
434 | },
435 | "cached-path-relative": {
436 | "version": "1.0.1",
437 | "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz",
438 | "integrity": "sha1-0JxLUoAKpMB44t2BqGmqyQ0uVOc=",
439 | "dev": true
440 | },
441 | "chalk": {
442 | "version": "0.5.1",
443 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
444 | "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
445 | "dev": true,
446 | "requires": {
447 | "ansi-styles": "1.1.0",
448 | "escape-string-regexp": "1.0.5",
449 | "has-ansi": "0.1.0",
450 | "strip-ansi": "0.3.0",
451 | "supports-color": "0.2.0"
452 | },
453 | "dependencies": {
454 | "strip-ansi": {
455 | "version": "0.3.0",
456 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
457 | "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
458 | "dev": true,
459 | "requires": {
460 | "ansi-regex": "0.2.1"
461 | }
462 | }
463 | }
464 | },
465 | "charenc": {
466 | "version": "0.0.2",
467 | "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
468 | "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=",
469 | "dev": true
470 | },
471 | "chokidar": {
472 | "version": "1.7.0",
473 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
474 | "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
475 | "dev": true,
476 | "requires": {
477 | "anymatch": "1.3.2",
478 | "async-each": "1.0.1",
479 | "fsevents": "1.2.3",
480 | "glob-parent": "2.0.0",
481 | "inherits": "2.0.3",
482 | "is-binary-path": "1.0.1",
483 | "is-glob": "2.0.1",
484 | "path-is-absolute": "1.0.1",
485 | "readdirp": "2.1.0"
486 | }
487 | },
488 | "cipher-base": {
489 | "version": "1.0.4",
490 | "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
491 | "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
492 | "dev": true,
493 | "requires": {
494 | "inherits": "2.0.3",
495 | "safe-buffer": "5.1.2"
496 | }
497 | },
498 | "combine-source-map": {
499 | "version": "0.8.0",
500 | "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
501 | "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=",
502 | "dev": true,
503 | "requires": {
504 | "convert-source-map": "1.1.3",
505 | "inline-source-map": "0.6.2",
506 | "lodash.memoize": "3.0.4",
507 | "source-map": "0.5.7"
508 | }
509 | },
510 | "concat-map": {
511 | "version": "0.0.1",
512 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
513 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
514 | "dev": true
515 | },
516 | "concat-stream": {
517 | "version": "1.6.2",
518 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
519 | "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
520 | "dev": true,
521 | "requires": {
522 | "buffer-from": "1.0.0",
523 | "inherits": "2.0.3",
524 | "readable-stream": "2.3.6",
525 | "typedarray": "0.0.6"
526 | }
527 | },
528 | "connect-pushstate": {
529 | "version": "1.1.0",
530 | "resolved": "https://registry.npmjs.org/connect-pushstate/-/connect-pushstate-1.1.0.tgz",
531 | "integrity": "sha1-vKsiQnHEOWBKD7D2FMCl9WPojiQ=",
532 | "dev": true
533 | },
534 | "console-browserify": {
535 | "version": "1.1.0",
536 | "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
537 | "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
538 | "dev": true,
539 | "requires": {
540 | "date-now": "0.1.4"
541 | }
542 | },
543 | "constants-browserify": {
544 | "version": "1.0.0",
545 | "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
546 | "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
547 | "dev": true
548 | },
549 | "convert-source-map": {
550 | "version": "1.1.3",
551 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
552 | "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=",
553 | "dev": true
554 | },
555 | "core-util-is": {
556 | "version": "1.0.2",
557 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
558 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
559 | "dev": true
560 | },
561 | "create-ecdh": {
562 | "version": "4.0.1",
563 | "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.1.tgz",
564 | "integrity": "sha512-iZvCCg8XqHQZ1ioNBTzXS/cQSkqkqcPs8xSX4upNB+DAk9Ht3uzQf2J32uAHNCne8LDmKr29AgZrEs4oIrwLuQ==",
565 | "dev": true,
566 | "requires": {
567 | "bn.js": "4.11.8",
568 | "elliptic": "6.4.0"
569 | }
570 | },
571 | "create-hash": {
572 | "version": "1.2.0",
573 | "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
574 | "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
575 | "dev": true,
576 | "requires": {
577 | "cipher-base": "1.0.4",
578 | "inherits": "2.0.3",
579 | "md5.js": "1.3.4",
580 | "ripemd160": "2.0.2",
581 | "sha.js": "2.4.11"
582 | }
583 | },
584 | "create-hmac": {
585 | "version": "1.1.7",
586 | "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
587 | "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
588 | "dev": true,
589 | "requires": {
590 | "cipher-base": "1.0.4",
591 | "create-hash": "1.2.0",
592 | "inherits": "2.0.3",
593 | "ripemd160": "2.0.2",
594 | "safe-buffer": "5.1.2",
595 | "sha.js": "2.4.11"
596 | }
597 | },
598 | "cross-spawn": {
599 | "version": "6.0.5",
600 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
601 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
602 | "dev": true,
603 | "requires": {
604 | "nice-try": "1.0.4",
605 | "path-key": "2.0.1",
606 | "semver": "5.5.0",
607 | "shebang-command": "1.2.0",
608 | "which": "1.3.0"
609 | }
610 | },
611 | "crypt": {
612 | "version": "0.0.2",
613 | "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
614 | "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=",
615 | "dev": true
616 | },
617 | "crypto-browserify": {
618 | "version": "3.12.0",
619 | "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
620 | "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
621 | "dev": true,
622 | "requires": {
623 | "browserify-cipher": "1.0.1",
624 | "browserify-sign": "4.0.4",
625 | "create-ecdh": "4.0.1",
626 | "create-hash": "1.2.0",
627 | "create-hmac": "1.1.7",
628 | "diffie-hellman": "5.0.3",
629 | "inherits": "2.0.3",
630 | "pbkdf2": "3.0.16",
631 | "public-encrypt": "4.0.2",
632 | "randombytes": "2.0.6",
633 | "randomfill": "1.0.4"
634 | }
635 | },
636 | "date-now": {
637 | "version": "0.1.4",
638 | "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
639 | "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
640 | "dev": true
641 | },
642 | "debounce": {
643 | "version": "1.1.0",
644 | "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.1.0.tgz",
645 | "integrity": "sha512-ZQVKfRVlwRfD150ndzEK8M90ABT+Y/JQKs4Y7U4MXdpuoUkkrr4DwKbVux3YjylA5bUMUj0Nc3pMxPJX6N2QQQ==",
646 | "dev": true
647 | },
648 | "debug": {
649 | "version": "2.6.9",
650 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
651 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
652 | "dev": true,
653 | "requires": {
654 | "ms": "2.0.0"
655 | }
656 | },
657 | "deep-equal": {
658 | "version": "1.0.1",
659 | "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
660 | "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
661 | "dev": true
662 | },
663 | "default-gateway": {
664 | "version": "2.7.1",
665 | "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.1.tgz",
666 | "integrity": "sha512-3UOsgF6oWP0js8hoDp1tcrYYndTznfl8aWr+ziU1z/p9Uv+a2UztSegX/3wwdxaM4SpPgGe3G//tJJeNEog9Zg==",
667 | "dev": true,
668 | "requires": {
669 | "execa": "0.10.0",
670 | "ip-regex": "2.1.0"
671 | }
672 | },
673 | "define-properties": {
674 | "version": "1.1.2",
675 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
676 | "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
677 | "dev": true,
678 | "requires": {
679 | "foreach": "2.0.5",
680 | "object-keys": "1.0.11"
681 | }
682 | },
683 | "defined": {
684 | "version": "1.0.0",
685 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
686 | "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
687 | "dev": true
688 | },
689 | "depd": {
690 | "version": "1.1.2",
691 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
692 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
693 | "dev": true
694 | },
695 | "deps-sort": {
696 | "version": "2.0.0",
697 | "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz",
698 | "integrity": "sha1-CRckkC6EZYJg65EHSMzNGvbiH7U=",
699 | "dev": true,
700 | "requires": {
701 | "JSONStream": "1.3.2",
702 | "shasum": "1.0.2",
703 | "subarg": "1.0.0",
704 | "through2": "2.0.3"
705 | }
706 | },
707 | "des.js": {
708 | "version": "1.0.0",
709 | "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
710 | "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
711 | "dev": true,
712 | "requires": {
713 | "inherits": "2.0.3",
714 | "minimalistic-assert": "1.0.1"
715 | }
716 | },
717 | "destroy": {
718 | "version": "1.0.4",
719 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
720 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
721 | "dev": true
722 | },
723 | "detective": {
724 | "version": "5.1.0",
725 | "resolved": "https://registry.npmjs.org/detective/-/detective-5.1.0.tgz",
726 | "integrity": "sha512-TFHMqfOvxlgrfVzTEkNBSh9SvSNX/HfF4OFI2QFGCyPm02EsyILqnUeb5P6q7JZ3SFNTBL5t2sePRgrN4epUWQ==",
727 | "dev": true,
728 | "requires": {
729 | "acorn-node": "1.3.0",
730 | "defined": "1.0.0",
731 | "minimist": "1.2.0"
732 | }
733 | },
734 | "diffie-hellman": {
735 | "version": "5.0.3",
736 | "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
737 | "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
738 | "dev": true,
739 | "requires": {
740 | "bn.js": "4.11.8",
741 | "miller-rabin": "4.0.1",
742 | "randombytes": "2.0.6"
743 | }
744 | },
745 | "dom-walk": {
746 | "version": "0.1.1",
747 | "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz",
748 | "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg="
749 | },
750 | "domain-browser": {
751 | "version": "1.2.0",
752 | "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
753 | "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
754 | "dev": true
755 | },
756 | "duplexer2": {
757 | "version": "0.1.4",
758 | "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
759 | "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
760 | "dev": true,
761 | "requires": {
762 | "readable-stream": "2.3.6"
763 | }
764 | },
765 | "ee-first": {
766 | "version": "1.1.1",
767 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
768 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
769 | "dev": true
770 | },
771 | "elliptic": {
772 | "version": "6.4.0",
773 | "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
774 | "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=",
775 | "dev": true,
776 | "requires": {
777 | "bn.js": "4.11.8",
778 | "brorand": "1.1.0",
779 | "hash.js": "1.1.3",
780 | "hmac-drbg": "1.0.1",
781 | "inherits": "2.0.3",
782 | "minimalistic-assert": "1.0.1",
783 | "minimalistic-crypto-utils": "1.0.1"
784 | }
785 | },
786 | "encodeurl": {
787 | "version": "1.0.2",
788 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
789 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
790 | "dev": true
791 | },
792 | "es-abstract": {
793 | "version": "1.11.0",
794 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.11.0.tgz",
795 | "integrity": "sha512-ZnQrE/lXTTQ39ulXZ+J1DTFazV9qBy61x2bY071B+qGco8Z8q1QddsLdt/EF8Ai9hcWH72dWS0kFqXLxOxqslA==",
796 | "dev": true,
797 | "requires": {
798 | "es-to-primitive": "1.1.1",
799 | "function-bind": "1.1.1",
800 | "has": "1.0.1",
801 | "is-callable": "1.1.3",
802 | "is-regex": "1.0.4"
803 | }
804 | },
805 | "es-to-primitive": {
806 | "version": "1.1.1",
807 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
808 | "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
809 | "dev": true,
810 | "requires": {
811 | "is-callable": "1.1.3",
812 | "is-date-object": "1.0.1",
813 | "is-symbol": "1.0.1"
814 | }
815 | },
816 | "escape-html": {
817 | "version": "1.0.3",
818 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
819 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
820 | "dev": true
821 | },
822 | "escape-string-regexp": {
823 | "version": "1.0.5",
824 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
825 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
826 | "dev": true
827 | },
828 | "etag": {
829 | "version": "1.8.1",
830 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
831 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
832 | "dev": true
833 | },
834 | "events": {
835 | "version": "1.1.1",
836 | "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
837 | "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
838 | "dev": true
839 | },
840 | "evp_bytestokey": {
841 | "version": "1.0.3",
842 | "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
843 | "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
844 | "dev": true,
845 | "requires": {
846 | "md5.js": "1.3.4",
847 | "safe-buffer": "5.1.2"
848 | }
849 | },
850 | "execa": {
851 | "version": "0.10.0",
852 | "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz",
853 | "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==",
854 | "dev": true,
855 | "requires": {
856 | "cross-spawn": "6.0.5",
857 | "get-stream": "3.0.0",
858 | "is-stream": "1.1.0",
859 | "npm-run-path": "2.0.2",
860 | "p-finally": "1.0.0",
861 | "signal-exit": "3.0.2",
862 | "strip-eof": "1.0.0"
863 | }
864 | },
865 | "expand-brackets": {
866 | "version": "0.1.5",
867 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
868 | "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
869 | "dev": true,
870 | "requires": {
871 | "is-posix-bracket": "0.1.1"
872 | }
873 | },
874 | "expand-range": {
875 | "version": "1.8.2",
876 | "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
877 | "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
878 | "dev": true,
879 | "requires": {
880 | "fill-range": "2.2.3"
881 | }
882 | },
883 | "extglob": {
884 | "version": "0.3.2",
885 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
886 | "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
887 | "dev": true,
888 | "requires": {
889 | "is-extglob": "1.0.0"
890 | }
891 | },
892 | "filename-regex": {
893 | "version": "2.0.1",
894 | "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
895 | "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
896 | "dev": true
897 | },
898 | "fill-range": {
899 | "version": "2.2.3",
900 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
901 | "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
902 | "dev": true,
903 | "requires": {
904 | "is-number": "2.1.0",
905 | "isobject": "2.1.0",
906 | "randomatic": "1.1.7",
907 | "repeat-element": "1.1.2",
908 | "repeat-string": "1.6.1"
909 | }
910 | },
911 | "for-each": {
912 | "version": "0.3.2",
913 | "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.2.tgz",
914 | "integrity": "sha1-LEBFC5NI6X8oEyJZO6lnBLmr1NQ=",
915 | "requires": {
916 | "is-function": "1.0.1"
917 | }
918 | },
919 | "for-in": {
920 | "version": "1.0.2",
921 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
922 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
923 | "dev": true
924 | },
925 | "for-own": {
926 | "version": "0.1.5",
927 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
928 | "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
929 | "dev": true,
930 | "requires": {
931 | "for-in": "1.0.2"
932 | }
933 | },
934 | "foreach": {
935 | "version": "2.0.5",
936 | "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
937 | "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
938 | "dev": true
939 | },
940 | "fresh": {
941 | "version": "0.5.2",
942 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
943 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
944 | "dev": true
945 | },
946 | "from2": {
947 | "version": "2.3.0",
948 | "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
949 | "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
950 | "dev": true,
951 | "requires": {
952 | "inherits": "2.0.3",
953 | "readable-stream": "2.3.6"
954 | }
955 | },
956 | "from2-string": {
957 | "version": "1.1.0",
958 | "resolved": "https://registry.npmjs.org/from2-string/-/from2-string-1.1.0.tgz",
959 | "integrity": "sha1-GCgrJ9CKJnyzAwzSuLSw8hKvdSo=",
960 | "dev": true,
961 | "requires": {
962 | "from2": "2.3.0"
963 | }
964 | },
965 | "fs.realpath": {
966 | "version": "1.0.0",
967 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
968 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
969 | "dev": true
970 | },
971 | "fsevents": {
972 | "version": "1.2.3",
973 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.3.tgz",
974 | "integrity": "sha512-X+57O5YkDTiEQGiw8i7wYc2nQgweIekqkepI8Q3y4wVlurgBt2SuwxTeYUYMZIGpLZH3r/TsMjczCMXE5ZOt7Q==",
975 | "dev": true,
976 | "optional": true,
977 | "requires": {
978 | "nan": "2.10.0",
979 | "node-pre-gyp": "0.9.1"
980 | },
981 | "dependencies": {
982 | "abbrev": {
983 | "version": "1.1.1",
984 | "bundled": true,
985 | "dev": true,
986 | "optional": true
987 | },
988 | "ansi-regex": {
989 | "version": "2.1.1",
990 | "bundled": true,
991 | "dev": true
992 | },
993 | "aproba": {
994 | "version": "1.2.0",
995 | "bundled": true,
996 | "dev": true,
997 | "optional": true
998 | },
999 | "are-we-there-yet": {
1000 | "version": "1.1.4",
1001 | "bundled": true,
1002 | "dev": true,
1003 | "optional": true,
1004 | "requires": {
1005 | "delegates": "1.0.0",
1006 | "readable-stream": "2.3.6"
1007 | }
1008 | },
1009 | "balanced-match": {
1010 | "version": "1.0.0",
1011 | "bundled": true,
1012 | "dev": true
1013 | },
1014 | "brace-expansion": {
1015 | "version": "1.1.11",
1016 | "bundled": true,
1017 | "dev": true,
1018 | "requires": {
1019 | "balanced-match": "1.0.0",
1020 | "concat-map": "0.0.1"
1021 | }
1022 | },
1023 | "chownr": {
1024 | "version": "1.0.1",
1025 | "bundled": true,
1026 | "dev": true,
1027 | "optional": true
1028 | },
1029 | "code-point-at": {
1030 | "version": "1.1.0",
1031 | "bundled": true,
1032 | "dev": true
1033 | },
1034 | "concat-map": {
1035 | "version": "0.0.1",
1036 | "bundled": true,
1037 | "dev": true
1038 | },
1039 | "console-control-strings": {
1040 | "version": "1.1.0",
1041 | "bundled": true,
1042 | "dev": true
1043 | },
1044 | "core-util-is": {
1045 | "version": "1.0.2",
1046 | "bundled": true,
1047 | "dev": true,
1048 | "optional": true
1049 | },
1050 | "debug": {
1051 | "version": "2.6.9",
1052 | "bundled": true,
1053 | "dev": true,
1054 | "optional": true,
1055 | "requires": {
1056 | "ms": "2.0.0"
1057 | }
1058 | },
1059 | "deep-extend": {
1060 | "version": "0.4.2",
1061 | "bundled": true,
1062 | "dev": true,
1063 | "optional": true
1064 | },
1065 | "delegates": {
1066 | "version": "1.0.0",
1067 | "bundled": true,
1068 | "dev": true,
1069 | "optional": true
1070 | },
1071 | "detect-libc": {
1072 | "version": "1.0.3",
1073 | "bundled": true,
1074 | "dev": true,
1075 | "optional": true
1076 | },
1077 | "fs-minipass": {
1078 | "version": "1.2.5",
1079 | "bundled": true,
1080 | "dev": true,
1081 | "optional": true,
1082 | "requires": {
1083 | "minipass": "2.2.4"
1084 | }
1085 | },
1086 | "fs.realpath": {
1087 | "version": "1.0.0",
1088 | "bundled": true,
1089 | "dev": true,
1090 | "optional": true
1091 | },
1092 | "gauge": {
1093 | "version": "2.7.4",
1094 | "bundled": true,
1095 | "dev": true,
1096 | "optional": true,
1097 | "requires": {
1098 | "aproba": "1.2.0",
1099 | "console-control-strings": "1.1.0",
1100 | "has-unicode": "2.0.1",
1101 | "object-assign": "4.1.1",
1102 | "signal-exit": "3.0.2",
1103 | "string-width": "1.0.2",
1104 | "strip-ansi": "3.0.1",
1105 | "wide-align": "1.1.2"
1106 | }
1107 | },
1108 | "glob": {
1109 | "version": "7.1.2",
1110 | "bundled": true,
1111 | "dev": true,
1112 | "optional": true,
1113 | "requires": {
1114 | "fs.realpath": "1.0.0",
1115 | "inflight": "1.0.6",
1116 | "inherits": "2.0.3",
1117 | "minimatch": "3.0.4",
1118 | "once": "1.4.0",
1119 | "path-is-absolute": "1.0.1"
1120 | }
1121 | },
1122 | "has-unicode": {
1123 | "version": "2.0.1",
1124 | "bundled": true,
1125 | "dev": true,
1126 | "optional": true
1127 | },
1128 | "iconv-lite": {
1129 | "version": "0.4.21",
1130 | "bundled": true,
1131 | "dev": true,
1132 | "optional": true,
1133 | "requires": {
1134 | "safer-buffer": "2.1.2"
1135 | }
1136 | },
1137 | "ignore-walk": {
1138 | "version": "3.0.1",
1139 | "bundled": true,
1140 | "dev": true,
1141 | "optional": true,
1142 | "requires": {
1143 | "minimatch": "3.0.4"
1144 | }
1145 | },
1146 | "inflight": {
1147 | "version": "1.0.6",
1148 | "bundled": true,
1149 | "dev": true,
1150 | "optional": true,
1151 | "requires": {
1152 | "once": "1.4.0",
1153 | "wrappy": "1.0.2"
1154 | }
1155 | },
1156 | "inherits": {
1157 | "version": "2.0.3",
1158 | "bundled": true,
1159 | "dev": true
1160 | },
1161 | "ini": {
1162 | "version": "1.3.5",
1163 | "bundled": true,
1164 | "dev": true,
1165 | "optional": true
1166 | },
1167 | "is-fullwidth-code-point": {
1168 | "version": "1.0.0",
1169 | "bundled": true,
1170 | "dev": true,
1171 | "requires": {
1172 | "number-is-nan": "1.0.1"
1173 | }
1174 | },
1175 | "isarray": {
1176 | "version": "1.0.0",
1177 | "bundled": true,
1178 | "dev": true,
1179 | "optional": true
1180 | },
1181 | "minimatch": {
1182 | "version": "3.0.4",
1183 | "bundled": true,
1184 | "dev": true,
1185 | "requires": {
1186 | "brace-expansion": "1.1.11"
1187 | }
1188 | },
1189 | "minimist": {
1190 | "version": "0.0.8",
1191 | "bundled": true,
1192 | "dev": true
1193 | },
1194 | "minipass": {
1195 | "version": "2.2.4",
1196 | "bundled": true,
1197 | "dev": true,
1198 | "requires": {
1199 | "safe-buffer": "5.1.1",
1200 | "yallist": "3.0.2"
1201 | }
1202 | },
1203 | "minizlib": {
1204 | "version": "1.1.0",
1205 | "bundled": true,
1206 | "dev": true,
1207 | "optional": true,
1208 | "requires": {
1209 | "minipass": "2.2.4"
1210 | }
1211 | },
1212 | "mkdirp": {
1213 | "version": "0.5.1",
1214 | "bundled": true,
1215 | "dev": true,
1216 | "requires": {
1217 | "minimist": "0.0.8"
1218 | }
1219 | },
1220 | "ms": {
1221 | "version": "2.0.0",
1222 | "bundled": true,
1223 | "dev": true,
1224 | "optional": true
1225 | },
1226 | "needle": {
1227 | "version": "2.2.0",
1228 | "bundled": true,
1229 | "dev": true,
1230 | "optional": true,
1231 | "requires": {
1232 | "debug": "2.6.9",
1233 | "iconv-lite": "0.4.21",
1234 | "sax": "1.2.4"
1235 | }
1236 | },
1237 | "node-pre-gyp": {
1238 | "version": "0.9.1",
1239 | "bundled": true,
1240 | "dev": true,
1241 | "optional": true,
1242 | "requires": {
1243 | "detect-libc": "1.0.3",
1244 | "mkdirp": "0.5.1",
1245 | "needle": "2.2.0",
1246 | "nopt": "4.0.1",
1247 | "npm-packlist": "1.1.10",
1248 | "npmlog": "4.1.2",
1249 | "rc": "1.2.6",
1250 | "rimraf": "2.6.2",
1251 | "semver": "5.5.0",
1252 | "tar": "4.4.1"
1253 | }
1254 | },
1255 | "nopt": {
1256 | "version": "4.0.1",
1257 | "bundled": true,
1258 | "dev": true,
1259 | "optional": true,
1260 | "requires": {
1261 | "abbrev": "1.1.1",
1262 | "osenv": "0.1.5"
1263 | }
1264 | },
1265 | "npm-bundled": {
1266 | "version": "1.0.3",
1267 | "bundled": true,
1268 | "dev": true,
1269 | "optional": true
1270 | },
1271 | "npm-packlist": {
1272 | "version": "1.1.10",
1273 | "bundled": true,
1274 | "dev": true,
1275 | "optional": true,
1276 | "requires": {
1277 | "ignore-walk": "3.0.1",
1278 | "npm-bundled": "1.0.3"
1279 | }
1280 | },
1281 | "npmlog": {
1282 | "version": "4.1.2",
1283 | "bundled": true,
1284 | "dev": true,
1285 | "optional": true,
1286 | "requires": {
1287 | "are-we-there-yet": "1.1.4",
1288 | "console-control-strings": "1.1.0",
1289 | "gauge": "2.7.4",
1290 | "set-blocking": "2.0.0"
1291 | }
1292 | },
1293 | "number-is-nan": {
1294 | "version": "1.0.1",
1295 | "bundled": true,
1296 | "dev": true
1297 | },
1298 | "object-assign": {
1299 | "version": "4.1.1",
1300 | "bundled": true,
1301 | "dev": true,
1302 | "optional": true
1303 | },
1304 | "once": {
1305 | "version": "1.4.0",
1306 | "bundled": true,
1307 | "dev": true,
1308 | "requires": {
1309 | "wrappy": "1.0.2"
1310 | }
1311 | },
1312 | "os-homedir": {
1313 | "version": "1.0.2",
1314 | "bundled": true,
1315 | "dev": true,
1316 | "optional": true
1317 | },
1318 | "os-tmpdir": {
1319 | "version": "1.0.2",
1320 | "bundled": true,
1321 | "dev": true,
1322 | "optional": true
1323 | },
1324 | "osenv": {
1325 | "version": "0.1.5",
1326 | "bundled": true,
1327 | "dev": true,
1328 | "optional": true,
1329 | "requires": {
1330 | "os-homedir": "1.0.2",
1331 | "os-tmpdir": "1.0.2"
1332 | }
1333 | },
1334 | "path-is-absolute": {
1335 | "version": "1.0.1",
1336 | "bundled": true,
1337 | "dev": true,
1338 | "optional": true
1339 | },
1340 | "process-nextick-args": {
1341 | "version": "2.0.0",
1342 | "bundled": true,
1343 | "dev": true,
1344 | "optional": true
1345 | },
1346 | "rc": {
1347 | "version": "1.2.6",
1348 | "bundled": true,
1349 | "dev": true,
1350 | "optional": true,
1351 | "requires": {
1352 | "deep-extend": "0.4.2",
1353 | "ini": "1.3.5",
1354 | "minimist": "1.2.0",
1355 | "strip-json-comments": "2.0.1"
1356 | },
1357 | "dependencies": {
1358 | "minimist": {
1359 | "version": "1.2.0",
1360 | "bundled": true,
1361 | "dev": true,
1362 | "optional": true
1363 | }
1364 | }
1365 | },
1366 | "readable-stream": {
1367 | "version": "2.3.6",
1368 | "bundled": true,
1369 | "dev": true,
1370 | "optional": true,
1371 | "requires": {
1372 | "core-util-is": "1.0.2",
1373 | "inherits": "2.0.3",
1374 | "isarray": "1.0.0",
1375 | "process-nextick-args": "2.0.0",
1376 | "safe-buffer": "5.1.1",
1377 | "string_decoder": "1.1.1",
1378 | "util-deprecate": "1.0.2"
1379 | }
1380 | },
1381 | "rimraf": {
1382 | "version": "2.6.2",
1383 | "bundled": true,
1384 | "dev": true,
1385 | "optional": true,
1386 | "requires": {
1387 | "glob": "7.1.2"
1388 | }
1389 | },
1390 | "safe-buffer": {
1391 | "version": "5.1.1",
1392 | "bundled": true,
1393 | "dev": true
1394 | },
1395 | "safer-buffer": {
1396 | "version": "2.1.2",
1397 | "bundled": true,
1398 | "dev": true,
1399 | "optional": true
1400 | },
1401 | "sax": {
1402 | "version": "1.2.4",
1403 | "bundled": true,
1404 | "dev": true,
1405 | "optional": true
1406 | },
1407 | "semver": {
1408 | "version": "5.5.0",
1409 | "bundled": true,
1410 | "dev": true,
1411 | "optional": true
1412 | },
1413 | "set-blocking": {
1414 | "version": "2.0.0",
1415 | "bundled": true,
1416 | "dev": true,
1417 | "optional": true
1418 | },
1419 | "signal-exit": {
1420 | "version": "3.0.2",
1421 | "bundled": true,
1422 | "dev": true,
1423 | "optional": true
1424 | },
1425 | "string-width": {
1426 | "version": "1.0.2",
1427 | "bundled": true,
1428 | "dev": true,
1429 | "requires": {
1430 | "code-point-at": "1.1.0",
1431 | "is-fullwidth-code-point": "1.0.0",
1432 | "strip-ansi": "3.0.1"
1433 | }
1434 | },
1435 | "string_decoder": {
1436 | "version": "1.1.1",
1437 | "bundled": true,
1438 | "dev": true,
1439 | "optional": true,
1440 | "requires": {
1441 | "safe-buffer": "5.1.1"
1442 | }
1443 | },
1444 | "strip-ansi": {
1445 | "version": "3.0.1",
1446 | "bundled": true,
1447 | "dev": true,
1448 | "requires": {
1449 | "ansi-regex": "2.1.1"
1450 | }
1451 | },
1452 | "strip-json-comments": {
1453 | "version": "2.0.1",
1454 | "bundled": true,
1455 | "dev": true,
1456 | "optional": true
1457 | },
1458 | "tar": {
1459 | "version": "4.4.1",
1460 | "bundled": true,
1461 | "dev": true,
1462 | "optional": true,
1463 | "requires": {
1464 | "chownr": "1.0.1",
1465 | "fs-minipass": "1.2.5",
1466 | "minipass": "2.2.4",
1467 | "minizlib": "1.1.0",
1468 | "mkdirp": "0.5.1",
1469 | "safe-buffer": "5.1.1",
1470 | "yallist": "3.0.2"
1471 | }
1472 | },
1473 | "util-deprecate": {
1474 | "version": "1.0.2",
1475 | "bundled": true,
1476 | "dev": true,
1477 | "optional": true
1478 | },
1479 | "wide-align": {
1480 | "version": "1.1.2",
1481 | "bundled": true,
1482 | "dev": true,
1483 | "optional": true,
1484 | "requires": {
1485 | "string-width": "1.0.2"
1486 | }
1487 | },
1488 | "wrappy": {
1489 | "version": "1.0.2",
1490 | "bundled": true,
1491 | "dev": true
1492 | },
1493 | "yallist": {
1494 | "version": "3.0.2",
1495 | "bundled": true,
1496 | "dev": true
1497 | }
1498 | }
1499 | },
1500 | "function-bind": {
1501 | "version": "1.1.1",
1502 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1503 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1504 | "dev": true
1505 | },
1506 | "garnish": {
1507 | "version": "5.2.0",
1508 | "resolved": "https://registry.npmjs.org/garnish/-/garnish-5.2.0.tgz",
1509 | "integrity": "sha1-vtQ2WTguSxmOM8eTiXvnxwHmVXc=",
1510 | "dev": true,
1511 | "requires": {
1512 | "chalk": "0.5.1",
1513 | "minimist": "1.2.0",
1514 | "pad-left": "2.1.0",
1515 | "pad-right": "0.2.2",
1516 | "prettier-bytes": "1.0.4",
1517 | "pretty-ms": "2.1.0",
1518 | "right-now": "1.0.0",
1519 | "split2": "0.2.1",
1520 | "stdout-stream": "1.4.0",
1521 | "url-trim": "1.0.0"
1522 | }
1523 | },
1524 | "get-ports": {
1525 | "version": "1.0.3",
1526 | "resolved": "https://registry.npmjs.org/get-ports/-/get-ports-1.0.3.tgz",
1527 | "integrity": "sha1-9AvVgKyn7A77e5bL/L6wPviUteg=",
1528 | "dev": true,
1529 | "requires": {
1530 | "map-limit": "0.0.1"
1531 | }
1532 | },
1533 | "get-stream": {
1534 | "version": "3.0.0",
1535 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
1536 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
1537 | "dev": true
1538 | },
1539 | "glob": {
1540 | "version": "7.1.2",
1541 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
1542 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
1543 | "dev": true,
1544 | "requires": {
1545 | "fs.realpath": "1.0.0",
1546 | "inflight": "1.0.6",
1547 | "inherits": "2.0.3",
1548 | "minimatch": "3.0.4",
1549 | "once": "1.4.0",
1550 | "path-is-absolute": "1.0.1"
1551 | }
1552 | },
1553 | "glob-base": {
1554 | "version": "0.3.0",
1555 | "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
1556 | "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
1557 | "dev": true,
1558 | "requires": {
1559 | "glob-parent": "2.0.0",
1560 | "is-glob": "2.0.1"
1561 | }
1562 | },
1563 | "glob-parent": {
1564 | "version": "2.0.0",
1565 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
1566 | "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
1567 | "dev": true,
1568 | "requires": {
1569 | "is-glob": "2.0.1"
1570 | }
1571 | },
1572 | "global": {
1573 | "version": "4.3.2",
1574 | "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz",
1575 | "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
1576 | "requires": {
1577 | "min-document": "2.19.0",
1578 | "process": "0.5.2"
1579 | },
1580 | "dependencies": {
1581 | "process": {
1582 | "version": "0.5.2",
1583 | "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz",
1584 | "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8="
1585 | }
1586 | }
1587 | },
1588 | "graceful-fs": {
1589 | "version": "4.1.11",
1590 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
1591 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
1592 | "dev": true
1593 | },
1594 | "has": {
1595 | "version": "1.0.1",
1596 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
1597 | "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
1598 | "dev": true,
1599 | "requires": {
1600 | "function-bind": "1.1.1"
1601 | }
1602 | },
1603 | "has-ansi": {
1604 | "version": "0.1.0",
1605 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
1606 | "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
1607 | "dev": true,
1608 | "requires": {
1609 | "ansi-regex": "0.2.1"
1610 | }
1611 | },
1612 | "hash-base": {
1613 | "version": "3.0.4",
1614 | "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
1615 | "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
1616 | "dev": true,
1617 | "requires": {
1618 | "inherits": "2.0.3",
1619 | "safe-buffer": "5.1.2"
1620 | }
1621 | },
1622 | "hash.js": {
1623 | "version": "1.1.3",
1624 | "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
1625 | "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
1626 | "dev": true,
1627 | "requires": {
1628 | "inherits": "2.0.3",
1629 | "minimalistic-assert": "1.0.1"
1630 | }
1631 | },
1632 | "hmac-drbg": {
1633 | "version": "1.0.1",
1634 | "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
1635 | "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
1636 | "dev": true,
1637 | "requires": {
1638 | "hash.js": "1.1.3",
1639 | "minimalistic-assert": "1.0.1",
1640 | "minimalistic-crypto-utils": "1.0.1"
1641 | }
1642 | },
1643 | "htmlescape": {
1644 | "version": "1.1.1",
1645 | "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
1646 | "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=",
1647 | "dev": true
1648 | },
1649 | "http-errors": {
1650 | "version": "1.6.3",
1651 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
1652 | "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
1653 | "dev": true,
1654 | "requires": {
1655 | "depd": "1.1.2",
1656 | "inherits": "2.0.3",
1657 | "setprototypeof": "1.1.0",
1658 | "statuses": "1.4.0"
1659 | }
1660 | },
1661 | "https-browserify": {
1662 | "version": "1.0.0",
1663 | "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
1664 | "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
1665 | "dev": true
1666 | },
1667 | "ieee754": {
1668 | "version": "1.1.11",
1669 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.11.tgz",
1670 | "integrity": "sha512-VhDzCKN7K8ufStx/CLj5/PDTMgph+qwN5Pkd5i0sGnVwk56zJ0lkT8Qzi1xqWLS0Wp29DgDtNeS7v8/wMoZeHg==",
1671 | "dev": true
1672 | },
1673 | "individual": {
1674 | "version": "3.0.0",
1675 | "resolved": "https://registry.npmjs.org/individual/-/individual-3.0.0.tgz",
1676 | "integrity": "sha1-58pPhfiVewGHNPKFdQ3CLsL5hi0=",
1677 | "dev": true
1678 | },
1679 | "inflight": {
1680 | "version": "1.0.6",
1681 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1682 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1683 | "dev": true,
1684 | "requires": {
1685 | "once": "1.4.0",
1686 | "wrappy": "1.0.2"
1687 | }
1688 | },
1689 | "inherits": {
1690 | "version": "2.0.3",
1691 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
1692 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
1693 | "dev": true
1694 | },
1695 | "inject-lr-script": {
1696 | "version": "2.1.0",
1697 | "resolved": "https://registry.npmjs.org/inject-lr-script/-/inject-lr-script-2.1.0.tgz",
1698 | "integrity": "sha1-5htehMEYczkGy+oB7D10Zpijn2U=",
1699 | "dev": true,
1700 | "requires": {
1701 | "resp-modifier": "6.0.2"
1702 | }
1703 | },
1704 | "inline-source-map": {
1705 | "version": "0.6.2",
1706 | "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
1707 | "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=",
1708 | "dev": true,
1709 | "requires": {
1710 | "source-map": "0.5.7"
1711 | }
1712 | },
1713 | "insert-module-globals": {
1714 | "version": "7.0.6",
1715 | "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.6.tgz",
1716 | "integrity": "sha512-R3sidKJr3SsggqQQ5cEwQb3pWG8RNx0UnpyeiOSR6jorRIeAOzH2gkTWnNdMnyRiVbjrG047K7UCtlMkQ1Mo9w==",
1717 | "dev": true,
1718 | "requires": {
1719 | "JSONStream": "1.3.2",
1720 | "combine-source-map": "0.8.0",
1721 | "concat-stream": "1.6.2",
1722 | "is-buffer": "1.1.6",
1723 | "lexical-scope": "1.2.0",
1724 | "path-is-absolute": "1.0.1",
1725 | "process": "0.11.10",
1726 | "through2": "2.0.3",
1727 | "xtend": "4.0.1"
1728 | }
1729 | },
1730 | "internal-ip": {
1731 | "version": "3.0.1",
1732 | "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-3.0.1.tgz",
1733 | "integrity": "sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q==",
1734 | "dev": true,
1735 | "requires": {
1736 | "default-gateway": "2.7.1",
1737 | "ipaddr.js": "1.7.0"
1738 | }
1739 | },
1740 | "ip-regex": {
1741 | "version": "2.1.0",
1742 | "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
1743 | "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
1744 | "dev": true
1745 | },
1746 | "ipaddr.js": {
1747 | "version": "1.7.0",
1748 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.7.0.tgz",
1749 | "integrity": "sha1-IgbtM0r8MuAf7T7oOLayUhBoudI=",
1750 | "dev": true
1751 | },
1752 | "is-binary-path": {
1753 | "version": "1.0.1",
1754 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
1755 | "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
1756 | "dev": true,
1757 | "requires": {
1758 | "binary-extensions": "1.11.0"
1759 | }
1760 | },
1761 | "is-buffer": {
1762 | "version": "1.1.6",
1763 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
1764 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
1765 | "dev": true
1766 | },
1767 | "is-callable": {
1768 | "version": "1.1.3",
1769 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz",
1770 | "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=",
1771 | "dev": true
1772 | },
1773 | "is-date-object": {
1774 | "version": "1.0.1",
1775 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
1776 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
1777 | "dev": true
1778 | },
1779 | "is-dotfile": {
1780 | "version": "1.0.3",
1781 | "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
1782 | "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
1783 | "dev": true
1784 | },
1785 | "is-equal-shallow": {
1786 | "version": "0.1.3",
1787 | "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
1788 | "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
1789 | "dev": true,
1790 | "requires": {
1791 | "is-primitive": "2.0.0"
1792 | }
1793 | },
1794 | "is-extendable": {
1795 | "version": "0.1.1",
1796 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
1797 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
1798 | "dev": true
1799 | },
1800 | "is-extglob": {
1801 | "version": "1.0.0",
1802 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
1803 | "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
1804 | "dev": true
1805 | },
1806 | "is-finite": {
1807 | "version": "1.0.2",
1808 | "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
1809 | "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
1810 | "dev": true,
1811 | "requires": {
1812 | "number-is-nan": "1.0.1"
1813 | }
1814 | },
1815 | "is-function": {
1816 | "version": "1.0.1",
1817 | "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz",
1818 | "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU="
1819 | },
1820 | "is-glob": {
1821 | "version": "2.0.1",
1822 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
1823 | "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
1824 | "dev": true,
1825 | "requires": {
1826 | "is-extglob": "1.0.0"
1827 | }
1828 | },
1829 | "is-number": {
1830 | "version": "2.1.0",
1831 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
1832 | "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
1833 | "dev": true,
1834 | "requires": {
1835 | "kind-of": "3.2.2"
1836 | }
1837 | },
1838 | "is-posix-bracket": {
1839 | "version": "0.1.1",
1840 | "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
1841 | "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
1842 | "dev": true
1843 | },
1844 | "is-primitive": {
1845 | "version": "2.0.0",
1846 | "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
1847 | "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
1848 | "dev": true
1849 | },
1850 | "is-promise": {
1851 | "version": "2.1.0",
1852 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
1853 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
1854 | },
1855 | "is-regex": {
1856 | "version": "1.0.4",
1857 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
1858 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
1859 | "dev": true,
1860 | "requires": {
1861 | "has": "1.0.1"
1862 | }
1863 | },
1864 | "is-stream": {
1865 | "version": "1.1.0",
1866 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
1867 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
1868 | "dev": true
1869 | },
1870 | "is-symbol": {
1871 | "version": "1.0.1",
1872 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
1873 | "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=",
1874 | "dev": true
1875 | },
1876 | "isarray": {
1877 | "version": "1.0.0",
1878 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1879 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
1880 | "dev": true
1881 | },
1882 | "isexe": {
1883 | "version": "2.0.0",
1884 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1885 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
1886 | "dev": true
1887 | },
1888 | "isobject": {
1889 | "version": "2.1.0",
1890 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
1891 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
1892 | "dev": true,
1893 | "requires": {
1894 | "isarray": "1.0.0"
1895 | }
1896 | },
1897 | "json-stable-stringify": {
1898 | "version": "0.0.1",
1899 | "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz",
1900 | "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=",
1901 | "dev": true,
1902 | "requires": {
1903 | "jsonify": "0.0.0"
1904 | }
1905 | },
1906 | "json-stringify-safe": {
1907 | "version": "5.0.1",
1908 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
1909 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
1910 | "dev": true
1911 | },
1912 | "jsonify": {
1913 | "version": "0.0.0",
1914 | "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
1915 | "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
1916 | "dev": true
1917 | },
1918 | "jsonparse": {
1919 | "version": "1.3.1",
1920 | "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
1921 | "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
1922 | "dev": true
1923 | },
1924 | "kind-of": {
1925 | "version": "3.2.2",
1926 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1927 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1928 | "dev": true,
1929 | "requires": {
1930 | "is-buffer": "1.1.6"
1931 | }
1932 | },
1933 | "labeled-stream-splicer": {
1934 | "version": "2.0.1",
1935 | "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.1.tgz",
1936 | "integrity": "sha512-MC94mHZRvJ3LfykJlTUipBqenZz1pacOZEMhhQ8dMGcDHs0SBE5GbsavUXV7YtP3icBW17W0Zy1I0lfASmo9Pg==",
1937 | "dev": true,
1938 | "requires": {
1939 | "inherits": "2.0.3",
1940 | "isarray": "2.0.4",
1941 | "stream-splicer": "2.0.0"
1942 | },
1943 | "dependencies": {
1944 | "isarray": {
1945 | "version": "2.0.4",
1946 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.4.tgz",
1947 | "integrity": "sha512-GMxXOiUirWg1xTKRipM0Ek07rX+ubx4nNVElTJdNLYmNO/2YrDkgJGw9CljXn+r4EWiDQg/8lsRdHyg2PJuUaA==",
1948 | "dev": true
1949 | }
1950 | }
1951 | },
1952 | "lexical-scope": {
1953 | "version": "1.2.0",
1954 | "resolved": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz",
1955 | "integrity": "sha1-/Ope3HBKSzqHls3KQZw6CvryLfQ=",
1956 | "dev": true,
1957 | "requires": {
1958 | "astw": "2.2.0"
1959 | }
1960 | },
1961 | "lodash.memoize": {
1962 | "version": "3.0.4",
1963 | "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
1964 | "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=",
1965 | "dev": true
1966 | },
1967 | "map-limit": {
1968 | "version": "0.0.1",
1969 | "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz",
1970 | "integrity": "sha1-63lhAxwPDo0AG/LVb6toXViCLzg=",
1971 | "dev": true,
1972 | "requires": {
1973 | "once": "1.3.3"
1974 | },
1975 | "dependencies": {
1976 | "once": {
1977 | "version": "1.3.3",
1978 | "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
1979 | "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
1980 | "dev": true,
1981 | "requires": {
1982 | "wrappy": "1.0.2"
1983 | }
1984 | }
1985 | }
1986 | },
1987 | "md5": {
1988 | "version": "2.2.1",
1989 | "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz",
1990 | "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=",
1991 | "dev": true,
1992 | "requires": {
1993 | "charenc": "0.0.2",
1994 | "crypt": "0.0.2",
1995 | "is-buffer": "1.1.6"
1996 | }
1997 | },
1998 | "md5.js": {
1999 | "version": "1.3.4",
2000 | "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
2001 | "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=",
2002 | "dev": true,
2003 | "requires": {
2004 | "hash-base": "3.0.4",
2005 | "inherits": "2.0.3"
2006 | }
2007 | },
2008 | "micromatch": {
2009 | "version": "2.3.11",
2010 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
2011 | "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
2012 | "dev": true,
2013 | "requires": {
2014 | "arr-diff": "2.0.0",
2015 | "array-unique": "0.2.1",
2016 | "braces": "1.8.5",
2017 | "expand-brackets": "0.1.5",
2018 | "extglob": "0.3.2",
2019 | "filename-regex": "2.0.1",
2020 | "is-extglob": "1.0.0",
2021 | "is-glob": "2.0.1",
2022 | "kind-of": "3.2.2",
2023 | "normalize-path": "2.1.1",
2024 | "object.omit": "2.0.1",
2025 | "parse-glob": "3.0.4",
2026 | "regex-cache": "0.4.4"
2027 | }
2028 | },
2029 | "miller-rabin": {
2030 | "version": "4.0.1",
2031 | "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
2032 | "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
2033 | "dev": true,
2034 | "requires": {
2035 | "bn.js": "4.11.8",
2036 | "brorand": "1.1.0"
2037 | }
2038 | },
2039 | "mime": {
2040 | "version": "1.4.1",
2041 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
2042 | "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==",
2043 | "dev": true
2044 | },
2045 | "min-document": {
2046 | "version": "2.19.0",
2047 | "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
2048 | "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
2049 | "requires": {
2050 | "dom-walk": "0.1.1"
2051 | }
2052 | },
2053 | "minimalistic-assert": {
2054 | "version": "1.0.1",
2055 | "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
2056 | "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
2057 | "dev": true
2058 | },
2059 | "minimalistic-crypto-utils": {
2060 | "version": "1.0.1",
2061 | "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
2062 | "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
2063 | "dev": true
2064 | },
2065 | "minimatch": {
2066 | "version": "3.0.4",
2067 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
2068 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
2069 | "dev": true,
2070 | "requires": {
2071 | "brace-expansion": "1.1.11"
2072 | }
2073 | },
2074 | "minimist": {
2075 | "version": "1.2.0",
2076 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
2077 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
2078 | "dev": true
2079 | },
2080 | "mkdirp": {
2081 | "version": "0.5.1",
2082 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
2083 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
2084 | "dev": true,
2085 | "requires": {
2086 | "minimist": "0.0.8"
2087 | },
2088 | "dependencies": {
2089 | "minimist": {
2090 | "version": "0.0.8",
2091 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
2092 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
2093 | "dev": true
2094 | }
2095 | }
2096 | },
2097 | "module-deps": {
2098 | "version": "6.0.2",
2099 | "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.0.2.tgz",
2100 | "integrity": "sha512-KWBI3009iRnHjRlxRhe8nJ6kdeBTg4sMi5N6AZgg5f1/v5S7EBCRBOY854I4P5Anl4kx6AJH+4bBBC2Gi3nkvg==",
2101 | "dev": true,
2102 | "requires": {
2103 | "JSONStream": "1.3.2",
2104 | "browser-resolve": "1.11.2",
2105 | "cached-path-relative": "1.0.1",
2106 | "concat-stream": "1.6.2",
2107 | "defined": "1.0.0",
2108 | "detective": "5.1.0",
2109 | "duplexer2": "0.1.4",
2110 | "inherits": "2.0.3",
2111 | "parents": "1.0.1",
2112 | "readable-stream": "2.3.6",
2113 | "resolve": "1.7.1",
2114 | "stream-combiner2": "1.1.1",
2115 | "subarg": "1.0.0",
2116 | "through2": "2.0.3",
2117 | "xtend": "4.0.1"
2118 | }
2119 | },
2120 | "ms": {
2121 | "version": "2.0.0",
2122 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2123 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
2124 | "dev": true
2125 | },
2126 | "nan": {
2127 | "version": "2.10.0",
2128 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
2129 | "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==",
2130 | "dev": true,
2131 | "optional": true
2132 | },
2133 | "nice-try": {
2134 | "version": "1.0.4",
2135 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz",
2136 | "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==",
2137 | "dev": true
2138 | },
2139 | "normalize-path": {
2140 | "version": "2.1.1",
2141 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
2142 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
2143 | "dev": true,
2144 | "requires": {
2145 | "remove-trailing-separator": "1.1.0"
2146 | }
2147 | },
2148 | "npm-run-path": {
2149 | "version": "2.0.2",
2150 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
2151 | "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
2152 | "dev": true,
2153 | "requires": {
2154 | "path-key": "2.0.1"
2155 | }
2156 | },
2157 | "number-is-nan": {
2158 | "version": "1.0.1",
2159 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
2160 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
2161 | "dev": true
2162 | },
2163 | "object-assign": {
2164 | "version": "4.1.1",
2165 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
2166 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
2167 | },
2168 | "object-inspect": {
2169 | "version": "1.5.0",
2170 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.5.0.tgz",
2171 | "integrity": "sha512-UmOFbHbwvv+XHj7BerrhVq+knjceBdkvU5AriwLMvhv2qi+e7DJzxfBeFpILEjVzCp+xA+W/pIf06RGPWlZNfw==",
2172 | "dev": true
2173 | },
2174 | "object-keys": {
2175 | "version": "1.0.11",
2176 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
2177 | "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=",
2178 | "dev": true
2179 | },
2180 | "object.omit": {
2181 | "version": "2.0.1",
2182 | "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
2183 | "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
2184 | "dev": true,
2185 | "requires": {
2186 | "for-own": "0.1.5",
2187 | "is-extendable": "0.1.1"
2188 | }
2189 | },
2190 | "on-finished": {
2191 | "version": "2.3.0",
2192 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
2193 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
2194 | "dev": true,
2195 | "requires": {
2196 | "ee-first": "1.1.1"
2197 | }
2198 | },
2199 | "on-headers": {
2200 | "version": "1.0.1",
2201 | "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
2202 | "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=",
2203 | "dev": true
2204 | },
2205 | "once": {
2206 | "version": "1.4.0",
2207 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2208 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
2209 | "dev": true,
2210 | "requires": {
2211 | "wrappy": "1.0.2"
2212 | }
2213 | },
2214 | "opn": {
2215 | "version": "3.0.3",
2216 | "resolved": "https://registry.npmjs.org/opn/-/opn-3.0.3.tgz",
2217 | "integrity": "sha1-ttmec5n3jWXDuq/+8fsojpuFJDo=",
2218 | "dev": true,
2219 | "requires": {
2220 | "object-assign": "4.1.1"
2221 | }
2222 | },
2223 | "options": {
2224 | "version": "0.0.6",
2225 | "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
2226 | "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=",
2227 | "dev": true
2228 | },
2229 | "os-browserify": {
2230 | "version": "0.3.0",
2231 | "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
2232 | "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
2233 | "dev": true
2234 | },
2235 | "os-tmpdir": {
2236 | "version": "1.0.2",
2237 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
2238 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
2239 | "dev": true
2240 | },
2241 | "outpipe": {
2242 | "version": "1.1.1",
2243 | "resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz",
2244 | "integrity": "sha1-UM+GFjZeh+Ax4ppeyTOaPaRyX6I=",
2245 | "dev": true,
2246 | "requires": {
2247 | "shell-quote": "1.6.1"
2248 | }
2249 | },
2250 | "p-finally": {
2251 | "version": "1.0.0",
2252 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
2253 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
2254 | "dev": true
2255 | },
2256 | "pad-left": {
2257 | "version": "2.1.0",
2258 | "resolved": "https://registry.npmjs.org/pad-left/-/pad-left-2.1.0.tgz",
2259 | "integrity": "sha1-FuajstRKjhOMsIOMx8tAOk/J6ZQ=",
2260 | "dev": true,
2261 | "requires": {
2262 | "repeat-string": "1.6.1"
2263 | }
2264 | },
2265 | "pad-right": {
2266 | "version": "0.2.2",
2267 | "resolved": "https://registry.npmjs.org/pad-right/-/pad-right-0.2.2.tgz",
2268 | "integrity": "sha1-b7ySQEXSRPKiokRQMGDTv8YAl3Q=",
2269 | "dev": true,
2270 | "requires": {
2271 | "repeat-string": "1.6.1"
2272 | }
2273 | },
2274 | "pako": {
2275 | "version": "1.0.6",
2276 | "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
2277 | "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==",
2278 | "dev": true
2279 | },
2280 | "parents": {
2281 | "version": "1.0.1",
2282 | "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
2283 | "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=",
2284 | "dev": true,
2285 | "requires": {
2286 | "path-platform": "0.11.15"
2287 | }
2288 | },
2289 | "parse-asn1": {
2290 | "version": "5.1.1",
2291 | "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
2292 | "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==",
2293 | "dev": true,
2294 | "requires": {
2295 | "asn1.js": "4.10.1",
2296 | "browserify-aes": "1.2.0",
2297 | "create-hash": "1.2.0",
2298 | "evp_bytestokey": "1.0.3",
2299 | "pbkdf2": "3.0.16"
2300 | }
2301 | },
2302 | "parse-glob": {
2303 | "version": "3.0.4",
2304 | "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
2305 | "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
2306 | "dev": true,
2307 | "requires": {
2308 | "glob-base": "0.3.0",
2309 | "is-dotfile": "1.0.3",
2310 | "is-extglob": "1.0.0",
2311 | "is-glob": "2.0.1"
2312 | }
2313 | },
2314 | "parse-headers": {
2315 | "version": "2.0.1",
2316 | "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz",
2317 | "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=",
2318 | "requires": {
2319 | "for-each": "0.3.2",
2320 | "trim": "0.0.1"
2321 | }
2322 | },
2323 | "parse-ms": {
2324 | "version": "1.0.1",
2325 | "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz",
2326 | "integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=",
2327 | "dev": true
2328 | },
2329 | "parse-wavefront-obj": {
2330 | "version": "1.0.3",
2331 | "resolved": "https://registry.npmjs.org/parse-wavefront-obj/-/parse-wavefront-obj-1.0.3.tgz",
2332 | "integrity": "sha1-Ub43AubNLDh0kNlWQOtK+6shck8=",
2333 | "dev": true
2334 | },
2335 | "parseurl": {
2336 | "version": "1.3.2",
2337 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
2338 | "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
2339 | "dev": true
2340 | },
2341 | "path-browserify": {
2342 | "version": "0.0.0",
2343 | "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
2344 | "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
2345 | "dev": true
2346 | },
2347 | "path-is-absolute": {
2348 | "version": "1.0.1",
2349 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2350 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
2351 | "dev": true
2352 | },
2353 | "path-key": {
2354 | "version": "2.0.1",
2355 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
2356 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
2357 | "dev": true
2358 | },
2359 | "path-parse": {
2360 | "version": "1.0.5",
2361 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
2362 | "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
2363 | "dev": true
2364 | },
2365 | "path-platform": {
2366 | "version": "0.11.15",
2367 | "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz",
2368 | "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=",
2369 | "dev": true
2370 | },
2371 | "pbkdf2": {
2372 | "version": "3.0.16",
2373 | "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz",
2374 | "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==",
2375 | "dev": true,
2376 | "requires": {
2377 | "create-hash": "1.2.0",
2378 | "create-hmac": "1.1.7",
2379 | "ripemd160": "2.0.2",
2380 | "safe-buffer": "5.1.2",
2381 | "sha.js": "2.4.11"
2382 | }
2383 | },
2384 | "pem": {
2385 | "version": "1.12.5",
2386 | "resolved": "https://registry.npmjs.org/pem/-/pem-1.12.5.tgz",
2387 | "integrity": "sha512-mm8gLf4ZCaY6Qdm8J4bBdHs6SO4px71FspxgC2jJ0vXf3PYNZnGhU9zITCxpzFHpLPHsHU3xRBbuXNxEWuWziQ==",
2388 | "dev": true,
2389 | "requires": {
2390 | "md5": "2.2.1",
2391 | "os-tmpdir": "1.0.2",
2392 | "safe-buffer": "5.1.2",
2393 | "which": "1.3.0"
2394 | }
2395 | },
2396 | "plur": {
2397 | "version": "1.0.0",
2398 | "resolved": "https://registry.npmjs.org/plur/-/plur-1.0.0.tgz",
2399 | "integrity": "sha1-24XGgU9eXlo7Se/CjWBP7GKXUVY=",
2400 | "dev": true
2401 | },
2402 | "preserve": {
2403 | "version": "0.2.0",
2404 | "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
2405 | "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
2406 | "dev": true
2407 | },
2408 | "prettier-bytes": {
2409 | "version": "1.0.4",
2410 | "resolved": "https://registry.npmjs.org/prettier-bytes/-/prettier-bytes-1.0.4.tgz",
2411 | "integrity": "sha1-mUsCqkb2mcULYle1+qp/4lV+YtY=",
2412 | "dev": true
2413 | },
2414 | "pretty-ms": {
2415 | "version": "2.1.0",
2416 | "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-2.1.0.tgz",
2417 | "integrity": "sha1-QlfCVt8/sLRR1q/6qwIYhBJpgdw=",
2418 | "dev": true,
2419 | "requires": {
2420 | "is-finite": "1.0.2",
2421 | "parse-ms": "1.0.1",
2422 | "plur": "1.0.0"
2423 | }
2424 | },
2425 | "process": {
2426 | "version": "0.11.10",
2427 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
2428 | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
2429 | "dev": true
2430 | },
2431 | "process-nextick-args": {
2432 | "version": "2.0.0",
2433 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
2434 | "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
2435 | "dev": true
2436 | },
2437 | "public-encrypt": {
2438 | "version": "4.0.2",
2439 | "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz",
2440 | "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==",
2441 | "dev": true,
2442 | "requires": {
2443 | "bn.js": "4.11.8",
2444 | "browserify-rsa": "4.0.1",
2445 | "create-hash": "1.2.0",
2446 | "parse-asn1": "5.1.1",
2447 | "randombytes": "2.0.6"
2448 | }
2449 | },
2450 | "punycode": {
2451 | "version": "1.4.1",
2452 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
2453 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
2454 | "dev": true
2455 | },
2456 | "query-string": {
2457 | "version": "4.3.4",
2458 | "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
2459 | "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
2460 | "dev": true,
2461 | "requires": {
2462 | "object-assign": "4.1.1",
2463 | "strict-uri-encode": "1.1.0"
2464 | }
2465 | },
2466 | "querystring": {
2467 | "version": "0.2.0",
2468 | "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
2469 | "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
2470 | "dev": true
2471 | },
2472 | "querystring-es3": {
2473 | "version": "0.2.1",
2474 | "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
2475 | "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
2476 | "dev": true
2477 | },
2478 | "randomatic": {
2479 | "version": "1.1.7",
2480 | "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
2481 | "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
2482 | "dev": true,
2483 | "requires": {
2484 | "is-number": "3.0.0",
2485 | "kind-of": "4.0.0"
2486 | },
2487 | "dependencies": {
2488 | "is-number": {
2489 | "version": "3.0.0",
2490 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
2491 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
2492 | "dev": true,
2493 | "requires": {
2494 | "kind-of": "3.2.2"
2495 | },
2496 | "dependencies": {
2497 | "kind-of": {
2498 | "version": "3.2.2",
2499 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2500 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2501 | "dev": true,
2502 | "requires": {
2503 | "is-buffer": "1.1.6"
2504 | }
2505 | }
2506 | }
2507 | },
2508 | "kind-of": {
2509 | "version": "4.0.0",
2510 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
2511 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
2512 | "dev": true,
2513 | "requires": {
2514 | "is-buffer": "1.1.6"
2515 | }
2516 | }
2517 | }
2518 | },
2519 | "randombytes": {
2520 | "version": "2.0.6",
2521 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
2522 | "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
2523 | "dev": true,
2524 | "requires": {
2525 | "safe-buffer": "5.1.2"
2526 | }
2527 | },
2528 | "randomfill": {
2529 | "version": "1.0.4",
2530 | "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
2531 | "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
2532 | "dev": true,
2533 | "requires": {
2534 | "randombytes": "2.0.6",
2535 | "safe-buffer": "5.1.2"
2536 | }
2537 | },
2538 | "range-parser": {
2539 | "version": "1.2.0",
2540 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
2541 | "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
2542 | "dev": true
2543 | },
2544 | "read-only-stream": {
2545 | "version": "2.0.0",
2546 | "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
2547 | "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=",
2548 | "dev": true,
2549 | "requires": {
2550 | "readable-stream": "2.3.6"
2551 | }
2552 | },
2553 | "readable-stream": {
2554 | "version": "2.3.6",
2555 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
2556 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
2557 | "dev": true,
2558 | "requires": {
2559 | "core-util-is": "1.0.2",
2560 | "inherits": "2.0.3",
2561 | "isarray": "1.0.0",
2562 | "process-nextick-args": "2.0.0",
2563 | "safe-buffer": "5.1.2",
2564 | "string_decoder": "1.1.1",
2565 | "util-deprecate": "1.0.2"
2566 | }
2567 | },
2568 | "readdirp": {
2569 | "version": "2.1.0",
2570 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
2571 | "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
2572 | "dev": true,
2573 | "requires": {
2574 | "graceful-fs": "4.1.11",
2575 | "minimatch": "3.0.4",
2576 | "readable-stream": "2.3.6",
2577 | "set-immediate-shim": "1.0.1"
2578 | }
2579 | },
2580 | "regex-cache": {
2581 | "version": "0.4.4",
2582 | "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
2583 | "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
2584 | "dev": true,
2585 | "requires": {
2586 | "is-equal-shallow": "0.1.3"
2587 | }
2588 | },
2589 | "reload-css": {
2590 | "version": "1.0.2",
2591 | "resolved": "https://registry.npmjs.org/reload-css/-/reload-css-1.0.2.tgz",
2592 | "integrity": "sha1-avsRFi4jFP7M2tbcX96CH9cxgzE=",
2593 | "dev": true,
2594 | "requires": {
2595 | "query-string": "4.3.4"
2596 | }
2597 | },
2598 | "remove-trailing-separator": {
2599 | "version": "1.1.0",
2600 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
2601 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
2602 | "dev": true
2603 | },
2604 | "repeat-element": {
2605 | "version": "1.1.2",
2606 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
2607 | "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
2608 | "dev": true
2609 | },
2610 | "repeat-string": {
2611 | "version": "1.6.1",
2612 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
2613 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
2614 | "dev": true
2615 | },
2616 | "resolve": {
2617 | "version": "1.7.1",
2618 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
2619 | "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
2620 | "dev": true,
2621 | "requires": {
2622 | "path-parse": "1.0.5"
2623 | }
2624 | },
2625 | "resp-modifier": {
2626 | "version": "6.0.2",
2627 | "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz",
2628 | "integrity": "sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08=",
2629 | "dev": true,
2630 | "requires": {
2631 | "debug": "2.6.9",
2632 | "minimatch": "3.0.4"
2633 | }
2634 | },
2635 | "resumer": {
2636 | "version": "0.0.0",
2637 | "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz",
2638 | "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=",
2639 | "dev": true,
2640 | "requires": {
2641 | "through": "2.3.8"
2642 | }
2643 | },
2644 | "right-now": {
2645 | "version": "1.0.0",
2646 | "resolved": "https://registry.npmjs.org/right-now/-/right-now-1.0.0.tgz",
2647 | "integrity": "sha1-bolgne69fc2vja7Mmuo5z1haCRg=",
2648 | "dev": true
2649 | },
2650 | "ripemd160": {
2651 | "version": "2.0.2",
2652 | "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
2653 | "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
2654 | "dev": true,
2655 | "requires": {
2656 | "hash-base": "3.0.4",
2657 | "inherits": "2.0.3"
2658 | }
2659 | },
2660 | "safe-buffer": {
2661 | "version": "5.1.2",
2662 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
2663 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
2664 | "dev": true
2665 | },
2666 | "semver": {
2667 | "version": "5.5.0",
2668 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
2669 | "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
2670 | "dev": true
2671 | },
2672 | "send": {
2673 | "version": "0.16.2",
2674 | "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
2675 | "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
2676 | "dev": true,
2677 | "requires": {
2678 | "debug": "2.6.9",
2679 | "depd": "1.1.2",
2680 | "destroy": "1.0.4",
2681 | "encodeurl": "1.0.2",
2682 | "escape-html": "1.0.3",
2683 | "etag": "1.8.1",
2684 | "fresh": "0.5.2",
2685 | "http-errors": "1.6.3",
2686 | "mime": "1.4.1",
2687 | "ms": "2.0.0",
2688 | "on-finished": "2.3.0",
2689 | "range-parser": "1.2.0",
2690 | "statuses": "1.4.0"
2691 | }
2692 | },
2693 | "serve-static": {
2694 | "version": "1.13.2",
2695 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
2696 | "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
2697 | "dev": true,
2698 | "requires": {
2699 | "encodeurl": "1.0.2",
2700 | "escape-html": "1.0.3",
2701 | "parseurl": "1.3.2",
2702 | "send": "0.16.2"
2703 | }
2704 | },
2705 | "set-immediate-shim": {
2706 | "version": "1.0.1",
2707 | "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
2708 | "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
2709 | "dev": true
2710 | },
2711 | "setprototypeof": {
2712 | "version": "1.1.0",
2713 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
2714 | "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
2715 | "dev": true
2716 | },
2717 | "sha.js": {
2718 | "version": "2.4.11",
2719 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
2720 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
2721 | "dev": true,
2722 | "requires": {
2723 | "inherits": "2.0.3",
2724 | "safe-buffer": "5.1.2"
2725 | }
2726 | },
2727 | "shasum": {
2728 | "version": "1.0.2",
2729 | "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz",
2730 | "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=",
2731 | "dev": true,
2732 | "requires": {
2733 | "json-stable-stringify": "0.0.1",
2734 | "sha.js": "2.4.11"
2735 | }
2736 | },
2737 | "shebang-command": {
2738 | "version": "1.2.0",
2739 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
2740 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
2741 | "dev": true,
2742 | "requires": {
2743 | "shebang-regex": "1.0.0"
2744 | }
2745 | },
2746 | "shebang-regex": {
2747 | "version": "1.0.0",
2748 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
2749 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
2750 | "dev": true
2751 | },
2752 | "shell-quote": {
2753 | "version": "1.6.1",
2754 | "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
2755 | "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=",
2756 | "dev": true,
2757 | "requires": {
2758 | "array-filter": "0.0.1",
2759 | "array-map": "0.0.0",
2760 | "array-reduce": "0.0.0",
2761 | "jsonify": "0.0.0"
2762 | }
2763 | },
2764 | "signal-exit": {
2765 | "version": "3.0.2",
2766 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
2767 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
2768 | "dev": true
2769 | },
2770 | "simple-html-index": {
2771 | "version": "1.5.0",
2772 | "resolved": "https://registry.npmjs.org/simple-html-index/-/simple-html-index-1.5.0.tgz",
2773 | "integrity": "sha1-LJPurrrAAdihNfwAIr1K3o9YmW8=",
2774 | "dev": true,
2775 | "requires": {
2776 | "from2-string": "1.1.0"
2777 | }
2778 | },
2779 | "source-map": {
2780 | "version": "0.5.7",
2781 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
2782 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
2783 | "dev": true
2784 | },
2785 | "split2": {
2786 | "version": "0.2.1",
2787 | "resolved": "https://registry.npmjs.org/split2/-/split2-0.2.1.tgz",
2788 | "integrity": "sha1-At2smtwD7Au3jBKC7Aecpuha6QA=",
2789 | "dev": true,
2790 | "requires": {
2791 | "through2": "0.6.5"
2792 | },
2793 | "dependencies": {
2794 | "isarray": {
2795 | "version": "0.0.1",
2796 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
2797 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
2798 | "dev": true
2799 | },
2800 | "readable-stream": {
2801 | "version": "1.0.34",
2802 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
2803 | "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
2804 | "dev": true,
2805 | "requires": {
2806 | "core-util-is": "1.0.2",
2807 | "inherits": "2.0.3",
2808 | "isarray": "0.0.1",
2809 | "string_decoder": "0.10.31"
2810 | }
2811 | },
2812 | "string_decoder": {
2813 | "version": "0.10.31",
2814 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
2815 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
2816 | "dev": true
2817 | },
2818 | "through2": {
2819 | "version": "0.6.5",
2820 | "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
2821 | "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
2822 | "dev": true,
2823 | "requires": {
2824 | "readable-stream": "1.0.34",
2825 | "xtend": "4.0.1"
2826 | }
2827 | }
2828 | }
2829 | },
2830 | "stacked": {
2831 | "version": "1.1.1",
2832 | "resolved": "https://registry.npmjs.org/stacked/-/stacked-1.1.1.tgz",
2833 | "integrity": "sha1-LH+jjMfjejQRp3zY55LeRI+faXU=",
2834 | "dev": true
2835 | },
2836 | "statuses": {
2837 | "version": "1.4.0",
2838 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
2839 | "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
2840 | "dev": true
2841 | },
2842 | "stdout-stream": {
2843 | "version": "1.4.0",
2844 | "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz",
2845 | "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=",
2846 | "dev": true,
2847 | "requires": {
2848 | "readable-stream": "2.3.6"
2849 | }
2850 | },
2851 | "stream-browserify": {
2852 | "version": "2.0.1",
2853 | "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
2854 | "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
2855 | "dev": true,
2856 | "requires": {
2857 | "inherits": "2.0.3",
2858 | "readable-stream": "2.3.6"
2859 | }
2860 | },
2861 | "stream-combiner2": {
2862 | "version": "1.1.1",
2863 | "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
2864 | "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
2865 | "dev": true,
2866 | "requires": {
2867 | "duplexer2": "0.1.4",
2868 | "readable-stream": "2.3.6"
2869 | }
2870 | },
2871 | "stream-http": {
2872 | "version": "2.8.1",
2873 | "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.1.tgz",
2874 | "integrity": "sha512-cQ0jo17BLca2r0GfRdZKYAGLU6JRoIWxqSOakUMuKOT6MOK7AAlE856L33QuDmAy/eeOrhLee3dZKX0Uadu93A==",
2875 | "dev": true,
2876 | "requires": {
2877 | "builtin-status-codes": "3.0.0",
2878 | "inherits": "2.0.3",
2879 | "readable-stream": "2.3.6",
2880 | "to-arraybuffer": "1.0.1",
2881 | "xtend": "4.0.1"
2882 | }
2883 | },
2884 | "stream-splicer": {
2885 | "version": "2.0.0",
2886 | "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz",
2887 | "integrity": "sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM=",
2888 | "dev": true,
2889 | "requires": {
2890 | "inherits": "2.0.3",
2891 | "readable-stream": "2.3.6"
2892 | }
2893 | },
2894 | "strict-uri-encode": {
2895 | "version": "1.1.0",
2896 | "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
2897 | "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
2898 | "dev": true
2899 | },
2900 | "string.prototype.trim": {
2901 | "version": "1.1.2",
2902 | "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz",
2903 | "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=",
2904 | "dev": true,
2905 | "requires": {
2906 | "define-properties": "1.1.2",
2907 | "es-abstract": "1.11.0",
2908 | "function-bind": "1.1.1"
2909 | }
2910 | },
2911 | "string_decoder": {
2912 | "version": "1.1.1",
2913 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
2914 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
2915 | "dev": true,
2916 | "requires": {
2917 | "safe-buffer": "5.1.2"
2918 | }
2919 | },
2920 | "strip-ansi": {
2921 | "version": "3.0.1",
2922 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
2923 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
2924 | "dev": true,
2925 | "requires": {
2926 | "ansi-regex": "2.1.1"
2927 | },
2928 | "dependencies": {
2929 | "ansi-regex": {
2930 | "version": "2.1.1",
2931 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
2932 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
2933 | "dev": true
2934 | }
2935 | }
2936 | },
2937 | "strip-eof": {
2938 | "version": "1.0.0",
2939 | "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
2940 | "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
2941 | "dev": true
2942 | },
2943 | "subarg": {
2944 | "version": "1.0.0",
2945 | "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
2946 | "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=",
2947 | "dev": true,
2948 | "requires": {
2949 | "minimist": "1.2.0"
2950 | }
2951 | },
2952 | "supports-color": {
2953 | "version": "0.2.0",
2954 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
2955 | "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
2956 | "dev": true
2957 | },
2958 | "syntax-error": {
2959 | "version": "1.4.0",
2960 | "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
2961 | "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
2962 | "dev": true,
2963 | "requires": {
2964 | "acorn-node": "1.3.0"
2965 | }
2966 | },
2967 | "tape": {
2968 | "version": "4.9.0",
2969 | "resolved": "https://registry.npmjs.org/tape/-/tape-4.9.0.tgz",
2970 | "integrity": "sha512-j0jO9BiScfqtPBb9QmPLL0qvxXMz98xjkMb7x8lKipFlJZwNJkqkWPou+NU4V6T9RnVh1kuSthLE8gLrN8bBfw==",
2971 | "dev": true,
2972 | "requires": {
2973 | "deep-equal": "1.0.1",
2974 | "defined": "1.0.0",
2975 | "for-each": "0.3.2",
2976 | "function-bind": "1.1.1",
2977 | "glob": "7.1.2",
2978 | "has": "1.0.1",
2979 | "inherits": "2.0.3",
2980 | "minimist": "1.2.0",
2981 | "object-inspect": "1.5.0",
2982 | "resolve": "1.5.0",
2983 | "resumer": "0.0.0",
2984 | "string.prototype.trim": "1.1.2",
2985 | "through": "2.3.8"
2986 | },
2987 | "dependencies": {
2988 | "resolve": {
2989 | "version": "1.5.0",
2990 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
2991 | "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==",
2992 | "dev": true,
2993 | "requires": {
2994 | "path-parse": "1.0.5"
2995 | }
2996 | }
2997 | }
2998 | },
2999 | "term-color": {
3000 | "version": "1.0.1",
3001 | "resolved": "https://registry.npmjs.org/term-color/-/term-color-1.0.1.tgz",
3002 | "integrity": "sha1-OOGSVTpHPjXkFgT/UZmEa/gRejo=",
3003 | "dev": true,
3004 | "requires": {
3005 | "ansi-styles": "2.0.1",
3006 | "supports-color": "1.3.1"
3007 | },
3008 | "dependencies": {
3009 | "ansi-styles": {
3010 | "version": "2.0.1",
3011 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.0.1.tgz",
3012 | "integrity": "sha1-sDP1f5Pi0oreuLwRE4+hPaD9IKM=",
3013 | "dev": true
3014 | },
3015 | "supports-color": {
3016 | "version": "1.3.1",
3017 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz",
3018 | "integrity": "sha1-FXWN8J2P87SswwdTn6vicJXhBC0=",
3019 | "dev": true
3020 | }
3021 | }
3022 | },
3023 | "through": {
3024 | "version": "2.3.8",
3025 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
3026 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
3027 | "dev": true
3028 | },
3029 | "through2": {
3030 | "version": "2.0.3",
3031 | "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
3032 | "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
3033 | "dev": true,
3034 | "requires": {
3035 | "readable-stream": "2.3.6",
3036 | "xtend": "4.0.1"
3037 | }
3038 | },
3039 | "timers-browserify": {
3040 | "version": "1.4.2",
3041 | "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
3042 | "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=",
3043 | "dev": true,
3044 | "requires": {
3045 | "process": "0.11.10"
3046 | }
3047 | },
3048 | "to-arraybuffer": {
3049 | "version": "1.0.1",
3050 | "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
3051 | "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
3052 | "dev": true
3053 | },
3054 | "trim": {
3055 | "version": "0.0.1",
3056 | "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
3057 | "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0="
3058 | },
3059 | "tty-browserify": {
3060 | "version": "0.0.1",
3061 | "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
3062 | "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==",
3063 | "dev": true
3064 | },
3065 | "typedarray": {
3066 | "version": "0.0.6",
3067 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
3068 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
3069 | "dev": true
3070 | },
3071 | "ultron": {
3072 | "version": "1.0.2",
3073 | "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
3074 | "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=",
3075 | "dev": true
3076 | },
3077 | "umd": {
3078 | "version": "3.0.3",
3079 | "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz",
3080 | "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==",
3081 | "dev": true
3082 | },
3083 | "url": {
3084 | "version": "0.11.0",
3085 | "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
3086 | "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
3087 | "dev": true,
3088 | "requires": {
3089 | "punycode": "1.3.2",
3090 | "querystring": "0.2.0"
3091 | },
3092 | "dependencies": {
3093 | "punycode": {
3094 | "version": "1.3.2",
3095 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
3096 | "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
3097 | "dev": true
3098 | }
3099 | }
3100 | },
3101 | "url-trim": {
3102 | "version": "1.0.0",
3103 | "resolved": "https://registry.npmjs.org/url-trim/-/url-trim-1.0.0.tgz",
3104 | "integrity": "sha1-QAV+LxZLiOXaynJp2kfm0d2Detw=",
3105 | "dev": true
3106 | },
3107 | "util": {
3108 | "version": "0.10.3",
3109 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
3110 | "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
3111 | "dev": true,
3112 | "requires": {
3113 | "inherits": "2.0.1"
3114 | },
3115 | "dependencies": {
3116 | "inherits": {
3117 | "version": "2.0.1",
3118 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
3119 | "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
3120 | "dev": true
3121 | }
3122 | }
3123 | },
3124 | "util-deprecate": {
3125 | "version": "1.0.2",
3126 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
3127 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
3128 | "dev": true
3129 | },
3130 | "vm-browserify": {
3131 | "version": "1.0.1",
3132 | "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.0.1.tgz",
3133 | "integrity": "sha512-EqzLchIMYLBjRPoqVsEkZOa/4Vr2RfOWbd58F+I/Gj79AYTrsseMunxbbSkbYfrqZaXSuPBBXNSOhtJgg0PpmA==",
3134 | "dev": true
3135 | },
3136 | "watchify": {
3137 | "version": "3.11.0",
3138 | "resolved": "https://registry.npmjs.org/watchify/-/watchify-3.11.0.tgz",
3139 | "integrity": "sha512-7jWG0c3cKKm2hKScnSAMUEUjRJKXUShwMPk0ASVhICycQhwND3IMAdhJYmc1mxxKzBUJTSF5HZizfrKrS6BzkA==",
3140 | "dev": true,
3141 | "requires": {
3142 | "anymatch": "1.3.2",
3143 | "browserify": "16.2.0",
3144 | "chokidar": "1.7.0",
3145 | "defined": "1.0.0",
3146 | "outpipe": "1.1.1",
3147 | "through2": "2.0.3",
3148 | "xtend": "4.0.1"
3149 | }
3150 | },
3151 | "watchify-middleware": {
3152 | "version": "1.8.0",
3153 | "resolved": "https://registry.npmjs.org/watchify-middleware/-/watchify-middleware-1.8.0.tgz",
3154 | "integrity": "sha512-INYU5/3zTZtWQvJKPelr47j0JeLTZK4GUDF0PoMltMPzMUEh/lW6g1t+Qe/tGHxm70AUc0NQrth3k3PTfOU9Nw==",
3155 | "dev": true,
3156 | "requires": {
3157 | "concat-stream": "1.6.2",
3158 | "debounce": "1.1.0",
3159 | "events": "1.1.1",
3160 | "object-assign": "4.1.1",
3161 | "strip-ansi": "3.0.1",
3162 | "watchify": "3.11.0"
3163 | }
3164 | },
3165 | "which": {
3166 | "version": "1.3.0",
3167 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
3168 | "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
3169 | "dev": true,
3170 | "requires": {
3171 | "isexe": "2.0.0"
3172 | }
3173 | },
3174 | "wrappy": {
3175 | "version": "1.0.2",
3176 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
3177 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
3178 | "dev": true
3179 | },
3180 | "ws": {
3181 | "version": "1.1.5",
3182 | "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
3183 | "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==",
3184 | "dev": true,
3185 | "requires": {
3186 | "options": "0.0.6",
3187 | "ultron": "1.0.2"
3188 | }
3189 | },
3190 | "xhr": {
3191 | "version": "2.4.1",
3192 | "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.4.1.tgz",
3193 | "integrity": "sha512-pAIU5vBr9Hiy5cpFIbPnwf0C18ZF86DBsZKrlsf87N5De/JbA6RJ83UP/cv+aljl4S40iRVMqP4pr4sF9Dnj0A==",
3194 | "requires": {
3195 | "global": "4.3.2",
3196 | "is-function": "1.0.1",
3197 | "parse-headers": "2.0.1",
3198 | "xtend": "4.0.1"
3199 | }
3200 | },
3201 | "xtend": {
3202 | "version": "4.0.1",
3203 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
3204 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
3205 | }
3206 | }
3207 | }
3208 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "load-asset",
3 | "version": "1.2.0",
4 | "description": "Loads a single or multiple assets and returns a promise.",
5 | "main": "index.js",
6 | "license": "MIT",
7 | "author": {
8 | "name": "Matt DesLauriers",
9 | "email": "dave.des@gmail.com",
10 | "url": "https://github.com/mattdesl"
11 | },
12 | "dependencies": {
13 | "browser-media-mime-type": "^1.0.0",
14 | "is-promise": "^2.1.0",
15 | "object-assign": "^4.1.1",
16 | "xhr": "^2.4.1"
17 | },
18 | "devDependencies": {
19 | "budo": "^11.2.0",
20 | "parse-wavefront-obj": "^1.0.3",
21 | "tape": "^4.9.0"
22 | },
23 | "scripts": {
24 | "test": "budo test/index.js -o --dir test/ --live",
25 | "example": "budo test/custom-type.js -o --dir test/ --live",
26 | "example-font": "budo test/custom-font.js -o --dir test/ --live"
27 | },
28 | "keywords": [
29 | "mp3",
30 | "jpg",
31 | "jpeg",
32 | "image",
33 | "loader",
34 | "loading",
35 | "assets",
36 | "loaders"
37 | ],
38 | "repository": {
39 | "type": "git",
40 | "url": "git://github.com/mattdesl/load-asset.git"
41 | },
42 | "homepage": "https://github.com/mattdesl/load-asset",
43 | "bugs": {
44 | "url": "https://github.com/mattdesl/load-asset/issues"
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/test/custom-font.js:
--------------------------------------------------------------------------------
1 | const load = require('../');
2 |
3 | // A custom font loader
4 | const Font = async (opt) => {
5 | return new window.FontFace(opt.family, `url(${opt.url})`).load();
6 | };
7 |
8 | // Render a Canvas2D graphic with a loaded image + custom font
9 | const draw = async () => {
10 | // First, preload font and image assets
11 | const { background, font } = await load.all({
12 | background: 'fixtures/baboon.png',
13 | font: { url: 'fixtures/Oswald-Medium.ttf', family: 'Oswald', type: Font }
14 | });
15 |
16 | // Then, add the font to the document so that it can be rendered in Canvas2D
17 | document.fonts.add(font);
18 |
19 | // Create a