From ca4878c3045d1718004c855c3e53caafe86a90e5 Mon Sep 17 00:00:00 2001 From: David Manthey Date: Fri, 15 Jun 2018 13:31:44 -0400 Subject: [PATCH 1/5] Document the version and sha constants. Update a few additional things related to documentation. --- .eslintignore | 4 ---- docs/conf.py | 6 +++--- docs/users.rst | 2 +- src/index.js | 2 +- src/sha.js | 9 +++++++++ src/version.js | 9 +++++++++ 6 files changed, 23 insertions(+), 9 deletions(-) diff --git a/.eslintignore b/.eslintignore index 3793e349d1..af488c8f8a 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,7 +1,3 @@ -src/vgl/** -src/version.js -src/sha.js -src/util/wigglemaps.js src/util/distanceGrid.js dist/** testing/** diff --git a/docs/conf.py b/docs/conf.py index b9343ab257..c2ab344f0c 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -12,10 +12,10 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import sys +import json import os -import shutil import re +import sys from glob import glob # from subprocess import check_output @@ -73,7 +73,7 @@ # built documents. # # The short X.Y version. -version = '0.16.0' +version = json.load(open(os.path.join(toppath, 'package.json')))['version'] # The full version, including alpha/beta/rc tags. release = version diff --git a/docs/users.rst b/docs/users.rst index c5b4b47948..5e02f77bad 100644 --- a/docs/users.rst +++ b/docs/users.rst @@ -29,7 +29,7 @@ list of libraries used by GeoJS. +---------------------------+------------+---------------------------+ | `earcut`_ | 2.1 | GL polygon feature | +---------------------------+------------+---------------------------+ - | `jQuery`_ | 2.2 | Core | + | `jQuery`_ | 3.3 | Core | +---------------------------+------------+---------------------------+ .. table:: External GeoJS dependencies diff --git a/src/index.js b/src/index.js index 0521bb5f27..3c7825b77c 100644 --- a/src/index.js +++ b/src/index.js @@ -2,7 +2,7 @@ // License headers that will be preserved in distributed bundles. /** * GeoJS - * @copyright 2013-2017, Kitware, Inc. + * @copyright 2013-2018, Kitware, Inc. * @license Apache-2.0 * * Bundled with the following libraries: diff --git a/src/sha.js b/src/sha.js index 69abf4c005..7fba457db2 100644 --- a/src/sha.js +++ b/src/sha.js @@ -1 +1,10 @@ +/* global GEO_SHA */ + +/** + * The current geojs git SHA. + * + * @alias geo.sha + * @constant + * @type {string} + */ module.exports = GEO_SHA; diff --git a/src/version.js b/src/version.js index 21169a32d6..8188a99343 100644 --- a/src/version.js +++ b/src/version.js @@ -1 +1,10 @@ +/* global GEO_VERSION */ + +/** + * The current geojs version. + * + * @alias geo.version + * @constant + * @type {string} + */ module.exports = GEO_VERSION; From cf5b12fb2b89de874fc20e9c7a066c5183d73d39 Mon Sep 17 00:00:00 2001 From: David Manthey Date: Mon, 18 Jun 2018 09:59:43 -0400 Subject: [PATCH 2/5] Ensure that all point position calls pass the data index. We want position to be a function that takes `(data, dataIndex)`, but in several places we were only calling it with `(data)`. Also, data entries don't have to be objects, so guard against that -- you can set a point feature with data just equal to `{length: }`, and then generate the positions purely based on the index. --- src/pointFeature.js | 6 +++--- tests/cases/pointFeature.js | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/pointFeature.js b/src/pointFeature.js index 43dceb390f..5e00fd9bdd 100644 --- a/src/pointFeature.js +++ b/src/pointFeature.js @@ -148,7 +148,7 @@ var pointFeature = function (arg) { } else { var isFunc = util.isFunction(val); m_this.style('position', function (d, i) { - if (d.__cluster) { + if (d !== null && d !== undefined && d.__cluster) { return d; } else if (isFunc) { return val(d, i); @@ -181,7 +181,7 @@ var pointFeature = function (arg) { // create an array of positions in geo coordinates pts = m_this.data().map(function (d, i) { - var pt = position(d); + var pt = position(d, i); // store the maximum point radius m_maxRadius = Math.max( @@ -275,7 +275,7 @@ var pointFeature = function (arg) { idx = []; // TODO: use the range tree m_this.data().forEach(function (d, i) { - var p = pos(d); + var p = pos(d, i); if (p.x >= lowerLeft.x && p.x <= upperRight.x && p.y >= lowerLeft.y && diff --git a/tests/cases/pointFeature.js b/tests/cases/pointFeature.js index 419315bad8..90bde8141e 100644 --- a/tests/cases/pointFeature.js +++ b/tests/cases/pointFeature.js @@ -53,6 +53,9 @@ describe('geo.pointFeature', function () { point = geo.pointFeature({layer: layer, position: pos}); point._init({position: pos}); expect(point.position()('a')).toEqual(pos); + // with null data + point.position(function (d, i) { return i; }); + expect(point.position()(null, 2)).toBe(2); }); it('data', function () { From a56a346cd9930943066eac68a00396a374fc1a57 Mon Sep 17 00:00:00 2001 From: David Manthey Date: Wed, 16 May 2018 16:11:04 -0400 Subject: [PATCH 3/5] Add an isoline feature. This adds a Math.log10 polyfill and removes the unused Math.sinh polyfill. Add simple isoline example. Add an isoline tutorial. This uses a data set of Oahu's elevation that is lower resolution than the 'dense' set, primarily so that the tutorial will run faster (and test faster). This resolves #592. The `used` function can be overridden for isoline and contour features. This defaults to the `value` function returning a non-null, finite number. Pass the calculated position to the `value` function. This allows the value to be modified based on the position. The isoline label feature is added to the list of dependent features so that something like `myfeature.visible(false).draw()` does what is expected. Don't wrap across longitude if the data is more than 360 units wide, since it probably isn't actually longitude in that case. Reduce memory use for fully populated meshes. For large meshes this can reduce memory use and increase speed. For small meshes, there is practically no difference. Label positions are calculated in map gcs, not interface gcs. Lines are not guaranteed to be linear in the interface gcs, so using it may put labels off of the rendered line. Modify layers for better nested support. Layer's z-index should only be relative to their siblings, not all layers. Layers don't have to be children of the map; they can be children of other layers. Instead of enumerating the map layers for determining siblings, enumerate the children of the layer's parent, filtering to only those that are geo.layer instances. This makes it easier to change the z index of a layer that has dependent layers (such as the isoline feature's canvas layer for text). --- examples/isoline/example.json | 7 + examples/isoline/main.js | 63 ++ examples/isoline/thumb.jpg | Bin 0 -> 121085 bytes karma-base.js | 2 +- src/canvas/index.js | 1 + src/canvas/isolineFeature.js | 34 + src/contourFeature.js | 7 +- src/gl/index.js | 1 + src/gl/isolineFeature.js | 33 + src/index.js | 1 + src/isolineFeature.js | 891 +++++++++++++++++++++++++ src/layer.js | 45 +- src/main.styl | 6 +- src/meshFeature.js | 70 +- src/polyfills.js | 14 +- testing/test-data/oahu-medium.json.md5 | 1 + testing/test-data/oahu-medium.json.url | 1 + tests/cases/isolineFeature.js | 505 ++++++++++++++ tests/test-utils.js | 5 +- tutorials/isoline/index.pug | 204 ++++++ tutorials/isoline/thumb.jpg | Bin 0 -> 146294 bytes tutorials/isoline/tutorial.json | 8 + 22 files changed, 1840 insertions(+), 59 deletions(-) create mode 100644 examples/isoline/example.json create mode 100644 examples/isoline/main.js create mode 100644 examples/isoline/thumb.jpg create mode 100644 src/canvas/isolineFeature.js create mode 100644 src/gl/isolineFeature.js create mode 100644 src/isolineFeature.js create mode 100644 testing/test-data/oahu-medium.json.md5 create mode 100644 testing/test-data/oahu-medium.json.url create mode 100644 tests/cases/isolineFeature.js create mode 100644 tutorials/isoline/index.pug create mode 100755 tutorials/isoline/thumb.jpg create mode 100644 tutorials/isoline/tutorial.json diff --git a/examples/isoline/example.json b/examples/isoline/example.json new file mode 100644 index 0000000000..fd2bc9fee5 --- /dev/null +++ b/examples/isoline/example.json @@ -0,0 +1,7 @@ +{ + "title": "Isolines", + "exampleJs": ["main.js"], + "about": { + "text": "This example shows how to add isolines to a map." + } +} diff --git a/examples/isoline/main.js b/examples/isoline/main.js new file mode 100644 index 0000000000..610e295dc8 --- /dev/null +++ b/examples/isoline/main.js @@ -0,0 +1,63 @@ +// Run after the DOM loads +$(function () { + 'use strict'; + + // Create a map object with the OpenStreetMaps base layer. + var map = geo.map({ + node: '#map', + center: { + x: -157.965, + y: 21.482 + }, + zoom: 11 + }); + + // Add a faint osm layer + map.createLayer('osm', {opacity: 0.5}); + + // Create a feature layer that supports contours + var isolineLayer = map.createLayer('feature', { + features: ['isoline'] + }); + + // Load the data + $.get('../../data/oahu-dense.json').done(function (data) { + // Create an isoline feature + var iso = isolineLayer.createFeature('isoline', { + isoline: { + // Specify our grid data + gridWidth: data.gridWidth, + gridHeight: data.gridHeight, + x0: data.x0, + y0: data.y0, + dx: data.dx, + dy: data.dy, + // Don't plot any values less than zero + min: 0, + // Create a contour line every 50 meters + spacing: 50, + // Make every 4th line heavier and every 4*5 = 20th line heavier yet + levels: [4, 5] + }, + style: { + // The data uses -9999 to represent no value; modify it to return null + // instead. + value: function (d) { return d > -9999 ? d : null; }, + // level relates to the isoline importance, with 0 being the most + // common and, using the levels specified, a level of 1 being every + // fourth, and 2 every twentieth line. Color the lines differently + // depending on the level + strokeColor: function (v, vi, d) { + return ['grey', 'mediumblue', 'blue'][d.level]; + } + } + }).data(data.values).draw(); + // Make some values available in the global context so curious people can + // play with them. + window.example = { + map: map, + isolineLayer: isolineLayer, + iso: iso + }; + }); +}); diff --git a/examples/isoline/thumb.jpg b/examples/isoline/thumb.jpg new file mode 100644 index 0000000000000000000000000000000000000000..eb7d124f13d86c283abdffce51ff498d6c19e8c5 GIT binary patch literal 121085 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 z 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 1`. + * @property {string|function} [labelText] Text for a label. If a function, + * this is called with `(geo.isolineFeature.valueEntry, index)`. This + * defaults to `valueEntry.value`. + * @property {number|function} [labelSpacing=200] Minimum distance between + * labels on an isoline in screen pixels. If a function, this is called + * with `(geo.isolineFeature.valueEntry, index)`. + * @property {number|function} [labelOffset=0] Offset for labels along an + * isoline relative to where they would be placed by default on a scale of + * [-0.5, 0.5]. +/- 1 would move the text to the next repeated occurance of + * the label. If a function, this is called with + * `(geo.isolineFeature.valueEntry, index)`. + * @property {number|function} [labelViewport=10000] If the main position of a + * label would be further than this many pixels from the current viewport, + * don't create it. This prevents creating an excessive number of labels + * when zoomed in, but requires regenerating labels occasionally when + * panning. If <= 0, all labels are generated regardless of location. + * @property {boolean|function} [labelAutoUpdate=true] If truthy, when the map + * is panned (including zoom, rotation, etc.), periodically regenerate + * labels. This uses an internal function that has a threshold based on a + * fixed change in zoom, size, and other parameters. Set `labelAutoUpdate` + * to `false` and handle the `geo.event.pan` elsewhere. + */ + +/** + * Isoline value entry. + * + * @typedef {object} geo.isolineFeature.valueEntry + * @property {number} value The value of the isoline. + * @property {number} level The level of the isoline. + * @property {number} [position] An index of the position of the isoline. For + * evenly spaced or autofit values, this is the value modulo the spacing. + * Otherwise, this is the index position within the list of values. This is + * computed when calculating isolines. + * @property {string} [label] The label to display on this value. This is + * computed from the `label` and `labelText` styles when calculating + * isolines. + */ + +/** + * Computed isoline information. + * + * @typedef {object} geo.isolineFeature.isolineInfo + * @property {geo.isolineFeature.valueEntry[]} values The values used to + * produce the isolines. + * @property {geo.meshFeature.meshInfo} mesh The normalized mesh. + * @property {array[]} lines An array of arrays. Each entry is a list of + * vertices that also have a `value` property with the appropriate entry in + * `values`. If the line should show a label, it will also have a `label` + * property with the text of the label. + * @property {boolean} hasLabels `true` if there are any lines that have + * labels that need to be shown if there is enough resolution. + */ + +/* This includes both the marching triangles and marching squares conditions. + * The triangle pattern has three values, where 0 is less below the threshold + * and 1 is above it. The square pattern has four values in the order + * ul-ur-ll-lr. For each line a pattern produces, the line is created with a + * low and high vertex from each of two edges. Additionally, the create line + * is such that the low value is outside of a clockwise winding. + * + * Performance note: Initially this table used string keys (e.g., '0001'), but + * the string lookup was vastly slower than an integer lookup. + */ +var patternLineTable = { + /* triangles with one high vertex */ + 17 /* 001 */: [{l0: 1, h0: 2, l1: 0, h1: 2}], + 18 /* 010 */: [{l0: 0, h0: 1, l1: 2, h1: 1}], + 20 /* 100 */: [{l0: 2, h0: 0, l1: 1, h1: 0}], + /* triangles with one low vertex */ + 22 /* 110 */: [{l0: 2, h0: 0, l1: 2, h1: 1}], + 21 /* 101 */: [{l0: 1, h0: 2, l1: 1, h1: 0}], + 19 /* 011 */: [{l0: 0, h0: 1, l1: 0, h1: 2}], + /* squares with one high vertex */ + 1 /* 0001 */: [{l0: 2, h0: 3, l1: 1, h1: 3}], + 2 /* 0010 */: [{l0: 0, h0: 2, l1: 3, h1: 2}], + 4 /* 0100 */: [{l0: 3, h0: 1, l1: 0, h1: 1}], + 8 /* 1000 */: [{l0: 1, h0: 0, l1: 2, h1: 0}], + /* squares with one low vertex */ + 14 /* 1110 */: [{l0: 3, h0: 1, l1: 3, h1: 2}], + 13 /* 1101 */: [{l0: 2, h0: 3, l1: 2, h1: 0}], + 11 /* 1011 */: [{l0: 1, h0: 0, l1: 1, h1: 3}], + 7 /* 0111 */: [{l0: 0, h0: 2, l1: 0, h1: 1}], + /* squares with two low vertices sharing a side */ + 3 /* 0011 */: [{l0: 0, h0: 2, l1: 1, h1: 3}], + 10 /* 1010 */: [{l0: 1, h0: 0, l1: 3, h1: 2}], + 12 /* 1100 */: [{l0: 3, h0: 1, l1: 2, h1: 0}], + 5 /* 0101 */: [{l0: 2, h0: 3, l1: 0, h1: 1}], + /* squares with two low vertices on opposite corners. These could generate + * a different pair of lines each. */ + 6 /* 0110 */: [{l0: 0, h0: 2, l1: 0, h1: 1}, {l0: 3, h0: 1, l1: 3, h1: 2}], + 9 /* 1001 */: [{l0: 1, h0: 0, l1: 1, h1: 3}, {l0: 2, h0: 3, l1: 2, h1: 0}] +}; + +/** + * Create a new instance of class isolineFeature. + * + * @class + * @alias geo.isolineFeature + * @extends geo.meshFeature + * + * @borrows geo.isolineFeature#mesh as geo.isolineFeature#contour + * @borrows geo.isolineFeature#mesh as geo.isolineFeature#isoline + * + * @param {geo.isolineFeature.spec} arg + * @returns {geo.isolineFeature} + */ +var isolineFeature = function (arg) { + 'use strict'; + if (!(this instanceof isolineFeature)) { + return new isolineFeature(arg); + } + + var $ = require('jquery'); + var transform = require('./transform'); + var geo_event = require('./event'); + var textFeature = require('./textFeature'); + + arg = arg || {}; + meshFeature.call(this, arg); + + /** + * @private + */ + var m_this = this, + m_isolines, + m_lastLabelPositions, + m_lineFeature, + m_labelLayer, + m_labelFeature, + s_draw = this.draw, + s_exit = this._exit, + s_init = this._init, + s_modified = this.modified, + s_update = this._update; + + this.contour = m_this.mesh; + this.isoline = m_this.mesh; + + /** + * Create a set of isolines. This is a set of lines that could be used for a + * line feature and to inform a text feature. + * + * @returns {geo.isolineFeature.isolineInfo} An object with the isoline + * information. + */ + this._createIsolines = function () { + var valueFunc = m_this.style.get('value'), + usedFunc = m_this.style('used') !== undefined ? + m_this.style.get('used') : + function (d, i) { return util.isNonNullFinite(valueFunc(d, i)); }, + values, + hasLabels = false, + lines = []; + var mesh = this._createMesh({ + used: usedFunc, + value: valueFunc + }); + values = this._getValueList(mesh); + if (!values.length) { + return {}; + } + values.forEach(function (value) { + var valueLines = m_this._isolinesForValue(mesh, value); + if (valueLines.length) { + lines = lines.concat(valueLines); + hasLabels = hasLabels || !!value.label; + } + }); + /* We may want to rdpSimplify the result to remove very small segments, but + * if we do, it must NOT change the winding direction. */ + return { + lines: lines, + mesh: mesh, + values: values, + hasLabels: hasLabels + }; + }; + + /** + * Generate an array of values for which isolines will be generated. + * + * @param {geo.meshFeature.meshInfo} mesh The normalized mesh. + * @returns {geo.isolineFeature.valueEntry[]} The values in ascending order. + */ + this._getValueList = function (mesh) { + var isoline = m_this.isoline, + values = isoline.get('values')(mesh), + spacing = isoline.get('spacing')(mesh), + count = isoline.get('count')(mesh), + autofit = isoline.get('autofit')(mesh), + levels = isoline.get('levels')(mesh), + minmax, delta, step, steppow, steplog10, fixedDigits, i; + if (!mesh.numVertices || !mesh.numElements) { + return []; + } + minmax = util.getMinMaxValues(mesh.value, isoline.get('min')(mesh), isoline.get('max')(mesh), true); + mesh.minValue = minmax.min; + mesh.maxValue = minmax.max; + delta = mesh.maxValue - mesh.minValue; + if (delta <= 0) { + return []; + } + /* Determine values for which we need to generate isolines. */ + if (Array.isArray(values)) { + /* if the caller specified values, use them. Each can either be a number + * or an object with `value` and optionally `level`. If it doesn't have + * level, the position is just the index in the array. */ + values = values.map(function (val, idx) { + return { + value: val.value !== undefined ? val.value : val, + position: idx, + level: val.level + }; + }); + /* Remove any values that are outside of the data range. */ + values = values.filter(function (val) { + return val.value >= mesh.minValue && val.value <= mesh.maxValue; + }); + } else if (!spacing && !autofit) { + /* If no values or spacing are specified and autofit is falsy, then + * use uniform spacing across the value range. The max and min won't + * produce contours (since they are exact values), so there range is + * divided into `count + 1` sections to get `count` visible lines. */ + values = Array(count); + for (i = 0; i < count; i += 1) { + values[i] = { + value: mesh.minValue + delta * (i + 1) / (count + 1), + position: i + 1 + }; + } + } else { + if (!spacing) { + /* If no spacing is specfied, then this has a count with autofit. + * Generate at least 2/3rds as many lines as the count, but it could be + * 5/2 of that when adjusted to "nice values" (so between 2/3 and 5/3 + * of the specified count). */ + step = delta / (count * 2 / 3); + steplog10 = Math.floor(Math.log10(step)); + fixedDigits = Math.max(0, -steplog10); + steppow = Math.pow(10, steplog10); + step /= steppow; // will now be in range [1, 10) + step = step >= 5 ? 5 : step >= 2 ? 2 : 1; // now 1, 2, or 5 + spacing = step * steppow; + } + /* Generate the values based on a spacing. The `position` is used for + * figuring out level further on and is based so that 0 will be the + * maximum level. */ + values = []; + for (i = Math.ceil(mesh.minValue / spacing); i <= Math.floor(mesh.maxValue / spacing); i += 1) { + values.push({value: i * spacing, position: i, fixedDigits: fixedDigits}); + } + } + /* Mark levels for each value. These are intended for styling. All values + * will have a `value` and `position` attribute at this point. */ + if (levels.length) { + values.forEach(function (val, idx) { + if (val.level === undefined) { + val.level = 0; + for (var i = 0, basis = levels[0]; i < levels.length && !(val.position % basis); i += 1, basis *= levels[i]) { + val.level = i + 1; + } + } + if (isoline.get('label')(val, val.position)) { + var label = isoline.get('labelText')(val, val.position); + if (label === undefined) { + if (val.fixedDigits !== undefined) { + label = '' + parseFloat(val.value.toFixed(val.fixedDigits)); + } else { + label = '' + val.value; + } + } + if (label) { + val.label = label; + } + } + }); + } + return values; + }; + + /** + * Add a new segment to a list of chains. Each chain is a list of vertices, + * each of which is an array of two values with the low/high mesh vertices + * for that chain vertex. There are then three possibilities: (a) The + * segment forms a new chain that doesn't attch to an existing chain. (b) + * One endpoint of the segment matches the endpoint of an existing chain, and + * it gets added to that chain. (c) Both endpoints of the segment match + * endpoints of two different chains, and those two chains are combined via + * the segment. A chain may represent a loop, in which case its two + * endpoints will match. This function does not join the loop. + * + * @param {array} chains An array of existing chains. + * @param {array} first One endpoint of the new segment. This is an array of + * two numbers defining the mesh vertices used for the endpoint. + * @param {array} last The second endpoint of the new segment. + * @returns {array} The modified chains array. + */ + this._addSegment = function (chains, first, last) { + var chain = [first, last], + idx = chains.length, + i, iter, check, checkFirst, checkLast, combine; + /* Add the segment as a new chain by itself. */ + chains.push(chain); + for (iter = 0; iter < 2; iter += 1) { + /* Check if the new chain can attach to an existing chain */ + for (i = idx - 1; i >= 0; i -= 1) { + check = chains[i]; + checkFirst = check[0]; + checkLast = check[check.length - 1]; + /* The segment can be inserted at the start of this chain */ + if (last[0] === checkFirst[0] && last[1] === checkFirst[1]) { + combine = chain.concat(check.slice(1)); + /* The segment can be inserted at the end of this chain */ + } else if (first[0] === checkLast[0] && first[1] === checkLast[1]) { + combine = check.concat(chain.slice(1)); + /* These two conditions should never be required, as we generate + * segments with a consistent winding direction. + } else if (first[0] === checkFirst[0] && first[1] === checkFirst[1]) { + combine = chain.slice(1).reverse().concat(check); + } else if (last[0] === checkLast[0] && last[1] === checkLast[1]) { + combine = check.concat(chain.slice(0, chain.length - 1).reverse()); + */ + /* The segment doesn't match this chain, so keep scanning chains */ + } else { + continue; + } + /* The segment matched and `combine` contains the chain it has been + * merged with. */ + chains.splice(idx, 1); + chains[i] = chain = combine; + idx = i; + first = chain[0]; + last = chain[chain.length - 1]; + break; + } + /* If we didn't combine the new chain to any existing chains, then don't + * check if the other end also joins an existing chain. */ + if (i < 0) { + break; + } + } + return chains; + }; + + /** + * Given a vertex of the form [low vertex index, high vertex index], compute + * the coordinates of the vertex. + * + * @param {geo.meshFeature.meshInfo} mesh The normalized mesh. + * @param {geo.isolineFeature.valueEntry} value The value for which to + * generate the vertex. + * @param {number[]} vertex The low vertex index and high vertex index. + * @returns {geo.geoPosition} The calculated coordinate. + */ + this._chainVertex = function (mesh, value, vertex) { + var v0 = vertex[0], v1 = vertex[1], + v03 = v0 * 3, v13 = v1 * 3, + f = (value.value - mesh.value[v0]) / (mesh.value[v1] - mesh.value[v0]), + g = 1 - f; + return { + x: mesh.pos[v03] * g + mesh.pos[v13] * f, + y: mesh.pos[v03 + 1] * g + mesh.pos[v13 + 1] * f, + z: mesh.pos[v03 + 2] * g + mesh.pos[v13 + 2] * f + }; + }; + + /** + * Generate the lines for associated with a particular value. This performs + * either marching triangles or marching squares. + * + * @param {geo.meshFeature.meshInfo} mesh The normalized mesh. + * @param {geo.isolineFeature.valueEntry} value The value for which to + * generate the isolines. + * @returns {geo.isolineFeature.line[]} An array of lines. + */ + this._isolinesForValue = function (mesh, value) { + var val = value.value, + lowhigh = Array(mesh.value.length), + chains = [], + i, v, pattern, lines; + /* Determine if each vertex is above or below the value. It is faster to + * use a for loop than map since it avoids function calls. */ + for (i = lowhigh.length - 1; i >= 0; i -= 1) { + lowhigh[i] = mesh.value[i] <= val ? 0 : 1; + } + var vpe = mesh.verticesPerElement, + square = mesh.shape === 'square', + elem = mesh.elements, + elemLen = elem.length; + for (v = 0; v < elemLen; v += vpe) { + if (square) { + pattern = lowhigh[elem[v]] * 8 + lowhigh[elem[v + 1]] * 4 + + lowhigh[elem[v + 2]] * 2 + lowhigh[elem[v + 3]]; + if (pattern === 0 || pattern === 15) { + continue; + } + } else { + pattern = 16 + lowhigh[elem[v]] * 4 + lowhigh[elem[v + 1]] * 2 + + lowhigh[elem[v + 2]]; + if (pattern === 16 || pattern === 23) { + continue; + } + } + patternLineTable[pattern].forEach(function (lineEntry) { + chains = m_this._addSegment( + chains, + [elem[v + lineEntry.l0], elem[v + lineEntry.h0]], + [elem[v + lineEntry.l1], elem[v + lineEntry.h1]] + ); + }); + } + /* convert chains to lines */ + lines = chains.map(function (chain) { + var line = []; + chain.forEach(function (vertex) { + var v = m_this._chainVertex(mesh, value, vertex); + if (!line.length || v.x !== line[line.length - 1].x || + v.y !== line[line.length - 1].y) { + line.push(v); + } + }); + line.closed = (line[0].x === line[line.length - 1].x && + line[0].y === line[line.length - 1].y); + /* Add value, level, position, and label information to the line. */ + line.value = value.value; + line.level = value.level; + line.position = value.position; + line.label = value.label; + return line; + }).filter(function (line) { return line.length > 1; }); + return lines; + }; + + /** + * When the feature is marked as modified, mark our sub-feature as + * modified, too. + * + * @returns {object} The results of the superclass modified function. + */ + this.modified = function () { + var result = s_modified(); + if (m_lineFeature) { + m_lineFeature.modified(); + } + if (m_labelFeature) { + m_labelFeature.modified(); + } + return result; + }; + + /** + * Compute the positions for labels on each line. This can be called to + * recompute label positions without needign to recompute isolines, for + * instance when the zoom level changes. Label positions are computed in the + * map gcs coordinates, not interface gcs coordinates, since the interface + * gcs may not be linear with the display space. + * + * @returns {this} + */ + this.labelPositions = function () { + if (m_this.dataTime().getMTime() >= m_this.buildTime().getMTime()) { + m_this._build(); + } + m_lastLabelPositions = null; + if (!m_labelFeature) { + return m_this; + } + if (!m_isolines || !m_isolines.hasLabels || !m_isolines.lines || !m_isolines.lines.length) { + m_labelFeature.data([]); + return m_this; + } + var isoline = m_this.isoline, + spacingFunc = isoline.get('labelSpacing'), + offsetFunc = isoline.get('labelOffset'), + labelViewport = isoline.get('labelViewport')(m_isolines.mesh), + gcs = m_this.gcs(), + map = m_this.layer().map(), + mapgcs = map.gcs(), + mapRotation = map.rotation(), + mapSize = map.size(), + labelData = [], + maxSpacing = 0; + m_isolines.lines.forEach(function (line, idx) { + if (!line.label) { + return; + } + var spacing = spacingFunc(line.value, line.value.position), + offset = offsetFunc(line.value, line.value.position) || 0, + dispCoor = map.gcsToDisplay(line, gcs), + totalDistance = 0, + dist, count, localSpacing, next, lineDistance, i, i2, f, g, pos, + mapCoor; + if (spacing <= 0 || isNaN(spacing)) { + return; + } + maxSpacing = Math.max(spacing, maxSpacing); + /* make offset in the range of [0, 1) with the default at 0.5 */ + offset = (offset + 0.5) - Math.floor(offset + 0.5); + dist = dispCoor.map(function (pt1, coorIdx) { + if (!line.closed && coorIdx + 1 === dispCoor.length) { + return 0; + } + var val = Math.sqrt(util.distance2dSquared(pt1, dispCoor[coorIdx + 1 < dispCoor.length ? coorIdx + 1 : 0])); + totalDistance += val; + return val; + }); + count = Math.floor(totalDistance / spacing); + if (!count) { + return; + } + /* If we have any labels, compute map coordinates of the line and use + * those for interpolating label positions */ + mapCoor = transform.transformCoordinates(gcs, mapgcs, line); + localSpacing = totalDistance / count; + next = localSpacing * offset; + lineDistance = 0; + for (i = 0; i < dispCoor.length; i += 1) { + while (lineDistance + dist[i] >= next) { + i2 = i + 1 === dispCoor.length ? 0 : i + 1; + f = (next - lineDistance) / dist[i]; + g = 1 - f; + next += localSpacing; + if (labelViewport > 0) { + pos = { + x: dispCoor[i].x * g + dispCoor[i2].x * f, + y: dispCoor[i].y * g + dispCoor[i2].y * f + }; + if (pos.x < -labelViewport || pos.x > mapSize.width + labelViewport || + pos.y < -labelViewport || pos.y > mapSize.height + labelViewport) { + continue; + } + } + labelData.push({ + x: mapCoor[i].x * g + mapCoor[i2].x * f, + y: mapCoor[i].y * g + mapCoor[i2].y * f, + z: mapCoor[i].z * g + mapCoor[i2].z * f, + line: line, + rotation: Math.atan2(dispCoor[i].y - dispCoor[i2].y, dispCoor[i].x - dispCoor[i2].x) - mapRotation + }); + } + lineDistance += dist[i]; + } + }); + m_labelFeature.gcs(mapgcs); + m_labelFeature.data(labelData); + m_labelFeature.style('renderThreshold', maxSpacing * 2); + m_lastLabelPositions = { + zoom: map.zoom(), + center: map.center(), + rotation: mapRotation, + size: mapSize, + labelViewport: labelViewport, + maxSpacing: maxSpacing, + labelAutoUpdate: isoline.get('labelAutoUpdate')(m_isolines.mesh) + }; + return m_this; + }; + + /** + * Get the last map position that was used for generating labels. + * + * @returns {object} An object with the map `zoom` and `center` and the + * `labelViewport` used in generating labels. The object may have no + * properties if there are no labels. + */ + this.lastLabelPositions = function () { + return $.extend({}, m_lastLabelPositions); + }; + + /** + * On a pan event, if labels exist and are set to autoupdate, recalculate + * their positions and redraw them as needed. Labels are redrawn if the + * zoom level changes by at least 2 levels, or the map's center is moved + * enough that there is a chance that the viewport is nearing the extent of + * the generated labels. The viewport calculation is conservative, as the + * map could be rotated, changed size, or have other modifications. + * + * @returns {exit} + */ + this._updateLabelPositions = function () { + var last = m_lastLabelPositions; + if (!last || !last.labelAutoUpdate) { + return m_this; + } + var map = m_this.layer().map(), + zoom = map.zoom(), + mapSize = map.size(), + update = !!(Math.abs(zoom - last.zoom) >= 2); + if (!update && last.labelViewport > 0) { + /* Distance in scaled pixels between the map's current center and the + * center when the labels were computed. */ + var lastDelta = Math.sqrt(util.distance2dSquared( + map.gcsToDisplay(map.center()), map.gcsToDisplay(last.center))) * + Math.pow(2, last.zoom - zoom); + /* Half the viewport, less twice the maxSpacing, less any expansion of + * the map. */ + var threshold = last.labelViewport / 2 - last.maxSpacing * 2 - Math.max( + mapSize.width - last.size.width, mapSize.height - last.size.height, 0); + update = update || (lastDelta >= threshold); + } + if (update) { + m_this.labelPositions().draw(); + } + return m_this; + }; + + /** + * Build. Generate the isolines. Create a line feature if necessary and + * update it. + * + * @returns {this} + */ + this._build = function () { + m_isolines = m_this._createIsolines(); + if (m_isolines && m_isolines.lines && m_isolines.lines.length) { + if (!m_lineFeature) { + m_lineFeature = m_this.layer().createFeature('line', { + selectionAPI: false, + gcs: m_this.gcs(), + visible: m_this.visible(undefined, true), + style: { + closed: function (d) { return d.closed; } + } + }); + m_this.dependentFeatures([m_lineFeature]); + } + var style = m_this.style(); + m_lineFeature.data(m_isolines.lines).style({ + antialiasing: style.antialiasing, + lineCap: style.lineCap, + lineJoin: style.lineJoin, + miterLimit: style.miterLimit, + strokeWidth: style.strokeWidth, + strokeStyle: style.strokeStyle, + strokeColor: style.strokeColor, + strokeOffset: style.strokeOffset, + strokeOpacity: style.strokeOpacity + }); + if (m_isolines.hasLabels) { + if (!m_labelFeature) { + if (!(registry.registries.features[m_this.layer().rendererName()] || {}).text) { + var renderer = registry.rendererForFeatures(['text']); + m_labelLayer = registry.createLayer('feature', m_this.layer().map(), {renderer: renderer}); + m_this.layer().addChild(m_labelLayer); + m_this.layer().node().append(m_labelLayer.node()); + } + m_labelFeature = (m_labelLayer || m_this.layer()).createFeature('text', { + selectionAPI: false, + gcs: m_this.gcs(), + visible: m_this.visible(undefined, true), + style: { + text: function (d) { return d.line.label; } + } + }).geoOn(geo_event.pan, m_this._updateLabelPositions); + } + textFeature.usedStyles.forEach(function (styleName) { + if (styleName !== 'visible') { + m_labelFeature.style(styleName, style[styleName]); + } + }); + m_this.dependentFeatures([m_lineFeature, m_labelFeature]); + } + } else if (m_lineFeature) { + m_lineFeature.data([]); + } + m_this.buildTime().modified(); + /* Update label positions after setting the build time. The labelPositions + * method will build if necessary, and this prevents it from looping. */ + m_this.labelPositions(); + return m_this; + }; + + /** + * Update. Rebuild if necessary. + * + * @returns {this} + */ + this._update = function () { + s_update.call(m_this); + + if (m_this.dataTime().getMTime() >= m_this.buildTime().getMTime() || + m_this.updateTime().getMTime() <= m_this.getMTime()) { + m_this._build(); + } + m_this.updateTime().modified(); + return m_this; + }; + + /** + * Redraw the object. + * + * @returns {object} The results of the superclass draw function. + */ + this.draw = function () { + var result = s_draw(); + if (m_lineFeature) { + m_lineFeature.draw(); + } + if (m_labelFeature) { + m_labelFeature.draw(); + } + return result; + }; + + /** + * Destroy. + */ + this._exit = function () { + if (m_labelFeature) { + if (m_labelLayer || m_this.layer()) { + (m_labelLayer || m_this.layer()).deleteFeature(m_labelFeature); + } + if (m_labelLayer && m_this.layer()) { + m_this.layer().removeChild(m_labelLayer); + } + } + if (m_lineFeature && m_this.layer()) { + m_this.layer().deleteFeature(m_lineFeature); + } + m_labelFeature = null; + m_labelLayer = null; + m_lineFeature = null; + m_this.dependentFeatures([]); + + s_exit(); + }; + + /** + * Initialize. + * + * @param {geo.isolineFeature.spec} arg The isoline feature specification. + */ + this._init = function (arg) { + arg = arg || {}; + s_init.call(m_this, arg); + + var defaultStyle = $.extend( + {}, + { + opacity: 1.0, + value: function (d, i) { + return m_this.position()(d, i).z; + }, + rotateWithMap: true, + rotation: isolineFeature.rotationFunction(), + strokeWidth: function (v, vi, d, di) { return d.level + 0.5; }, + strokeColor: {r: 0, g: 0, b: 0}, + textStrokeColor: {r: 1, g: 1, b: 1, a: 0.75}, + textStrokeWidth: 2, + fontSize: '12px' + }, + arg.style === undefined ? {} : arg.style + ); + + m_this.style(defaultStyle); + + m_this.isoline($.extend({}, { + count: 15, + autofit: true, + levels: [5, 5], + label: function (value) { + return value.level >= 1; + }, + labelSpacing: 200, + labelViewport: 10000, + labelAutoUpdate: true + }, arg.mesh || {}, arg.contour || {}, arg.isoline || {})); + + if (arg.mesh || arg.contour || arg.isoline) { + m_this.dataTime().modified(); + } + }; + + return this; +}; + +/** + * Return a function that will rotate text labels in a specified orientation. + * The results of this are intended to be used as the value of the `rotation` + * style. + * + * @param {string} [mode='higher'] The rotation mode. `higher` orients the top + * of the text to high values. `lower` orients the top of the text to lower + * values. `map` orients the top of the text so it is aligned to the isoline + * and biased toward the top of the map. `screen` orients the top of the + * text so it is aligned to the isoline and biased toward the top of the + * display screen. + * @param {geo.map} [map] The parent map. Required for `screen` mode. + * @returns {function} A function for the rotation style. + */ +isolineFeature.rotationFunction = function (mode, map) { + var functionList = { + 'higher': function (d) { + return d.rotation; + }, + 'lower': function (d) { + return d.rotation + Math.PI; + }, + 'map': function (d) { + var r = d.rotation, + rt = util.wrapAngle(r, true); + if (rt > Math.PI / 2 || rt < -Math.PI / 2) { + r += Math.PI; + } + return r; + }, + 'screen': function (d) { + var r = d.rotation, + rt = util.wrapAngle(r + map.rotation(), true); + if (rt > Math.PI / 2 || rt < -Math.PI / 2) { + r += Math.PI; + } + return r; + } + }; + return functionList[mode] || functionList.higher; +}; + +inherit(isolineFeature, meshFeature); +module.exports = isolineFeature; diff --git a/src/layer.js b/src/layer.js index 18d0bd8506..b032b01e0f 100644 --- a/src/layer.js +++ b/src/layer.js @@ -90,6 +90,19 @@ var layer = function (arg) { throw new Error('Layers must be initialized on a map.'); } + /** + * Get a list of sibling layers. If no parent has been assigned to this + * layer, assume that the map will be the parent. This gets all of the + * parent's children that are layer instances. + * + * @returns {geo.layer[]} A list of sibling layers. + */ + function _siblingLayers() { + return (m_this.parent() || m_this.map()).children().filter(function (child) { + return child instanceof layer; + }); + } + /** * Get the name of the renderer. * @@ -118,8 +131,8 @@ var layer = function (arg) { // if any extant layer has the same index, then we move all of those // layers up. We do this in reverse order since, if two layers above // this one share a z-index, they will resolve to the layer insert order. - m_map.children().reverse().forEach(function (child) { - if (child.zIndex && child !== this && child.zIndex() === zIndex) { + _siblingLayers().reverse().forEach(function (child) { + if (child !== this && child.zIndex() === zIndex) { child.zIndex(zIndex + 1); } }); @@ -153,7 +166,7 @@ var layer = function (arg) { } // get a sorted list of layers - order = m_this.map().layers().sort( + order = _siblingLayers().sort( function (a, b) { return sign * (a.zIndex() - b.zIndex()); } ); @@ -196,7 +209,7 @@ var layer = function (arg) { * @returns {this} */ this.moveToTop = function () { - return m_this.moveUp(m_this.map().children().length - 1); + return m_this.moveUp(_siblingLayers().length - 1); }; /** @@ -205,7 +218,7 @@ var layer = function (arg) { * @returns {this} */ this.moveToBottom = function () { - return m_this.moveDown(m_this.map().children().length - 1); + return m_this.moveDown(_siblingLayers().length - 1); }; /** @@ -537,25 +550,23 @@ var layer = function (arg) { return m_opacity; }; + // Create top level div for the layer + m_node = $(document.createElement('div')); + m_node.addClass('geojs-layer'); + m_node.attr('id', m_name); + m_this.opacity(m_opacity); + + // set the z-index (this prevents duplication) if (arg.zIndex === undefined) { var maxZ = -1; - m_map.children().forEach(function (child) { - if (child.zIndex) { + _siblingLayers().forEach(function (child) { + if (child.zIndex() !== undefined) { maxZ = Math.max(maxZ, child.zIndex()); } }); arg.zIndex = maxZ + 1; } - m_zIndex = arg.zIndex; - - // Create top level div for the layer - m_node = $(document.createElement('div')); - m_node.addClass('geojs-layer'); - m_node.attr('id', m_name); - m_this.opacity(m_opacity); - - // set the z-index - m_this.zIndex(m_zIndex); + m_this.zIndex(arg.zIndex); return m_this; }; diff --git a/src/main.styl b/src/main.styl index c424fb567a..c4c14b0712 100644 --- a/src/main.styl +++ b/src/main.styl @@ -6,8 +6,8 @@ .geo-attribution position absolute - right 0px - bottom 0px + right 0 + bottom 0 padding-right 5px cursor auto font 11px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif @@ -30,6 +30,8 @@ position absolute width 100% height 100% + left 0 + top 0 pointer-events none &.active > * diff --git a/src/meshFeature.js b/src/meshFeature.js index 55971a23f2..5b2ef63120 100644 --- a/src/meshFeature.js +++ b/src/meshFeature.js @@ -204,9 +204,10 @@ var meshFeature = function (arg) { * @param {object} [vertexValueFuncs] A dictionary where the keys are the * names of properties to include in the results and the values are * functions that are evaluated at each vertex with the arguments - * (data[idx], idx). If a key is named `used`, then if its function - * returns a falsy value for a data point, the vertex associated with that - * data point is removed from the resultant mesh. + * `(data[idx], idx, position)`. If a key is named `used`, then its + * function is passed `(data[idx], idx)` and if it returns a falsy value + * for a data point, the vertex associated with that data point is removed + * from the resultant mesh. * @returns {geo.meshFeature.meshInfo} An object with the mesh information. */ this._createMesh = function (vertexValueFuncs) { @@ -242,7 +243,7 @@ var meshFeature = function (arg) { wrapLongitude = !!(wrapLongitude === undefined || wrapLongitude); if (!usePos && wrapLongitude && (x0 < -180 || x0 > 180 || x0 + dx * (gridW - 1) < -180 || x0 + dx * (gridW - 1) > 180) && - dx > -180 && dx < 180) { + dx > -180 && dx < 180 && dx * (gridW - 1) < 360 + 1e-4) { calcX = []; for (i = 0; i < gridW; i += 1) { x = x0 + i * dx; @@ -271,10 +272,9 @@ var meshFeature = function (arg) { } /* Calculate the value for point */ numPts = gridW * gridH; - result.index = new Array(numPts); - for (i = 0; i < numPts; i += 1) { - origI = i; - if (skipColumn !== undefined) { + if (skipColumn !== undefined) { + result.index = new Array(numPts); + for (i = 0; i < numPts; i += 1) { j = Math.floor(i / gridW); origI = i - j * gridW; origI += (origI > skipColumn ? -2 : 0); @@ -282,8 +282,8 @@ var meshFeature = function (arg) { origI -= gridWorig; } origI += j * gridWorig; + result.index[i] = origI; } - result.index[i] = origI; } /* Create triangles */ for (j = idx = 0; j < gridH - 1; j += 1, idx += 1) { @@ -336,10 +336,6 @@ var meshFeature = function (arg) { result.elements = elements.slice(0, elements.length - (elements.length % 3)); } } - result.index = new Array(data.length); - for (i = 0; i < data.length; i += 1) { - result.index[i] = i; - } numPts = data.length; usePos = true; } @@ -349,20 +345,37 @@ var meshFeature = function (arg) { * used. This could leave vertices that are unused by any element, but * removing those is expensive so it is not done. */ if (vertexValueFuncs.used) { - var remap = new Array(numPts), - vpe = result.verticesPerElement; - for (i = usedPts = 0; i < numPts; i += 1) { - idx = result.index[i]; - if (vertexValueFuncs.used(data[idx], idx)) { - remap[i] = usedPts; - result.index[usedPts] = result.index[i]; - usedPts += 1; - } else { - remap[i] = -1; + for (i = 0; i < numPts; i += 1) { + idx = result.index ? result.index[i] : i; + if (!vertexValueFuncs.used(data[idx], idx)) { + break; } } - result.index.splice(usedPts); - if (usedPts !== numPts) { + if (i !== numPts) { + usedPts = i; + var remap = new Array(numPts), + vpe = result.verticesPerElement; + for (j = 0; j < usedPts; j += 1) { + remap[j] = j; + } + remap[usedPts] = -1; + if (!result.index) { + result.index = new Array(data.length); + for (j = 0; j < data.length; j += 1) { + result.index[j] = j; + } + } + for (i = usedPts + 1; i < numPts; i += 1) { + idx = result.index[i]; + if (vertexValueFuncs.used(data[idx], idx)) { + remap[i] = usedPts; + result.index[usedPts] = result.index[i]; + usedPts += 1; + } else { + remap[i] = -1; + } + } + result.index.splice(usedPts); for (i = k = 0; i < result.elements.length; i += vpe) { for (j = 0; j < vpe; j += 1) { if (remap[result.elements[i + j]] < 0) { @@ -375,8 +388,8 @@ var meshFeature = function (arg) { } } result.elements.splice(k); + numPts = usedPts; } - numPts = usedPts; } /* Get point locations and store them in a packed array */ result.pos = new Array(numPts * 3); @@ -386,7 +399,7 @@ var meshFeature = function (arg) { } } for (i = i3 = 0; i < numPts; i += 1, i3 += 3) { - idx = result.index[i]; + idx = result.index ? result.index[i] : i; item = data[idx]; if (usePos) { posVal = posFunc(item, idx); @@ -401,10 +414,11 @@ var meshFeature = function (arg) { } result.pos[i3 + 1] = y0 + dy * Math.floor(idx / gridW); result.pos[i3 + 2] = 0; + posVal = {x: result.pos[i3], y: result.pos[i3 + 1], z: result.pos[i3 + 2]}; } for (key in vertexValueFuncs) { if (key !== 'used' && vertexValueFuncs.hasOwnProperty(key)) { - result[key][i] = vertexValueFuncs[key](item, idx); + result[key][i] = vertexValueFuncs[key](item, idx, posVal); } } } diff --git a/src/polyfills.js b/src/polyfills.js index 22c62d5315..61c3cab01a 100644 --- a/src/polyfills.js +++ b/src/polyfills.js @@ -23,14 +23,16 @@ if (!window.requestAnimationFrame) { } // Add a polyfill for Math.log2 -if (!Math.log2) { +if (!('log2' in Math)) { Math.log2 = function () { return Math.log.apply(Math, arguments) / Math.LN2; }; } -// Add a polyfill for Math.sinh -Math.sinh = Math.sinh || function (x) { - var y = Math.exp(x); - return (y - 1 / y) / 2; -}; +// Add a polyfill for Math.log10 +if (!('log10' in Math)) { + Math.log10 = function () { + return Math.log.apply(Math, arguments) / Math.LN10; + }; + Math.log10.polyfilled = true; +} diff --git a/testing/test-data/oahu-medium.json.md5 b/testing/test-data/oahu-medium.json.md5 new file mode 100644 index 0000000000..1068442d41 --- /dev/null +++ b/testing/test-data/oahu-medium.json.md5 @@ -0,0 +1 @@ +1f7c4324577dcc314dad02e48f6077b0 \ No newline at end of file diff --git a/testing/test-data/oahu-medium.json.url b/testing/test-data/oahu-medium.json.url new file mode 100644 index 0000000000..c8fad67ac7 --- /dev/null +++ b/testing/test-data/oahu-medium.json.url @@ -0,0 +1 @@ +https://data.kitware.com/api/v1/file/5b16c6918d777f15ebe1ffe7/download diff --git a/tests/cases/isolineFeature.js b/tests/cases/isolineFeature.js new file mode 100644 index 0000000000..9d606a6dc8 --- /dev/null +++ b/tests/cases/isolineFeature.js @@ -0,0 +1,505 @@ +describe('Isoline Feature', function () { + 'use strict'; + + var geo = require('../test-utils').geo; + var createMap = require('../test-utils').createMap; + var destroyMap = require('../test-utils').destroyMap; + var closeToEqual = require('../test-utils').closeToEqual; + var mockVGLRenderer = geo.util.mockVGLRenderer; + var restoreVGLRenderer = geo.util.restoreVGLRenderer; + var mockAnimationFrame = require('../test-utils').mockAnimationFrame; + var stepAnimationFrame = require('../test-utils').stepAnimationFrame; + var unmockAnimationFrame = require('../test-utils').unmockAnimationFrame; + var map, layer, canvasLayer; + var vertexList = [ + {x: 0, y: 0, z: 0}, + {x: 0, y: 1, z: 1}, + {x: 0, y: 3, z: 2}, + {x: 1, y: 0, z: 3}, + {x: 2, y: 2, z: 4}, + {x: 3, y: 3, z: 5}, + {x: 4, y: 0, z: null}, + {x: 4, y: 1, z: 7}, + {x: 4, y: 3, z: 8}, + {x: 5, y: 0, z: 7}, + {x: 5, y: 2, z: 6}, + {x: 5, y: 3, z: 5} + ]; + var squareElements = [ + [1, 2, 5, 4], [0, 1, 4, 3], + [3, 4, 7, 6], [4, 5, 8, 7], + [6, 7, 10, 9], [7, 8, 11, 10]]; + var triangleElements = [ + [0, 1, 4], [1, 2, 5], [3, 4, 7], [4, 5, 8], + [4, 3, 0], [5, 4, 1], [7, 6, 3], [8, 7, 4], + [6, 7, 9], [10, 9, 7], [7, 8, 10], [11, 10, 8]]; + + beforeEach(function () { + mockVGLRenderer(); + mockAnimationFrame(); + map = createMap({ + 'center': [2.5, 1.5], + 'zoom': 9 + }, {width: '500px', height: '300px'}); + layer = map.createLayer('feature', {'renderer': 'vgl'}); + canvasLayer = map.createLayer('feature', {'renderer': 'canvas'}); + }); + + afterEach(function () { + destroyMap(); + unmockAnimationFrame(); + restoreVGLRenderer(); + }); + + describe('create', function () { + it('direct create', function () { + var isoline = geo.isolineFeature({layer: layer}); + expect(isoline instanceof geo.isolineFeature).toBe(true); + expect(isoline instanceof geo.meshFeature).toBe(true); + var mesh = geo.meshFeature({layer: layer}); + expect(mesh instanceof geo.meshFeature).toBe(true); + }); + }); + + describe('Check private class methods', function () { + it('_addSegment', function () { + var isoline = geo.isolineFeature({layer: layer}); + var chains = []; + isoline._addSegment(chains, [0, 1], [2, 3]); + expect(chains.length).toBe(1); + expect(chains[0].length).toBe(2); + expect(chains[0][0]).toEqual([0, 1]); + expect(chains[0][1]).toEqual([2, 3]); + isoline._addSegment(chains, [2, 3], [4, 5]); + expect(chains.length).toBe(1); + expect(chains[0].length).toBe(3); + expect(chains[0][0]).toEqual([0, 1]); + expect(chains[0][2]).toEqual([4, 5]); + isoline._addSegment(chains, [6, 7], [0, 1]); + expect(chains.length).toBe(1); + expect(chains[0].length).toBe(4); + expect(chains[0][0]).toEqual([6, 7]); + expect(chains[0][3]).toEqual([4, 5]); + isoline._addSegment(chains, [8, 9], [10, 11]); + expect(chains.length).toBe(2); + expect(chains[0].length).toBe(4); + expect(chains[1].length).toBe(2); + isoline._addSegment(chains, [12, 13], [8, 9]); + expect(chains.length).toBe(2); + expect(chains[0].length).toBe(4); + expect(chains[1].length).toBe(3); + isoline._addSegment(chains, [10, 11], [6, 7]); + expect(chains.length).toBe(1); + expect(chains[0].length).toBe(7); + expect(chains[0][0]).toEqual([12, 13]); + expect(chains[0][6]).toEqual([4, 5]); + isoline._addSegment(chains, [4, 5], [12, 13]); + expect(chains.length).toBe(1); + expect(chains[0].length).toBe(8); + expect(chains[0][0]).toEqual([4, 5]); + expect(chains[0][7]).toEqual([4, 5]); + }); + describe('_build', function () { + it('vgl', function () { + var isoline = layer.createFeature('isoline', { + isoline: {elements: squareElements}}).data(vertexList); + expect(layer.features().length).toBe(1); + expect(layer.children().length).toBe(1); + expect(isoline._build()).toBe(isoline); + expect(layer.features().length).toBe(2); + expect(layer.children().length).toBe(3); + // number of lines + expect(layer.features()[1].data().length).toBe(18); + // number of labels + expect(layer.children()[2].features()[0].data().length).toBe(10); + isoline.draw(); + stepAnimationFrame(); + isoline.isoline('values', []); + expect(isoline._build()).toBe(isoline); + expect(layer.features()[1].data().length).toBe(0); + expect(layer.children()[2].features()[0].data().length).toBe(0); + }); + it('canvas', function () { + var isoline = canvasLayer.createFeature('isoline', { + isoline:{elements: squareElements}}).data(vertexList); + expect(canvasLayer.features().length).toBe(1); + expect(canvasLayer.children().length).toBe(1); + expect(isoline._build()).toBe(isoline); + expect(canvasLayer.features().length).toBe(3); + expect(canvasLayer.children().length).toBe(3); + // number of lines + expect(canvasLayer.features()[1].data().length).toBe(18); + // number of labels + expect(canvasLayer.features()[2].data().length).toBe(10); + isoline.draw(); + stepAnimationFrame(); + isoline.isoline('values', []); + expect(isoline._build()).toBe(isoline); + expect(canvasLayer.features()[1].data().length).toBe(0); + expect(canvasLayer.features()[2].data().length).toBe(0); + }); + }); + it('_chainVertex', function () { + var isoline = geo.isolineFeature({layer: layer}); + expect(closeToEqual(isoline._chainVertex( + {value: [10, 15], pos: [1, 2, 3, 5, 4, 1]}, {value: 11}, [0, 1]), + {x: 1.8, y: 2.4, z: 2.6})).toBe(true); + expect(closeToEqual(isoline._chainVertex( + {value: [10, 15], pos: [1, 2, 3, 5, 4, 1]}, {value: 11}, [1, 0]), + {x: 1.8, y: 2.4, z: 2.6})).toBe(true); + expect(closeToEqual(isoline._chainVertex( + {value: [15, 10], pos: [1, 2, 3, 5, 4, 1]}, {value: 11}, [0, 1]), + {x: 4.2, y: 3.6, z: 1.4})).toBe(true); + expect(closeToEqual(isoline._chainVertex( + {value: [10, 15], pos: [1, 2, 3, 5, 4, 1]}, {value: 15}, [0, 1]), + {x: 5, y: 4, z: 1})).toBe(true); + expect(closeToEqual(isoline._chainVertex( + {value: [10, 15], pos: [1, 2, 3, 5, 4, 1]}, {value: 15}, [1, 0]), + {x: 5, y: 4, z: 1})).toBe(true); + }); + describe('_createIsolines', function () { + it('square mesh', function () { + var isoline = layer.createFeature('isoline', { + isoline: {elements: squareElements}}).data(vertexList); + var result = isoline._createIsolines(); + expect(result.lines.length).toBe(18); + expect(result.lines[10].length).toBe(2); + expect(result.values.length).toBe(17); + expect(result.values[2].value).toBe(1); + expect(result.values[2].level).toBe(0); + expect(result.values[5].level).toBe(1); + expect(result.hasLabels).toBe(true); + }); + it('triangle mesh', function () { + var isoline = layer.createFeature('isoline', { + isoline: {elements: triangleElements}}).data(vertexList); + var result = isoline._createIsolines(); + expect(result.lines.length).toBe(18); + expect(result.lines[10].length).toBe(4); + expect(result.values.length).toBe(17); + expect(result.values[2].value).toBe(1); + expect(result.values[2].level).toBe(0); + expect(result.values[5].level).toBe(1); + expect(result.hasLabels).toBe(true); + }); + it('no results', function () { + var isoline = layer.createFeature('isoline', {isoline: { + elements: squareElements, + values: [-10, -20] + }}).data(vertexList); + var result = isoline._createIsolines(); + expect(result).toEqual({}); + }); + }); + it('_exit', function () { + var isoline = layer.createFeature('isoline', { + isoline: {elements: squareElements}}).data(vertexList); + isoline._build(); + expect(layer.features().length).toBe(2); + expect(layer.children().length).toBe(3); + isoline._exit(); + expect(layer.features().length).toBe(1); + expect(layer.children().length).toBe(1); + }); + it('_getValueList', function () { + var isoline = layer.createFeature('isoline', { + isoline: {elements: squareElements}}).data(vertexList); + expect(isoline._getValueList({})).toEqual([]); + var mesh = isoline._createIsolines().mesh; + var result; + result = isoline._getValueList(mesh); + expect(result.length).toBe(17); + expect(result[0].position).toBe(0); + expect(result[0].level).toBe(2); + expect(result[1].level).toBe(0); + expect(result[15].value).toBe(7.5); + expect(result[15].position).toBe(15); + expect(result[15].level).toBe(1); + isoline.isoline({min: 10, max: 5}); + expect(isoline._getValueList(mesh)).toEqual([]); + // restrictive max + isoline.isoline({min: null, max: 5}); + result = isoline._getValueList(mesh); + expect(result.length).toBe(11); + expect(result[9].value).toBe(4.5); + // non-restrictive max + isoline.isoline({min: null, max: 20}); + result = isoline._getValueList(mesh); + expect(result.length).toBe(17); + expect(result[15].value).toBe(7.5); + // position should be based on round numbers + isoline.isoline({min: 1, max: 5}); + result = isoline._getValueList(mesh); + expect(result.length).toBe(21); + expect(result[0].position).toBe(5); + expect(result[19].value).toBeCloseTo(4.8); + expect(result[19].position).toBe(24); + // autofit + isoline.isoline('autofit', false); + result = isoline._getValueList(mesh); + expect(result.length).toBe(15); + // count + isoline.isoline('count', 50); + result = isoline._getValueList(mesh); + expect(result.length).toBe(50); + // levels + isoline.isoline({levels: [2, 3, 4], autofit: true}); + result = isoline._getValueList(mesh); + expect(result[38].level).toBe(3); + expect(result[14].level).toBe(3); + expect(result[8].level).toBe(2); + expect(result[6].level).toBe(1); + expect(result[5].level).toBe(0); + // spacing + isoline.isoline({min: null, max: null, spacing: 0.2}); + result = isoline._getValueList(mesh); + expect(result.length).toBe(41); + expect(result[0].value).toBeCloseTo(0); + expect(result[39].value).toBeCloseTo(7.8); + // values + isoline.isoline('values', [4, 3, 2, 2.5]); + result = isoline._getValueList(mesh); + expect(result.length).toBe(4); + expect(result[0].value).toBe(4); + expect(result[0].level).toBe(3); + expect(result[3].value).toBe(2.5); + expect(result[3].level).toBe(0); + // values with some levels + isoline.isoline('values', [{value: 4, level: 0}, {value: 3, level: 1}, {value: 2}, 2.5]); + result = isoline._getValueList(mesh); + expect(result.length).toBe(4); + expect(result[0].value).toBe(4); + expect(result[0].level).toBe(0); + expect(result[1].level).toBe(1); + expect(result[2].level).toBe(1); + expect(result[3].value).toBe(2.5); + expect(result[3].level).toBe(0); + }); + it('_init', function () { + var isoline = geo.isolineFeature({layer: layer}); + expect(isoline.isoline('count')).toBe(undefined); + expect(isoline._init()).toBe(undefined); + expect(isoline.isoline('count')).toBe(15); + isoline._init({isoline: {count: 20}}); + expect(isoline.isoline('count')).toBe(20); + }); + describe('_isolinesForValue', function () { + it('marching squares', function () { + var squares = { + gridWidth: 18, + x0: 0, + y0: 0, + dx: 2, + dy: 2, + values: [ + // this will exercise all conditions of marching squartes. + 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, + 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + ] + }; + var isoline = layer.createFeature('isoline', { + isoline: squares, style: {value: function (d) { return d; }} + }).data(squares.values); + var mesh = isoline._createIsolines().mesh; + var result = isoline._isolinesForValue(mesh, {value: 0.5}); + // we slice each element of the result to ignore the properties that + // are added to it. + expect(result.map(function (d) { return d.slice(); })).toEqual([[ + {x: 5, y: 0, z: 0}, {x: 4, y: 1, z: 0}, {x: 3, y: 0, z: 0} + ], [ + {x: 9, y: 2, z: 0}, {x: 8, y: 3, z: 0}, {x: 7, y: 2, z: 0}, + {x: 8, y: 1, z: 0}, {x: 9, y: 2, z: 0} + ], [ + {x: 23, y: 0, z: 0}, {x: 23, y: 2, z: 0}, {x: 22, y: 3, z: 0}, + {x: 20, y: 3, z: 0}, {x: 18, y: 3, z: 0}, {x: 16, y: 3, z: 0}, + {x: 15, y: 2, z: 0}, {x: 14, y: 1, z: 0}, {x: 13, y: 2, z: 0}, + {x: 12, y: 3, z: 0}, {x: 11, y: 2, z: 0}, {x: 11, y: 0, z: 0} + ], [ + {x: 17, y: 0, z: 0}, {x: 18, y: 1, z: 0}, {x: 19, y: 0, z: 0} + ], [ + {x: 34, y: 1, z: 0}, {x: 33, y: 2, z: 0}, {x: 32, y: 3, z: 0}, + {x: 30, y: 3, z: 0}, {x: 29, y: 2, z: 0}, {x: 28, y: 1, z: 0}, + {x: 26, y: 1, z: 0}, {x: 25, y: 0, z: 0} + ], [ + {x: 29, y: 0, z: 0}, {x: 30, y: 1, z: 0}, {x: 32, y: 1, z: 0}, + {x: 33, y: 0, z: 0} + ]]); + expect(result.map(function (d) { return d.closed; })).toEqual([ + false, true, false, false, false, false]); + }); + it('marching triangles', function () { + var vertices = [ + {x: 2, y: 2, value: 0}, + {x: 6, y: 2, value: 1}, + {x: 10, y: 2, value: 1}, + {x: 14, y: 2, value: 0}, + {x: 18, y: 2, value: 1}, + {x: 22, y: 2, value: 1}, + {x: 26, y: 2, value: 0}, + + {x: 0, y: 0, value: 0}, + {x: 4, y: 0, value: 0}, + {x: 8, y: 0, value: 0}, + {x: 12, y: 0, value: 1}, + {x: 16, y: 0, value: 0}, + {x: 20, y: 0, value: 1}, + {x: 24, y: 0, value: 0}, + {x: 28, y: 0, value: 1} + // : 0 1 1 0 1 1 0 + // : 0 0 0 1 0 1 0 1 + ]; + var elements = [ + [0, 8, 7], [0, 1, 8], [1, 9, 8], [1, 2, 9], [2, 10, 9], [2, 3, 10], + [3, 11, 10], [3, 4, 11], [4, 12, 11], [4, 5, 12], [5, 13, 12], + [5, 6, 13], [6, 14, 13] + ]; + var isoline = layer.createFeature('isoline', { + isoline: {elements: elements}, + style: {value: function (d) { return d.value; }} + }).data(vertices); + var mesh = isoline._createIsolines().mesh; + var result = isoline._isolinesForValue(mesh, {value: 0.5}); + // we slice each element of the result to ignore the properties that + // are added to it. + expect(result.map(function (d) { return d.slice(); })).toEqual([[ + {x: 4, y: 2, z: 0}, {x: 5, y: 1, z: 0}, {x: 7, y: 1, z: 0}, + {x: 9, y: 1, z: 0}, {x: 10, y: 0, z: 0} + ], [ + {x: 14, y: 0, z: 0}, {x: 13, y: 1, z: 0}, {x: 12, y: 2, z: 0} + ], [ + {x: 16, y: 2, z: 0}, {x: 17, y: 1, z: 0}, {x: 18, y: 0, z: 0} + ], [ + {x: 22, y: 0, z: 0}, {x: 23, y: 1, z: 0}, {x: 24, y: 2, z: 0} + ], [ + {x: 27, y: 1, z: 0}, {x: 26, y: 0, z: 0} + ]]); + }); + }); + it('_update', function () { + var updateTime, buildTime; + var isoline = layer.createFeature('isoline', { + isoline: {elements: squareElements}}).data(vertexList); + isoline.modified(); + updateTime = isoline.updateTime().getMTime(); + buildTime = isoline.buildTime().getMTime(); + expect(isoline._update()).toBe(isoline); + expect(isoline.updateTime().getMTime()).toBeGreaterThan(updateTime); + expect(isoline.buildTime().getMTime()).toBeGreaterThan(buildTime); + updateTime = isoline.updateTime().getMTime(); + buildTime = isoline.buildTime().getMTime(); + expect(isoline._update()).toBe(isoline); + expect(isoline.updateTime().getMTime()).toBeGreaterThan(updateTime); + expect(isoline.buildTime().getMTime()).toBe(buildTime); + }); + it('_updateLabelPositions', function () { + var isoline = layer.createFeature('isoline', { + isoline: {elements: squareElements}}).data(vertexList); + var labelPos; + expect(isoline._updateLabelPositions()).toBe(isoline); + expect(isoline.lastLabelPositions()).toEqual({}); + isoline._build(); + labelPos = isoline.lastLabelPositions(); + expect(labelPos).not.toEqual({}); + expect(isoline._updateLabelPositions()).toBe(isoline); + expect(isoline.lastLabelPositions()).toEqual(labelPos); + map.zoom(map.zoom() + 2); + expect(isoline._updateLabelPositions()).toBe(isoline); + expect(isoline.lastLabelPositions()).not.toEqual(labelPos); + labelPos = isoline.lastLabelPositions(); + map.center({x: 2, y: 1.5}); + expect(isoline._updateLabelPositions()).toBe(isoline); + expect(isoline.lastLabelPositions()).toEqual(labelPos); + map.center({x: -80, y: 1.5}); + expect(isoline._updateLabelPositions()).toBe(isoline); + expect(isoline.lastLabelPositions()).not.toEqual(labelPos); + }); + }); + + describe('Check public class methods', function () { + it('isoline/mesh get and set', function () { + var isoline = geo.isolineFeature({layer: layer}); + isoline._init(); + expect(isoline.isoline().labelSpacing).toEqual(200); + expect(isoline.mesh().labelSpacing).toEqual(200); + expect(isoline.isoline('labelSpacing')).toEqual(200); + expect(isoline.isoline.get('labelSpacing')()).toEqual(200); + expect(isoline.isoline.get().labelSpacing()).toEqual(200); + expect(isoline.isoline('labelSpacing', 150)).toBe(isoline); + expect(isoline.isoline('labelSpacing')).toEqual(150); + expect(isoline.isoline({labelSpacing: 250})).toBe(isoline); + expect(isoline.isoline('labelSpacing')).toEqual(250); + }); + it('draw', function () { + var isoline = layer.createFeature('isoline', { + isoline: {elements: squareElements}}).data(vertexList); + isoline._build(); + sinon.stub(layer.features()[1], 'draw', function () {}); + sinon.stub(layer.children()[2].features()[0], 'draw', function () {}); + isoline.draw(); + expect(layer.features()[1].draw.calledOnce).toBe(true); + expect(layer.children()[2].features()[0].draw.calledOnce).toBe(true); + layer.features()[1].draw.restore(); + layer.children()[2].features()[0].draw.restore(); + }); + it('labelPositions', function () { + var isoline = layer.createFeature('isoline', { + isoline: {elements: squareElements}}).data(vertexList); + expect(isoline.labelPositions()).toBe(isoline); + isoline._build(); + expect(isoline.labelPositions()).toBe(isoline); + expect(layer.children()[2].features()[0].data().length).toBe(10); + // make sure label positions are in map gcs + expect(layer.children()[2].features()[0].data()[0].x).toBeCloseTo(96566.47); + expect(layer.children()[2].features()[0].data()[0].y).toBeCloseTo(34205.96); + isoline.isoline({labelSpacing: -1}); + expect(isoline.labelPositions()).toBe(isoline); + expect(layer.children()[2].features()[0].data().length).toBe(0); + isoline.isoline({labelSpacing: 50}); + expect(isoline.labelPositions()).toBe(isoline); + expect(layer.children()[2].features()[0].data().length).toBe(46); + isoline.isoline({labelSpacing: 5000}); + expect(isoline.labelPositions()).toBe(isoline); + expect(layer.children()[2].features()[0].data().length).toBe(0); + }); + it('lastLabelPositions', function () { + var isoline = layer.createFeature('isoline', { + isoline: {elements: squareElements}}).data(vertexList); + expect(isoline.lastLabelPositions()).toEqual({}); + isoline._update(); + expect(isoline.lastLabelPositions()).not.toEqual({}); + expect(isoline.lastLabelPositions().zoom).toBe(9); + map.zoom(10); + expect(isoline.lastLabelPositions().zoom).toBe(9); + isoline.labelPositions(); + expect(isoline.lastLabelPositions().zoom).toBe(10); + }); + it('modified', function () { + var isoline = layer.createFeature('isoline', { + isoline: {elements: squareElements}}).data(vertexList); + isoline._build(); + sinon.stub(layer.features()[1], 'modified', function () {}); + sinon.stub(layer.children()[2].features()[0], 'modified', function () {}); + isoline.modified(); + expect(layer.features()[1].modified.calledOnce).toBe(true); + expect(layer.children()[2].features()[0].modified.calledOnce).toBe(true); + layer.features()[1].modified.restore(); + layer.children()[2].features()[0].modified.restore(); + }); + }); + + describe('Check public static methods', function () { + it('rotationFunction', function () { + map.rotation(1); + expect(geo.isolineFeature.rotationFunction()({rotation: 2})).toBe(2); + expect(geo.isolineFeature.rotationFunction('higher')({rotation: 1})).toBe(1); + expect(geo.isolineFeature.rotationFunction('higher')({rotation: 2})).toBe(2); + expect(geo.isolineFeature.rotationFunction('lower')({rotation: 1})).toBeCloseTo(1 + Math.PI); + expect(geo.isolineFeature.rotationFunction('lower')({rotation: 2})).toBeCloseTo(2 + Math.PI); + expect(geo.isolineFeature.rotationFunction('map')({rotation: 1})).toBe(1); + expect(geo.isolineFeature.rotationFunction('map')({rotation: 2})).toBeCloseTo(2 + Math.PI); + expect(geo.isolineFeature.rotationFunction('screen', map)({rotation: 1})).toBeCloseTo(1 + Math.PI); + expect(geo.isolineFeature.rotationFunction('screen', map)({rotation: 2})).toBeCloseTo(2 + Math.PI); + }); + }); +}); diff --git a/tests/test-utils.js b/tests/test-utils.js index 4690ae7e0d..befcf8321a 100644 --- a/tests/test-utils.js +++ b/tests/test-utils.js @@ -311,6 +311,7 @@ module.exports.createMap = function (opts, css) { * @returns {boolean} */ module.exports.isPhantomJS = function () { - // PhantomJS doesn't have Math.log10, but Chrome and Firefox do - return !Math.log10; + /* PhantomJS doesn't have Math.log10, but Chrome and Firefox do. If we + * polyfilled it, we will have marked it as such. */ + return !Math.log10 || Math.log10.polyfilled; }; diff --git a/tutorials/isoline/index.pug b/tutorials/isoline/index.pug new file mode 100644 index 0000000000..1b0090b4b6 --- /dev/null +++ b/tutorials/isoline/index.pug @@ -0,0 +1,204 @@ +extends ../common/index.pug + +block mainTutorial + :markdown-it + # Tutorial - Isolines + Given data on a mesh or grid, plot isolines (lines of constant value). + + First, we create a base map tile layer for reference and load some grid data. + The data is grid data describing geospatial point elevation, a record of z value -9999 means there is no land data. + Load the data asynchronously, and use a [promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises) when ready. + + +codeblock('javascript', 1). + var map = geo.map({ + node: "#map", + center: { + x: -157.965, + y: 21.482 + }, + zoom: 11 + }); + // create a tile layer with a low opacity so the isolines are easier to see + map.createLayer('osm', {opacity: 0.5}); + // load some data and store in in a variable we can access. Add the + // promise for this load to the map's idle handler, allowing map.onIdle() + // to be used when everything is ready. We could have also created the + // isoline feature in the `then` function. + var data; + map.addPromise($.get('../../data/oahu-medium.json').then(function (loadedData) { + data = loadedData; + })); + + :markdown-it + Once the data is loaded, create an isoline feature with default options. + + +codeblock('javascript', 2, undefined, true). + var layer, iso; + map.onIdle(function () { + // create a feature layer for the isoline + layer = map.createLayer('feature', {features: ['isoline']}); + iso = layer.createFeature('isoline', { + isoline: { + gridWidth: data.gridWidth, + gridHeight: data.gridHeight, + x0: data.x0, + y0: data.y0, + dx: data.dx, + dy: data.dy + }, + style: { + // return null for values that shouldn't be used. + value: function (d) { return d > -9999 ? d : null; }, + } + }).data(data.values).draw(); + }); + +codeblock_test('isoline feature exists', [ + 'map.layers().length === 2', + 'map.layers()[1].features()[0] instanceof geo.isolineFeature', + 'iso.data().length === 110010' + ]) + + :markdown-it + The spacing between isolines can be set in a variety of ways. By default, a "nice" interval is chosen to have approximately `count` lines, where `count` equals 15. This number can be changed, but if it is only changed a little, the same isolines will still be shown since they round to even values. + +codeblock('javascript', 30, 2, false, 'Step 3-A'). + map.onIdle(function () { + iso.isoline('count', 10).draw(); + }); + +codeblock_test('isoline count', [ + 'map.layers()[1].features()[0]._createIsolines().values.length === 13' + ]) + + :markdown-it + If the count is changed enough, a different number of isolines will be shown. + +codeblock('javascript', 31, 2, false, 'Step 3-B'). + map.onIdle(function () { + iso.isoline('count', 8).draw(); + }); + +codeblock_test('isoline count', [ + 'map.layers()[1].features()[0]._createIsolines().values.length === 7' + ]) + + :markdown-it + You can disable rounding to even values. In this case, there specified count will be exact. Since the isoline values are no longer round numbers, it is useful to limit the precision shown on the text labels. + +codeblock('javascript', 32, 2, false, 'Step 3-C'). + map.onIdle(function () { + iso.isoline({ + count: 20, + autofit: false, + labelText: function (value) { + return value.value.toFixed(2); + } + }).draw(); + }); + +codeblock_test('isoline autofit false', [ + 'map.layers()[1].features()[0]._createIsolines().values.length === 20' + ]) + + :markdown-it + You can specify a spacing in the units used for the isoline values. In this example, this is the altitude in meters. + +codeblock('javascript', 33, 2, false, 'Step 3-D'). + map.onIdle(function () { + iso.isoline('spacing', 125).draw(); + }); + +codeblock_test('isoline spacing', [ + 'map.layers()[1].features()[0]._createIsolines().values.length === 10' + ]) + + :markdown-it + You can also specify exactly which values should have isolines and which ones should be more significant. + +codeblock('javascript', 34, 2, false, 'Step 3-E'). + map.onIdle(function () { + iso.isoline('values', [ + {value: 10, level: 0}, // level 0 is the least significant + {value: 25, level: 0}, + {value: 50, level: 1}, + {value: 75, level: 0}, + {value: 100, level: 1}, + {value: 250, level: 1}, + {value: 500, level: 2}, + {value: 750, level: 1}, + {value: 1000, level: 2}, + {value: 1125, level: 1} + ]).draw(); + }); + +codeblock_test('isoline values', [ + 'map.layers()[1].features()[0]._createIsolines().values.length === 10' + ]) + + :markdown-it + The label text spacing can be changed so that there or more or fewer labels per line. The spacing is the minimum distance between labels in pixels. Labels are placed uniformly along an isoline, so the labels could be further apart to make them even. + +codeblock('javascript', 40, 30, false, 'Step 4-A'). + map.onIdle(function () { + iso.isoline('labelSpacing', 125).draw(); + }); + +codeblock_test('isoline label spacing', [ + 'iso.isoline.get("labelSpacing")({}) === 125' + ]) + + :markdown-it + Labels can be added to any of the isolines and have different spacing per line. + +codeblock('javascript', 41, 30, false, 'Step 4-B'). + map.onIdle(function () { + iso.isoline({ + label: function (value) { + // labels will be on darker lines or every other line + return value.level > 0 || !(value.position % 2); + }, + labelSpacing: function (value) { + // labels on darker lines are twice as common as on faint lines. + return value.level > 0 ? 125 : 250 + }}).draw(); + }); + +codeblock_test('isoline label spacing', [ + 'iso.isoline.get("labelSpacing")({level: 0}) === 250', + 'iso.isoline.get("labelSpacing")({level: 1}) === 125' + ]) + + :markdown-it + The label text can be modified to include the units. The data has altitude in meters. + +codeblock('javascript', 50, 40, false, 'Step 5-A'). + map.onIdle(function () { + iso.isoline('labelText', function (value) { + return value.value + ' m'; + }).draw(); + }); + +codeblock_test('isoline text includes units', [ + 'iso.isoline.get("labelText")({value: 0}) === "0 m"' + ]) + + :markdown-it + Although the data has altitude in meters, it can be converted to different units. For instance, we can convert it to statute (U.S. Survey) feet and change the label text appropriately. + + +codeblock('javascript', 51, 40, false, 'Step 5-B'). + map.onIdle(function () { + iso.style('value', function (d) { + return d > -9999 ? d * 3937 / 1200 : null; + }) + .isoline('labelText', function (value) { + return value.value + ' ft'; + }).draw(); + }); + +codeblock_test('isoline text include ft', [ + 'iso.isoline.get("labelText")({value: 0}) === "0 ft"' + ]) + + :markdown-it + By defaults, labels are shown so that the top of the text is toward higher values. The `geo.isolineFeature.rotationFunction` can be used to choose other orientations. The available modes are: + + - `higher`: the top of the label text is toward higher values. This is the default. + - `lower`: the top of the label text is toward lower values. + - `map`: the top of the label text is toward the top of the map. + - `screen`: the top of the label text is toward the top of the display screen. + + The map has to be rotated to see the difference between `screen` and `map` modes. + + +codeblock('javascript', 60, 50, false, 'Step 6'). + // change this to try out different rotation modes. + var rotationMode = 'screen'; + map.onIdle(function () { + iso.style('rotation', geo.isolineFeature.rotationFunction(rotationMode, map)) + .draw(); + }); + +codeblock_test('isoline text rotation', [ + 'iso.style.get("rotation")({rotation: 2}) === 2 + Math.PI' + ]) diff --git a/tutorials/isoline/thumb.jpg b/tutorials/isoline/thumb.jpg new file mode 100755 index 0000000000000000000000000000000000000000..865034a3aa592c709953673333b8dd654e2fdf6a GIT binary patch literal 146294 zcmbrl2S8L$l0W_?kaNySKr)hZ7(l|z5C@>Jp-?%yI*&`>h7vfRrkA?x>x|H5jt=k00aU6y~_`9 z@s*StuBCO;7-ggb*Vq2DfRq}zOyJA^XrG_}l&&VXrIj`JA9;UE4o-o78pg)@fBXHf z*W+>EvI_th75&$;|1pQu*(K2FvevK5zdKHT0YLx&x_wCth6eflLFZr6^p0MC(sh5( z0hbJ3=J)(TyZwcp`?Jnp=)FJdn4z>Tp9%^9#N=-OKs){e{nvgks{>aw0)jkTU2b!m z`nm>%Is~|I2mT?6OIdLn2l%>rc)R>j>#ym5Rrzl>{ikb?%k9f&0{|^wzpwxgH}@d! zf8jt%LQ)d=`&b;9{3&A)~K(K$$b9@E>4KV<~JoEQFzI*_n ziUt7uC#T?mkiWEaDJ}pY07wBUfF580I00Tj5D){T0C_+efC1V70x$y104u;Aa01)` zG!OuU0(XG>Kr9dsV1aZX3wRC`1LZ&!Py;joZ-6$S3+M-ifN@|JSO8XlEnp8g2F^er z5D|z1LV4H^Z*nON&#ho3P9zcYEToX z4b%%722Fz&K^vg&pi?jeOb(_8bAYdcuYnc78ek;Y3~UE>1N(!+!O`F(@KbOh_$3$* zZUgs&$H5EWE$|TpfRI5LAv_QW~82^_er0UR*`m+&XFFFk&#^?QzSDX z^B}{JJtcch)Pc0x`|E=;aPZc83aoZ~RNtscsIO9MQ9DrIrOu{q zqMoEaqM@Uaq%opF(|zVdv4~3Fax_8RR*;B5>u#m8dJPuFUh2@+$DU@}}{& z^X~C+@fq;l;j7@A;V0o&;CJWG<^(AO)dl?p z3kAo72!#}cyo7RvhJ?Ywvcm4d*}|Vhz#?)Y9wNCS!=ePDilRQEg`$&U3tay85fy6nJHO1Sp(UJvhA|xa`JKka#eC0@_h2QI>@!=rJKYdc{l zV0YWD*Phkh+rITC)lG++wYLavS=@SY>z9L(L!rZwBiu2^anDK1Dbs1o8Rnekyy2qi zlH#)Fs_L5Jy6&dxmg=_QuI`@U{>?+nBg%3w$JU4VZvdL!`8xe!f_GM2&ahlJ3M#p-&u^*h%C4Zy6bqi{T}bV=zA*|T};`1 z()(Wb2cjgRQlbtYSUhNs=7`2bFU9D_RK!xo2EGVy8RMUrdM;1jtgd00ZM4|XD1J-IA}CM7&&Db*kqpT?aQmv)$b zGrc!MCgXV~X=ZTd!c+aHjnDX=VW0iVa?cvi*35pD!=Cdv=SQw{?noXiuj)C+^Z4hd z`5yUG1-b?J!mEWDMTA8mMXSZ;#oagsTzLs=Nqot9sZZ%b8LF(KT)w>g1^bI972t~C zij9}HFNZ3xS2k9ORTaEqd=>v1cpdzDv-(!`L=Cd0y;h;Ns*b-dr=G4p4iCbI;rANc z8x|U^8i$(@P3_If&GjwfEv0XG-ek8jv_5%D`ZoIQ#k=r#NALaKe`|AVTWY`AKKsG) z!&rw&$6zP2v!_d^>qECj_q!g|o;STpy-j@zeGUC`{rHcvAL|EX2kHmq2JxTdKQ#_1 z4mA&}48I*wA88xCKH4<~AL}1C93P&zF)=l1JGn6BJheXUJ-t5@GIKVInIo8so2Q=7 z_{{#f@QcuwR||3rt&7(eKYlg+I=keww6z?#{A(q8m0~qxjccuZU26T!hR(*&rp@Nc zmfzOdx7cl(?VKIKow{Av?#DgLy_Nld{fqAj2P_ArhcbulN5)5=kI~0xKjMC}{46_B zIO#sMI9)pn{YCWa>ABE(^KazuxeN5g#ltT0AjsuCPy!MH0up)( zG79?tb-H*D&=7+yA>0rU4FIMAL1;i19RSBA2m(Vc@xz~Z^H0=5KnQ^nfkDJ1m&Nwf z0O$|C!Qjh&DWJrcAOj460t7UKv^+#~l2rkf;13o-U>XQ5k0exs&cxx0l>hzY0s{K#w&6X^MP5`CgS2D7K4Ia- z3_uRKd@33U4WJJEE*K&O!2}6_e0ng(`2R+BT>z^VKaCk&eFt00I2zcTJ9H6J&-#47 zBP^N&e_sIM5Ubt6S0`O9lf?VDUFiY1$^T=A#-!kV`>^e}|5wI41-~js-=iO5x2J4q zRSifQS#==`7UIP}C%72{x*c)Q|J%Rns9nV);^RKb?7tBXRh+RN9~Ss-K(f4-Ico_= zjA%BppOlxxEA$3D2_~Sb`yWM1@b%5X?EifP{=yq5_U4b;cLOp+Yb|bj9Y()`?pYdh z+}Qo3_-n~-EBf}xk7r+t%l_Rs6Fs!oA{O!25aL|LUHvJ>+@z!(b4RM_o^NIB^=c3m%-emd;2%c0H`TNX3C z+i;9u)D=2mg%tkD);z)Fnc=(53&12il5tv2w)^_8Yn}Z;`SrYSqw0>|D=v_;4{@nI zd8a30F~VzPUv-?#|FvtpYIVD^>y_l0h`)PxC9g`-J?h&sM5h04HvQ9t|8VVW`paq- zO*aTPww5w9t%l&7;gOVaE= zmzXJ}uR)#tbndXmmK7OrzWDEE80hvZmE%w1T)h>0GDJ&8=ZwD&UzIss0J{-S&P-uJ zp9*i<24Ayw3ASt1-irtttW0&ezn2hl0W=MP41XK01g^z_sY+GdH?NsBXCFon<9m;7 zoO3zUM3K-Y3Hq;WWSVJ(ryxhhneSqN-k&R%|N@6nH8Mp zGoG)n?M!_`B``Q@n2b~~XNbA(^(-e|oe9f40p7eNA^h}=50Ry z9u2kO;sfcynmU@j-qAG-3y_{4`HBLTr#r8T-F_#`hgB@wn7TLLky^05RiLfsij*>b z2!?-8ZR1K3q?%}@zW`2T^WR+nHybX13qU%Ea4zY^dRZv{?DGjZLUH22nzAH2W@LGw z!j!QE_T_$pE2b_EvUhKY$wGGYcYGvwu=M_1#=vun`L!x#b@cn0P&8Lqmmpb#)@k

t&8x(Jc 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%0DNV*wfVX(J`6wgJp5bt@Jb!7I;= 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 ku3gp%Wo(kRpgCS2A*#Yimi_@% literal 0 HcmV?d00001 diff --git a/tutorials/isoline/tutorial.json b/tutorials/isoline/tutorial.json new file mode 100644 index 0000000000..e804df29f2 --- /dev/null +++ b/tutorials/isoline/tutorial.json @@ -0,0 +1,8 @@ +{ + "title": "Isolines", + "hideNavbar": true, + "level": 1, + "about": { + "text": "Draw isolines based on scalar grid values." + } +} From 5803c2ef0654a55ef4fbcc12fc8c413d398ad1b4 Mon Sep 17 00:00:00 2001 From: David Manthey Date: Wed, 20 Jun 2018 14:37:55 -0400 Subject: [PATCH 4/5] Refactor how we fetch external data. Prior to this, a custom cmake script (girder.cmake) was used via a direct URL for each external data file. After this change, we use cmake's build-in ExternalData module. This continues to get all external data files listed and automatically untar any .tgz files. External data file references have been moved from testing/test-data to tests/external-data. Eventually I'd like there to be only one of the tests and testing directories, as having two makes things confusing. This also deletes some abandoned cmake scripts and removes some unused data files. As a benefit, data files are now obtained by sha512, which should guarantee that we have the correct file, even if it changes. Before, the download url was used. This makes it so that we only need one entry in the repo per data file instead of two. The only downside is that ExternalData emits a -hash-stamp file in the download directory. --- CMakeLists.txt | 44 ++++-- cmake/configure-js-coverage-test.cmake | 13 -- cmake/configure-js-unit-test.cmake | 5 - cmake/girder.cmake | 127 ------------------ testing/test-data/AdderallCities2015.csv.md5 | 1 - testing/test-data/AdderallCities2015.csv.url | 1 - testing/test-data/base-images.tgz.md5 | 1 - testing/test-data/base-images.tgz.url | 1 - testing/test-data/blue.jpg.md5 | 1 - testing/test-data/blue.jpg.url | 1 - testing/test-data/cities.csv.md5 | 1 - testing/test-data/cities.csv.url | 1 - testing/test-data/countries.json.md5 | 1 - testing/test-data/countries.json.url | 1 - testing/test-data/earthquakes-video.webm.md5 | 1 - testing/test-data/earthquakes-video.webm.url | 1 - testing/test-data/earthquakes.json.md5 | 1 - testing/test-data/earthquakes.json.url | 1 - testing/test-data/grid.jpg.md5 | 1 - testing/test-data/grid.jpg.url | 1 - testing/test-data/hurricanes.json.md5 | 1 - testing/test-data/hurricanes.json.url | 1 - testing/test-data/land_polygons.json.md5 | 1 - testing/test-data/land_polygons.json.url | 1 - .../test-data/land_shallow_topo_2048.png.md5 | 1 - .../test-data/land_shallow_topo_2048.png.url | 1 - testing/test-data/oahu-dense.json.md5 | 1 - testing/test-data/oahu-dense.json.url | 1 - testing/test-data/oahu-medium.json.md5 | 1 - testing/test-data/oahu-medium.json.url | 1 - testing/test-data/oahu.json.md5 | 1 - testing/test-data/oahu.json.url | 1 - testing/test-data/red.jpg.md5 | 1 - testing/test-data/red.jpg.url | 1 - testing/test-data/roads.json.md5 | 1 - testing/test-data/roads.json.url | 1 - testing/test-data/sample.json.md5 | 1 - testing/test-data/sample.json.url | 1 - testing/test-data/spark.png.md5 | 1 - testing/test-data/spark.png.url | 1 - testing/test-data/temperature_data.tsv.md5 | 1 - testing/test-data/temperature_data.tsv.url | 1 - testing/test-data/tilefancy.png.md5 | 1 - testing/test-data/tilefancy.png.url | 1 - testing/test-data/tiles.tgz.md5 | 1 - testing/test-data/tiles.tgz.url | 1 - testing/test-data/vtkCube.dat.md5 | 1 - testing/test-data/vtkCube.dat.url | 1 - testing/test-data/vtkSceneMetadata.json.md5 | 1 - testing/test-data/vtkSceneMetadata.json.url | 1 - testing/test-data/white.jpg.md5 | 1 - testing/test-data/white.jpg.url | 1 - .../AdderallCities2015.csv.sha512 | 1 + tests/external-data/base-images.tgz.sha512 | 1 + tests/external-data/blue.jpg.sha512 | 1 + tests/external-data/cities.csv.sha512 | 1 + .../earthquakes-video.webm.sha512 | 1 + tests/external-data/earthquakes.json.sha512 | 1 + tests/external-data/grid.jpg.sha512 | 1 + tests/external-data/hurricanes.json.sha512 | 1 + tests/external-data/land_polygons.json.sha512 | 1 + .../land_shallow_topo_2048.png.sha512 | 1 + tests/external-data/oahu-dense.json.sha512 | 1 + tests/external-data/oahu-medium.json.sha512 | 1 + tests/external-data/oahu.json.sha512 | 1 + tests/external-data/red.jpg.sha512 | 1 + tests/external-data/roads.json.sha512 | 1 + tests/external-data/sample.json.sha512 | 1 + .../external-data/temperature_data.tsv.sha512 | 1 + tests/external-data/tilefancy.png.sha512 | 1 + tests/external-data/tiles.tgz.sha512 | 1 + tests/external-data/white.jpg.sha512 | 1 + 72 files changed, 51 insertions(+), 206 deletions(-) delete mode 100644 cmake/configure-js-coverage-test.cmake delete mode 100644 cmake/configure-js-unit-test.cmake delete mode 100644 cmake/girder.cmake delete mode 100644 testing/test-data/AdderallCities2015.csv.md5 delete mode 100644 testing/test-data/AdderallCities2015.csv.url delete mode 100644 testing/test-data/base-images.tgz.md5 delete mode 100644 testing/test-data/base-images.tgz.url delete mode 100644 testing/test-data/blue.jpg.md5 delete mode 100644 testing/test-data/blue.jpg.url delete mode 100644 testing/test-data/cities.csv.md5 delete mode 100644 testing/test-data/cities.csv.url delete mode 100644 testing/test-data/countries.json.md5 delete mode 100644 testing/test-data/countries.json.url delete mode 100644 testing/test-data/earthquakes-video.webm.md5 delete mode 100644 testing/test-data/earthquakes-video.webm.url delete mode 100644 testing/test-data/earthquakes.json.md5 delete mode 100644 testing/test-data/earthquakes.json.url delete mode 100644 testing/test-data/grid.jpg.md5 delete mode 100644 testing/test-data/grid.jpg.url delete mode 100644 testing/test-data/hurricanes.json.md5 delete mode 100644 testing/test-data/hurricanes.json.url delete mode 100644 testing/test-data/land_polygons.json.md5 delete mode 100644 testing/test-data/land_polygons.json.url delete mode 100644 testing/test-data/land_shallow_topo_2048.png.md5 delete mode 100644 testing/test-data/land_shallow_topo_2048.png.url delete mode 100644 testing/test-data/oahu-dense.json.md5 delete mode 100644 testing/test-data/oahu-dense.json.url delete mode 100644 testing/test-data/oahu-medium.json.md5 delete mode 100644 testing/test-data/oahu-medium.json.url delete mode 100644 testing/test-data/oahu.json.md5 delete mode 100644 testing/test-data/oahu.json.url delete mode 100644 testing/test-data/red.jpg.md5 delete mode 100644 testing/test-data/red.jpg.url delete mode 100644 testing/test-data/roads.json.md5 delete mode 100644 testing/test-data/roads.json.url delete mode 100644 testing/test-data/sample.json.md5 delete mode 100644 testing/test-data/sample.json.url delete mode 100644 testing/test-data/spark.png.md5 delete mode 100644 testing/test-data/spark.png.url delete mode 100644 testing/test-data/temperature_data.tsv.md5 delete mode 100644 testing/test-data/temperature_data.tsv.url delete mode 100644 testing/test-data/tilefancy.png.md5 delete mode 100644 testing/test-data/tilefancy.png.url delete mode 100644 testing/test-data/tiles.tgz.md5 delete mode 100644 testing/test-data/tiles.tgz.url delete mode 100644 testing/test-data/vtkCube.dat.md5 delete mode 100644 testing/test-data/vtkCube.dat.url delete mode 100644 testing/test-data/vtkSceneMetadata.json.md5 delete mode 100644 testing/test-data/vtkSceneMetadata.json.url delete mode 100644 testing/test-data/white.jpg.md5 delete mode 100644 testing/test-data/white.jpg.url create mode 100644 tests/external-data/AdderallCities2015.csv.sha512 create mode 100644 tests/external-data/base-images.tgz.sha512 create mode 100644 tests/external-data/blue.jpg.sha512 create mode 100644 tests/external-data/cities.csv.sha512 create mode 100644 tests/external-data/earthquakes-video.webm.sha512 create mode 100644 tests/external-data/earthquakes.json.sha512 create mode 100644 tests/external-data/grid.jpg.sha512 create mode 100644 tests/external-data/hurricanes.json.sha512 create mode 100644 tests/external-data/land_polygons.json.sha512 create mode 100644 tests/external-data/land_shallow_topo_2048.png.sha512 create mode 100644 tests/external-data/oahu-dense.json.sha512 create mode 100644 tests/external-data/oahu-medium.json.sha512 create mode 100644 tests/external-data/oahu.json.sha512 create mode 100644 tests/external-data/red.jpg.sha512 create mode 100644 tests/external-data/roads.json.sha512 create mode 100644 tests/external-data/sample.json.sha512 create mode 100644 tests/external-data/temperature_data.tsv.sha512 create mode 100644 tests/external-data/tilefancy.png.sha512 create mode 100644 tests/external-data/tiles.tgz.sha512 create mode 100644 tests/external-data/white.jpg.sha512 diff --git a/CMakeLists.txt b/CMakeLists.txt index 6e201cad47..ca6684df73 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,13 +41,6 @@ function(add_geojs_test test_name) set_property(TEST "notes-report" APPEND PROPERTY DEPENDS "${test_name}") endfunction() -# set variables for girder.cmake -set(Girder_KEY_DIR "${CMAKE_CURRENT_SOURCE_DIR}/testing/test-data") -set(Girder_DATA_DIR "${GEOJS_DEPLOY_DIR}/data") -include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/girder.cmake) - -add_download_target() - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/testing/test-runners/geojs_test_runner.py.in ${CMAKE_CURRENT_BINARY_DIR}/test/geojs_test_runner.py ) @@ -73,12 +66,37 @@ add_test( ) set_property(TEST "notes-report" APPEND PROPERTY DEPENDS "notes-reset") -add_custom_target( - data_files - ALL - DEPENDS ${Girder_DOWNLOAD_FILES} -) -add_test(NAME get_data_files COMMAND "${CMAKE_COMMAND}" --build ${CMAKE_BINARY_DIR} --target data_files) +# Use ExternalData to download all referenced files in tests/external-data +include(ExternalData) +set(ExternalData_URL_TEMPLATES "https://data.kitware.com/api/v1/file/hashsum/%(algo)/%(hash)/download") +set(ExternalData_BINARY_ROOT "${GEOJS_DEPLOY_DIR}/data") +set(ExternalData_SOURCE_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/tests/external-data") +# Get a list of files to download based on the name *.sha512 +file(GLOB data_files_list "${ExternalData_SOURCE_ROOT}/*.sha512") +# Obtain the files using ExternalData +foreach(data_file ${data_files_list}) + string(REGEX REPLACE "^(.*)\\.sha512$" "\\1" base_file "${data_file}") + ExternalData_Expand_Arguments(data_files tmp DATA{${base_file}}) +endforeach() +# Add a target to get the files +ExternalData_Add_Target(data_files) +# For any file that is a .tgz file, expand it after we get it +foreach(data_file ${data_files_list}) + string(REGEX REPLACE "^(.*)\\.sha512$" "\\1" base_file "${data_file}") + get_filename_component(base_file "${base_file}" NAME) + get_filename_component(base_fileext "${base_file}" EXT) + if("${base_fileext}" STREQUAL ".tgz") + get_filename_component(base_filename "${base_file}" NAME_WE) + add_custom_command( + TARGET data_files POST_BUILD + DEPENDS "${ExternalData_BINARY_ROOT}/${base_file}" + COMMAND ${CMAKE_COMMAND} -E make_directory "${ExternalData_BINARY_ROOT}/${base_filename}" + COMMAND ${CMAKE_COMMAND} -E chdir "${ExternalData_BINARY_ROOT}/${base_filename}" tar zxf "${ExternalData_BINARY_ROOT}/${base_file}" + ) + endif() +endforeach() +# Create a test that gets this target +add_test(NAME get_data_files COMMAND "${CMAKE_COMMAND}" --build "${CMAKE_BINARY_DIR}" --target data_files) if(HEADLESS_TESTS) add_test( diff --git a/cmake/configure-js-coverage-test.cmake b/cmake/configure-js-coverage-test.cmake deleted file mode 100644 index 90d08666e7..0000000000 --- a/cmake/configure-js-coverage-test.cmake +++ /dev/null @@ -1,13 +0,0 @@ -set(alljs ${CMAKE_BINARY_DIR}/test-cases/js-unit-tests/all-js-unit-tests.js) - -file(WRITE ${alljs} "") -foreach(f IN LISTS JS_UNIT_TEST_CASES) - file(READ "${f}" js) - file(APPEND ${alljs} "${js}") -endforeach() - -file(READ ${alljs} TEST_SOURCE) -configure_file( - ${SOURCE_DIR}/testing/test-runners/coverage-runner.html.in - ${DEPLOY_DIR}/test/js-coverage/geojs-coverage.html -) diff --git a/cmake/configure-js-unit-test.cmake b/cmake/configure-js-unit-test.cmake deleted file mode 100644 index fdbd121040..0000000000 --- a/cmake/configure-js-unit-test.cmake +++ /dev/null @@ -1,5 +0,0 @@ -file(READ "${SOURCE_FILE}" TEST_SOURCE) -configure_file( - ${SOURCE_DIR}/testing/test-runners/jasmine-runner.html.in - ${TEST_HTML} -) diff --git a/cmake/girder.cmake b/cmake/girder.cmake deleted file mode 100644 index f2bdeec5c6..0000000000 --- a/cmake/girder.cmake +++ /dev/null @@ -1,127 +0,0 @@ -# - Configure a project for downloading test data from a Girder server -# Include this module in the top CMakeLists.txt file of a project to -# enable downloading test data from Girder. Requires CTest module. -# project(MyProject) -# ... -# include(CTest) -# include(Girder3) -# -# To use this module, set the following variable in your script: -# Girder_REST_URL - URL of the Girder server's REST API -# Other optional variables: -# Girder_DATA_DIR - Where to place downloaded files -# - Defaults to PROJECT_BINARY_DIR/Girder_Data -# Girder_KEY_DIR - Where the key files are located -# - Defaults to PROJECT_SOURCE_DIR/Girder_Keys -# Girder_DOWNLOAD_TIMEOUT - Timeout for download stage (default 0) -# ---------------------- Authentication ------------------------- -# For authenticated access, you must also have the following variables set -# Girder_USER - The email of the user to authenticate as -# Girder_DEFAULT_API_KEY - The user's Default api key -# -#============================================================================= -# Copyright 2010 Kitware, Inc. -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= - -function(add_download_target) - - set(fetch_scripts_dir "${CMAKE_CURRENT_BINARY_DIR}/Girder_FetchScripts") - file(MAKE_DIRECTORY "${fetch_scripts_dir}") - - if(NOT DEFINED Girder_DOWNLOAD_TIMEOUT) - set(Girder_DOWNLOAD_TIMEOUT_STR "") - else(NOT DEFINED Girder_DOWNLOAD_TIMEOUT) - set(Girder_DOWNLOAD_TIMEOUT_STR "TIMEOUT ${Girder_DOWNLOAD_TIMEOUT}") - endif(NOT DEFINED Girder_DOWNLOAD_TIMEOUT) - - file(GLOB urlfiles "${Girder_KEY_DIR}/*.url") - - set(downloadFiles "") - - foreach(urlfile ${urlfiles}) - _process_urlfile(${urlfile} 1) - endforeach() - - set(Girder_DOWNLOAD_FILES "${downloadFiles}" PARENT_SCOPE) -endfunction(add_download_target) - -# Helper macro to write the download scripts for Girder.*{} arguments -macro(_process_urlfile urlFile extractTgz) - - - # Split up the checksum extension from the real filename - string(REGEX REPLACE "\\.[^\\.]*$" "" base_file "${urlFile}") - get_filename_component(base_filename "${base_file}" NAME) - get_filename_component(base_fileext "${base_file}" EXT) - string(REGEX REPLACE "\\.url$" ".md5" keyFile "${urlFile}") - set(checksum "X") - - # Resolve file location - if(EXISTS "${keyFile}") - - # Obtain the checksum - file(READ "${keyFile}" checksum) - string(STRIP ${checksum} checksum) - - endif(EXISTS "${keyFile}") - - file(READ "${urlFile}" url) - string(STRIP ${url} url) - - # Write the test script file for downloading - if(UNIX) - set(cmake_symlink create_symlink) - else() - set(cmake_symlink copy) # Windows has no symlinks; copy instead. - endif() - file(WRITE "${fetch_scripts_dir}/fetch_${checksum}_${base_filename}.cmake" - -# Start file content -"message(STATUS \"Data is here: ${url}\") -file(DOWNLOAD \"${url}\" \"${Girder_DATA_DIR}/${base_filename}\" ${Girder_DOWNLOAD_TIMEOUT_STR} STATUS status) -list(GET status 0 exitCode) -list(GET status 1 errMsg) -if(NOT exitCode EQUAL 0) - file(REMOVE \"${Girder_DATA_DIR}/${base_filename}\") - message(FATAL_ERROR \"Error downloading ${base_filename}: \${errMsg}\") -endif(NOT exitCode EQUAL 0) - -execute_process(COMMAND \"${CMAKE_COMMAND}\" -E md5sum \"${Girder_DATA_DIR}/${base_filename}\" OUTPUT_VARIABLE output) -string(SUBSTRING \${output} 0 32 computedChecksum) - -if((NOT ${checksum} STREQUAL X) AND (NOT computedChecksum STREQUAL ${checksum})) - file(READ \"${Girder_DATA_DIR}/${base_filename}\" serverResponse) - file(REMOVE \"${Girder_DATA_DIR}/${base_filename}\") - message(FATAL_ERROR \"Error: Computed checksum (\${computedChecksum}) did not match expected (${checksum}). Server response: \${serverResponse}\") -endif((NOT ${checksum} STREQUAL X) AND (NOT computedChecksum STREQUAL ${checksum})) -") -# End file content - -if("${base_fileext}" STREQUAL ".tgz") - file(APPEND "${fetch_scripts_dir}/fetch_${checksum}_${base_filename}.cmake" - # Start file content - "# Extract the contents of the tgz - get_filename_component(dirName \"${base_filename}\" NAME_WE) - file(MAKE_DIRECTORY \"${Girder_DATA_DIR}/\${dirName}\") - execute_process(COMMAND \"${CMAKE_COMMAND}\" -E tar xzf \"${Girder_DATA_DIR}/${base_filename}\" - WORKING_DIRECTORY \"${Girder_DATA_DIR}/\${dirName}\") - " - # End file content - ) -endif() - - add_custom_command(OUTPUT "${Girder_DATA_DIR}/${base_filename}" - COMMAND ${CMAKE_COMMAND} -P "${fetch_scripts_dir}/fetch_${checksum}_${base_filename}.cmake" - DEPENDS "${urlfile}" - COMMENT "Downloading ${base_filename}" - ) - - list(APPEND downloadFiles "${Girder_DATA_DIR}/${base_filename}") -endmacro(_process_urlfile) diff --git a/testing/test-data/AdderallCities2015.csv.md5 b/testing/test-data/AdderallCities2015.csv.md5 deleted file mode 100644 index 6ae14cdcfe..0000000000 --- a/testing/test-data/AdderallCities2015.csv.md5 +++ /dev/null @@ -1 +0,0 @@ -6f92a0e2346c48aad2c7cd5e7aa0005f \ No newline at end of file diff --git a/testing/test-data/AdderallCities2015.csv.url b/testing/test-data/AdderallCities2015.csv.url deleted file mode 100644 index b2c213d895..0000000000 --- a/testing/test-data/AdderallCities2015.csv.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/57360bda8d777f68be8f3eac/download diff --git a/testing/test-data/base-images.tgz.md5 b/testing/test-data/base-images.tgz.md5 deleted file mode 100644 index 7735d4198f..0000000000 --- a/testing/test-data/base-images.tgz.md5 +++ /dev/null @@ -1 +0,0 @@ -24a2ffe0807138fe13c33ddeccb2b426 \ No newline at end of file diff --git a/testing/test-data/base-images.tgz.url b/testing/test-data/base-images.tgz.url deleted file mode 100644 index d0c36ceb1a..0000000000 --- a/testing/test-data/base-images.tgz.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/5af1fcff8d777f0685797d19/download \ No newline at end of file diff --git a/testing/test-data/blue.jpg.md5 b/testing/test-data/blue.jpg.md5 deleted file mode 100644 index 408ff03700..0000000000 --- a/testing/test-data/blue.jpg.md5 +++ /dev/null @@ -1 +0,0 @@ -06c5939e998ed30a736fd98b382f5fd2 diff --git a/testing/test-data/blue.jpg.url b/testing/test-data/blue.jpg.url deleted file mode 100644 index 1f542c1b9a..0000000000 --- a/testing/test-data/blue.jpg.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/562e5edf8d777f7522dbeed0/download diff --git a/testing/test-data/cities.csv.md5 b/testing/test-data/cities.csv.md5 deleted file mode 100644 index 46f546065a..0000000000 --- a/testing/test-data/cities.csv.md5 +++ /dev/null @@ -1 +0,0 @@ -612e05ae9ec9d1950ae945d64151df22 \ No newline at end of file diff --git a/testing/test-data/cities.csv.url b/testing/test-data/cities.csv.url deleted file mode 100644 index d832a22c09..0000000000 --- a/testing/test-data/cities.csv.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/560a89508d777f7bfaadd3d7/download diff --git a/testing/test-data/countries.json.md5 b/testing/test-data/countries.json.md5 deleted file mode 100644 index 09f96c454e..0000000000 --- a/testing/test-data/countries.json.md5 +++ /dev/null @@ -1 +0,0 @@ -e9b71be9fa834c7ae473862fff77f894 \ No newline at end of file diff --git a/testing/test-data/countries.json.url b/testing/test-data/countries.json.url deleted file mode 100644 index 6b285ed921..0000000000 --- a/testing/test-data/countries.json.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/560a89518d777f7bfaadd3da/download diff --git a/testing/test-data/earthquakes-video.webm.md5 b/testing/test-data/earthquakes-video.webm.md5 deleted file mode 100644 index 275095ad91..0000000000 --- a/testing/test-data/earthquakes-video.webm.md5 +++ /dev/null @@ -1 +0,0 @@ -44c731584651c5f3eb22b1d67b05f6c6 diff --git a/testing/test-data/earthquakes-video.webm.url b/testing/test-data/earthquakes-video.webm.url deleted file mode 100644 index bae5bbccec..0000000000 --- a/testing/test-data/earthquakes-video.webm.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/59fc667c8d777f31ac648c51/download diff --git a/testing/test-data/earthquakes.json.md5 b/testing/test-data/earthquakes.json.md5 deleted file mode 100644 index 0d74c5552d..0000000000 --- a/testing/test-data/earthquakes.json.md5 +++ /dev/null @@ -1 +0,0 @@ -9247895af38e2faa36474fe72e02967e \ No newline at end of file diff --git a/testing/test-data/earthquakes.json.url b/testing/test-data/earthquakes.json.url deleted file mode 100644 index 7ef66001f7..0000000000 --- a/testing/test-data/earthquakes.json.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/57360a968d777f68be8f3ea9/download diff --git a/testing/test-data/grid.jpg.md5 b/testing/test-data/grid.jpg.md5 deleted file mode 100644 index 0cf5be51ba..0000000000 --- a/testing/test-data/grid.jpg.md5 +++ /dev/null @@ -1 +0,0 @@ -26e86857de2e8c4c4fc808dfd6b12e95 \ No newline at end of file diff --git a/testing/test-data/grid.jpg.url b/testing/test-data/grid.jpg.url deleted file mode 100644 index bcce632edf..0000000000 --- a/testing/test-data/grid.jpg.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/560a89518d777f7bfaadd3dd/download diff --git a/testing/test-data/hurricanes.json.md5 b/testing/test-data/hurricanes.json.md5 deleted file mode 100644 index ff4bc170b2..0000000000 --- a/testing/test-data/hurricanes.json.md5 +++ /dev/null @@ -1 +0,0 @@ -7cf587e135cbfe6310ef8f1137d5cd54 \ No newline at end of file diff --git a/testing/test-data/hurricanes.json.url b/testing/test-data/hurricanes.json.url deleted file mode 100644 index cda3be5811..0000000000 --- a/testing/test-data/hurricanes.json.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/560a89518d777f7bfaadd3e0/download diff --git a/testing/test-data/land_polygons.json.md5 b/testing/test-data/land_polygons.json.md5 deleted file mode 100644 index 2a98efdc0a..0000000000 --- a/testing/test-data/land_polygons.json.md5 +++ /dev/null @@ -1 +0,0 @@ -f88d833b7614754e914ef56de76d889c \ No newline at end of file diff --git a/testing/test-data/land_polygons.json.url b/testing/test-data/land_polygons.json.url deleted file mode 100644 index 450484bd8e..0000000000 --- a/testing/test-data/land_polygons.json.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/5762bd868d777f68be8f4017/download diff --git a/testing/test-data/land_shallow_topo_2048.png.md5 b/testing/test-data/land_shallow_topo_2048.png.md5 deleted file mode 100644 index e0f66e8d27..0000000000 --- a/testing/test-data/land_shallow_topo_2048.png.md5 +++ /dev/null @@ -1 +0,0 @@ -438667f9d98cfc407a723fe8817957f1 \ No newline at end of file diff --git a/testing/test-data/land_shallow_topo_2048.png.url b/testing/test-data/land_shallow_topo_2048.png.url deleted file mode 100644 index b64474044d..0000000000 --- a/testing/test-data/land_shallow_topo_2048.png.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/560a89518d777f7bfaadd3e3/download diff --git a/testing/test-data/oahu-dense.json.md5 b/testing/test-data/oahu-dense.json.md5 deleted file mode 100644 index 848c89863a..0000000000 --- a/testing/test-data/oahu-dense.json.md5 +++ /dev/null @@ -1 +0,0 @@ -1d9e59c3fb22b8d2e4320bef30036703 \ No newline at end of file diff --git a/testing/test-data/oahu-dense.json.url b/testing/test-data/oahu-dense.json.url deleted file mode 100644 index 9ee9af859b..0000000000 --- a/testing/test-data/oahu-dense.json.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/560a89528d777f7bfaadd3e6/download diff --git a/testing/test-data/oahu-medium.json.md5 b/testing/test-data/oahu-medium.json.md5 deleted file mode 100644 index 1068442d41..0000000000 --- a/testing/test-data/oahu-medium.json.md5 +++ /dev/null @@ -1 +0,0 @@ -1f7c4324577dcc314dad02e48f6077b0 \ No newline at end of file diff --git a/testing/test-data/oahu-medium.json.url b/testing/test-data/oahu-medium.json.url deleted file mode 100644 index c8fad67ac7..0000000000 --- a/testing/test-data/oahu-medium.json.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/5b16c6918d777f15ebe1ffe7/download diff --git a/testing/test-data/oahu.json.md5 b/testing/test-data/oahu.json.md5 deleted file mode 100644 index 172634f6bc..0000000000 --- a/testing/test-data/oahu.json.md5 +++ /dev/null @@ -1 +0,0 @@ -51954a3683e8d2bdc2f03ec0b3b55bdc \ No newline at end of file diff --git a/testing/test-data/oahu.json.url b/testing/test-data/oahu.json.url deleted file mode 100644 index 7aa0963bf4..0000000000 --- a/testing/test-data/oahu.json.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/560a89528d777f7bfaadd3e9/download diff --git a/testing/test-data/red.jpg.md5 b/testing/test-data/red.jpg.md5 deleted file mode 100644 index 71cbfb27da..0000000000 --- a/testing/test-data/red.jpg.md5 +++ /dev/null @@ -1 +0,0 @@ -b83521e095bc1d0fe2bb7b1292daba2c diff --git a/testing/test-data/red.jpg.url b/testing/test-data/red.jpg.url deleted file mode 100644 index ba170765a2..0000000000 --- a/testing/test-data/red.jpg.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/562e5ee98d777f7522dbeed3/download \ No newline at end of file diff --git a/testing/test-data/roads.json.md5 b/testing/test-data/roads.json.md5 deleted file mode 100644 index f0630746ef..0000000000 --- a/testing/test-data/roads.json.md5 +++ /dev/null @@ -1 +0,0 @@ -7327760ce067f055bb54abf7d25038ae diff --git a/testing/test-data/roads.json.url b/testing/test-data/roads.json.url deleted file mode 100644 index 1ded2bd301..0000000000 --- a/testing/test-data/roads.json.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/583343428d777f4bd537dded/download diff --git a/testing/test-data/sample.json.md5 b/testing/test-data/sample.json.md5 deleted file mode 100644 index d507d1a729..0000000000 --- a/testing/test-data/sample.json.md5 +++ /dev/null @@ -1 +0,0 @@ -4de4f2fdfda807fe52bdbbc254dedffa \ No newline at end of file diff --git a/testing/test-data/sample.json.url b/testing/test-data/sample.json.url deleted file mode 100644 index ba94efe388..0000000000 --- a/testing/test-data/sample.json.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/560a89528d777f7bfaadd3ec/download diff --git a/testing/test-data/spark.png.md5 b/testing/test-data/spark.png.md5 deleted file mode 100644 index 678b0b49d5..0000000000 --- a/testing/test-data/spark.png.md5 +++ /dev/null @@ -1 +0,0 @@ -f8287538c40d9ddad473298d55a257df \ No newline at end of file diff --git a/testing/test-data/spark.png.url b/testing/test-data/spark.png.url deleted file mode 100644 index ef41d44307..0000000000 --- a/testing/test-data/spark.png.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/560a89528d777f7bfaadd3ef/download diff --git a/testing/test-data/temperature_data.tsv.md5 b/testing/test-data/temperature_data.tsv.md5 deleted file mode 100644 index 9c913f3721..0000000000 --- a/testing/test-data/temperature_data.tsv.md5 +++ /dev/null @@ -1 +0,0 @@ -d42411447bcaab4b306345d018a42952 diff --git a/testing/test-data/temperature_data.tsv.url b/testing/test-data/temperature_data.tsv.url deleted file mode 100644 index 9428b9356b..0000000000 --- a/testing/test-data/temperature_data.tsv.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/560a89528d777f7bfaadd3f2/download diff --git a/testing/test-data/tilefancy.png.md5 b/testing/test-data/tilefancy.png.md5 deleted file mode 100644 index 940ecb9e9c..0000000000 --- a/testing/test-data/tilefancy.png.md5 +++ /dev/null @@ -1 +0,0 @@ -52316da74f71cc8ef4d18a4016fc8f61 \ No newline at end of file diff --git a/testing/test-data/tilefancy.png.url b/testing/test-data/tilefancy.png.url deleted file mode 100644 index 232a966863..0000000000 --- a/testing/test-data/tilefancy.png.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/560a89528d777f7bfaadd3f5/download diff --git a/testing/test-data/tiles.tgz.md5 b/testing/test-data/tiles.tgz.md5 deleted file mode 100644 index a0da2d8b27..0000000000 --- a/testing/test-data/tiles.tgz.md5 +++ /dev/null @@ -1 +0,0 @@ -910b4894cc906dc3762dc9e314fd4025 diff --git a/testing/test-data/tiles.tgz.url b/testing/test-data/tiles.tgz.url deleted file mode 100644 index ac4e8d8f97..0000000000 --- a/testing/test-data/tiles.tgz.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/586d1e958d777f05f44a5c72/download diff --git a/testing/test-data/vtkCube.dat.md5 b/testing/test-data/vtkCube.dat.md5 deleted file mode 100644 index c67e38043c..0000000000 --- a/testing/test-data/vtkCube.dat.md5 +++ /dev/null @@ -1 +0,0 @@ -270c382b6e42434a52e0af84a30198a6 \ No newline at end of file diff --git a/testing/test-data/vtkCube.dat.url b/testing/test-data/vtkCube.dat.url deleted file mode 100644 index dd3e4ed3e6..0000000000 --- a/testing/test-data/vtkCube.dat.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/560a89528d777f7bfaadd3fe/download diff --git a/testing/test-data/vtkSceneMetadata.json.md5 b/testing/test-data/vtkSceneMetadata.json.md5 deleted file mode 100644 index 15d162428f..0000000000 --- a/testing/test-data/vtkSceneMetadata.json.md5 +++ /dev/null @@ -1 +0,0 @@ -eb22667d87b0d15e19856975b0a12a57 \ No newline at end of file diff --git a/testing/test-data/vtkSceneMetadata.json.url b/testing/test-data/vtkSceneMetadata.json.url deleted file mode 100644 index 3d85aeddd6..0000000000 --- a/testing/test-data/vtkSceneMetadata.json.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/560a89528d777f7bfaadd401/download diff --git a/testing/test-data/white.jpg.md5 b/testing/test-data/white.jpg.md5 deleted file mode 100644 index 684a164f57..0000000000 --- a/testing/test-data/white.jpg.md5 +++ /dev/null @@ -1 +0,0 @@ -cbe43849e5db0eae8cb6f429493c8cc1 \ No newline at end of file diff --git a/testing/test-data/white.jpg.url b/testing/test-data/white.jpg.url deleted file mode 100644 index 04f9fee18a..0000000000 --- a/testing/test-data/white.jpg.url +++ /dev/null @@ -1 +0,0 @@ -https://data.kitware.com/api/v1/file/560a89528d777f7bfaadd404/download diff --git a/tests/external-data/AdderallCities2015.csv.sha512 b/tests/external-data/AdderallCities2015.csv.sha512 new file mode 100644 index 0000000000..446210cd7b --- /dev/null +++ b/tests/external-data/AdderallCities2015.csv.sha512 @@ -0,0 +1 @@ +c3e984482cc6db1193a6dca2a55396a2baad8541a5c8c679f33750b76f766f40a119ec3e63abbabcd095d752c3df8ce21bf24cbe629502121f24ba90b4b0674c diff --git a/tests/external-data/base-images.tgz.sha512 b/tests/external-data/base-images.tgz.sha512 new file mode 100644 index 0000000000..71ab5a393b --- /dev/null +++ b/tests/external-data/base-images.tgz.sha512 @@ -0,0 +1 @@ +d7c9ac0d2324d047ee687fa0c1f857b24b03beae3cb84060d7507c53aca2b8a184abdcb6161ceb2cb238219b8235cfab75f61d9a1a2ff9fcf521b3f96c5f6c84 diff --git a/tests/external-data/blue.jpg.sha512 b/tests/external-data/blue.jpg.sha512 new file mode 100644 index 0000000000..bed718281d --- /dev/null +++ b/tests/external-data/blue.jpg.sha512 @@ -0,0 +1 @@ +867b1f3c568289efc7d0dba97d827a2bc4d83a7465cebcb3b5aec7bac6a38cf70d037d1814402bc97ad1f2f6737cfb5ce97db0a4fb53a716e77fd3ba57a7ab3b diff --git a/tests/external-data/cities.csv.sha512 b/tests/external-data/cities.csv.sha512 new file mode 100644 index 0000000000..d28b11f729 --- /dev/null +++ b/tests/external-data/cities.csv.sha512 @@ -0,0 +1 @@ +5a665e5feda24f28e5cf4ed0801b67e73bbcf3ea781b2e50d11284214e67b25b68e6a1c48da46e5e4d4d0c54c2ec18f88d292224b4541fb279396cf7b94beac9 diff --git a/tests/external-data/earthquakes-video.webm.sha512 b/tests/external-data/earthquakes-video.webm.sha512 new file mode 100644 index 0000000000..e82e4f4ef4 --- /dev/null +++ b/tests/external-data/earthquakes-video.webm.sha512 @@ -0,0 +1 @@ +834a9d05f5fb00145e529fa4b217398db0df188c69d751f3869128b6e9c92d3000f85378752c56d9d9b5fa0870437dd9bdfeb5d62f6c87c2c03a7f1a20ee8523 diff --git a/tests/external-data/earthquakes.json.sha512 b/tests/external-data/earthquakes.json.sha512 new file mode 100644 index 0000000000..1445b31595 --- /dev/null +++ b/tests/external-data/earthquakes.json.sha512 @@ -0,0 +1 @@ +f098b6437411384b552419b4a36264c1bb3fed816ccfe9545145175e0b92a0b7ad5ebdcb9dddd0a12a90499143ffa471c02f6e049be5b973db607ff066892500 diff --git a/tests/external-data/grid.jpg.sha512 b/tests/external-data/grid.jpg.sha512 new file mode 100644 index 0000000000..18d0de61d7 --- /dev/null +++ b/tests/external-data/grid.jpg.sha512 @@ -0,0 +1 @@ +60d201a14c7d31e7881301e6784e0372ddf27f26e5e4eafba9ba39158dfd050e3683faaa660fcde47e6c994dd3ee64c5a5231474ca75090053ef9207fedd9029 diff --git a/tests/external-data/hurricanes.json.sha512 b/tests/external-data/hurricanes.json.sha512 new file mode 100644 index 0000000000..ad01826d5a --- /dev/null +++ b/tests/external-data/hurricanes.json.sha512 @@ -0,0 +1 @@ +012f15036bfc9ac3abb81a2a61e2c7b602ef3d8f7bd3b3f0fb66972ee69034730655f69febb2df5d657f22cd2b1e69170f6568bcbb03d7ebdecdfbafb80cc3b7 diff --git a/tests/external-data/land_polygons.json.sha512 b/tests/external-data/land_polygons.json.sha512 new file mode 100644 index 0000000000..d326bce343 --- /dev/null +++ b/tests/external-data/land_polygons.json.sha512 @@ -0,0 +1 @@ +30a828392d58678599130e0dca6d7f27e7e07e4e5b5d7f7a37871eb395d53d97b76134c0a07e805fbdfac0f42e6d3ca6e287c9727815a9dc711d541b1c8f68a1 diff --git a/tests/external-data/land_shallow_topo_2048.png.sha512 b/tests/external-data/land_shallow_topo_2048.png.sha512 new file mode 100644 index 0000000000..0ff7e03d11 --- /dev/null +++ b/tests/external-data/land_shallow_topo_2048.png.sha512 @@ -0,0 +1 @@ +8a8330dba5bacdb511038ad0f6ee5a764a40aa7a8868a445749f653ae5d85d8317684ac706e7a9f049590170df6bc3fefc2912d52124d1b3b17aa43c529ff2a8 diff --git a/tests/external-data/oahu-dense.json.sha512 b/tests/external-data/oahu-dense.json.sha512 new file mode 100644 index 0000000000..7000b03856 --- /dev/null +++ b/tests/external-data/oahu-dense.json.sha512 @@ -0,0 +1 @@ +692a44ec4a18b16d1530403a9a2bf286ff2ef7d45fa58f555c278f91a0fa708b5626a3f38955e06a11cdc06a1009e859328687c1f32a2169e0c8ef1b518418c1 diff --git a/tests/external-data/oahu-medium.json.sha512 b/tests/external-data/oahu-medium.json.sha512 new file mode 100644 index 0000000000..9b710e2ef7 --- /dev/null +++ b/tests/external-data/oahu-medium.json.sha512 @@ -0,0 +1 @@ +83375c5c2678b11d8de7f59fd8e2f9b889d3ec20f4a81279d996711bfc0942bd9dcdce149cbca995930459c26b3bf58be60569687085adf361ff805436b75aab diff --git a/tests/external-data/oahu.json.sha512 b/tests/external-data/oahu.json.sha512 new file mode 100644 index 0000000000..0f433a70fd --- /dev/null +++ b/tests/external-data/oahu.json.sha512 @@ -0,0 +1 @@ +e44282c44fa95f0b40c2135ee94ff40a755771f3b4bf9acda0eef0048cd0fb29b3a71352e2eecdca6cfc35fafde96ffb1a9658c9fee2346071808a9123c26cb5 diff --git a/tests/external-data/red.jpg.sha512 b/tests/external-data/red.jpg.sha512 new file mode 100644 index 0000000000..0473d8afa1 --- /dev/null +++ b/tests/external-data/red.jpg.sha512 @@ -0,0 +1 @@ +70884f5c3d1747633412dcf64d4886d985b49f508b68eb9f3874b2fdcfad38e7623f4a7c7355baa1656503f46e2e091576a19ded9fad7c7c65387c313206d2e6 diff --git a/tests/external-data/roads.json.sha512 b/tests/external-data/roads.json.sha512 new file mode 100644 index 0000000000..2786b0419c --- /dev/null +++ b/tests/external-data/roads.json.sha512 @@ -0,0 +1 @@ +ae8d8b99c3fab73798ddcc246ea53b1bc8d598414d00df4ce697373a343fbf7ffed4dbae5f07a997ac7731b5f86140686b8425b99bd5818b8c9ec68e7c4d3315 diff --git a/tests/external-data/sample.json.sha512 b/tests/external-data/sample.json.sha512 new file mode 100644 index 0000000000..698a9e739c --- /dev/null +++ b/tests/external-data/sample.json.sha512 @@ -0,0 +1 @@ +5d4b00559f17fac607eafe4a9bb933386ebd572fbe545e6138b8eafbbf510074a8ae398c7df0420a017218af83b18cc322633b77007b63a27dfea7a50db70244 diff --git a/tests/external-data/temperature_data.tsv.sha512 b/tests/external-data/temperature_data.tsv.sha512 new file mode 100644 index 0000000000..a506f1f17f --- /dev/null +++ b/tests/external-data/temperature_data.tsv.sha512 @@ -0,0 +1 @@ +bde5cdad7c4518694393de83da938bcf5d485b41116b51f0fce4b462737992d2973f076c577040fa816873b196c6397244aa03736fc7750a0eea0ba5cbcc48e4 diff --git a/tests/external-data/tilefancy.png.sha512 b/tests/external-data/tilefancy.png.sha512 new file mode 100644 index 0000000000..dc074aa7e7 --- /dev/null +++ b/tests/external-data/tilefancy.png.sha512 @@ -0,0 +1 @@ +455effa59d421cbb73c6def815813063f1c649363de4007fa0de00cc2e0f24cba745c046266e5a83fc43b121a648017d509d7bf03c30fbee1448817e3f849683 diff --git a/tests/external-data/tiles.tgz.sha512 b/tests/external-data/tiles.tgz.sha512 new file mode 100644 index 0000000000..7985124d27 --- /dev/null +++ b/tests/external-data/tiles.tgz.sha512 @@ -0,0 +1 @@ +30defdfd28f6773c78f31b64b728d42630583b4e2b74c7098d75e6887bf5d8a6bea08a85669ad969058ac2c98dc45d5512684c62227403e7fcf57ea4dc1675f5 diff --git a/tests/external-data/white.jpg.sha512 b/tests/external-data/white.jpg.sha512 new file mode 100644 index 0000000000..cb660aecc0 --- /dev/null +++ b/tests/external-data/white.jpg.sha512 @@ -0,0 +1 @@ +ea7a9d7ff76775e742572f89e90cce1248ec99c33b2f486e0fa1d19ab461b87dff324533ecb186a3db14e40a3826da97b5d66566360a201228f60140b0e89942 From 61f4c677f9d14a0d89a186ea1648e2a3cc5f325b Mon Sep 17 00:00:00 2001 From: David Manthey Date: Fri, 22 Jun 2018 15:01:12 -0400 Subject: [PATCH 5/5] Switch to webpack v3. There are some sections for webpack v4 which are commented out (and some sections for v3 that would need to be removed). When karma-webpack v4 is official, we may want to switch to version 4. --- external.config.js | 42 +- karma-base.js | 30 +- karma-cov.conf.js | 12 +- package-lock.json | 20857 +++++++++++++++++++++++----------- package.json | 21 +- webpack-examples.config.js | 34 +- webpack-tutorials.config.js | 28 +- webpack.config.js | 66 +- 8 files changed, 14438 insertions(+), 6652 deletions(-) diff --git a/external.config.js b/external.config.js index 3d1aaccf9a..828b0de2c8 100644 --- a/external.config.js +++ b/external.config.js @@ -1,7 +1,12 @@ var path = require('path'); -var webpack = require('webpack'); +var UglifyJsPlugin = require('uglifyjs-webpack-plugin'); module.exports = { + /* webpack 4 + mode: 'production', + */ + performance: {hints: false}, + cache: true, context: path.join(__dirname, 'src'), entry: { 'geo.ext': './vendor.js', @@ -18,18 +23,41 @@ module.exports = { hammerjs: 'hammerjs/hammer.js' } }, + /* webpack 3 */ plugins: [ - new webpack.optimize.UglifyJsPlugin({ + new UglifyJsPlugin({ include: /\.min\.js$/, - minimize: true, - comments: /@(license|copyright)/ + parallel: true, + uglifyOptions: { + compress: true, + comments: /@(license|copyright)/ + }, + sourceMap: true }) ], + /* end webpack 3 */ + /* webpack 4 + optimization: { + minimizer: [ + new UglifyJsPlugin({ + include: /\.min\.js$/, + parallel: true, + uglifyOptions: { + compress: true, + comments: /@(license|copyright)/ + }, + sourceMap: true + }) + ] + }, + */ module: { - loaders: [{ - test: require.resolve('d3'), loader: 'expose?d3' + rules: [{ + test: require.resolve('d3'), + use: ['expose-loader?d3'] }, { - test: require.resolve('hammerjs'), loader: 'expose?hammerjs' + test: require.resolve('hammerjs'), + use: ['expose-loader?hammerjs'] }] } }; diff --git a/karma-base.js b/karma-base.js index a310ba409f..9656ce6865 100644 --- a/karma-base.js +++ b/karma-base.js @@ -249,6 +249,24 @@ var FirefoxPrefs = { }; module.exports = function (config) { + webpack_config.plugins.push(function () { + this.plugin('done', function (stats) { + if (stats.compilation.warnings.length) { + // Log each of the warnings + stats.compilation.warnings.forEach(function (warning) { + console.log(warning.message || warning); + }); + // Pretend no assets were generated. This prevents the tests + // from running making it clear that there were warnings. + stats.stats = [{ + toJson: function () { + return this; + }, + assets: [] + }]; + } + }); + }); var newConfig = { autoWatch: false, files: [ @@ -300,7 +318,7 @@ module.exports = function (config) { '--kiosk', '--incognito', '--translate-script-url=""', - '--proxy-pac-url=' + config.protocol + '//' + config.hostname + ':' + config.port + '/testdata/proxy-for-tests.pac' + '--proxy-pac-url=' + config.protocol + '//' + (config.hostname || '127.0.0.1') + ':' + config.port + '/testdata/proxy-for-tests.pac' ]) }, FirefoxHeadlessTouch: { @@ -315,7 +333,7 @@ module.exports = function (config) { prefs: Object.assign({ // enable proxy 'network.proxy.type': 2, - 'network.proxy.autoconfig_url': config.protocol + '//' + config.hostname + ':' + config.port + '/testdata/proxy-for-tests.pac', + 'network.proxy.autoconfig_url': config.protocol + '//' + (config.hostname || '127.0.0.1') + ':' + config.port + '/testdata/proxy-for-tests.pac', // enable touch 'dom.w3c_touch_events.enabled': 1 }, FirefoxPrefs) @@ -347,13 +365,17 @@ module.exports = function (config) { } }, webpack: { + /* webpack 4 + mode: 'production', + */ + performance: {hints: false}, cache: true, devtool: 'inline-source-map', module: { - loaders: webpack_config.module.loaders + rules: webpack_config.module.rules }, resolve: webpack_config.resolve, - plugins: webpack_config.exposed_plugins + plugins: webpack_config.plugins }, webpackMiddleware: { stats: 'errors-only' diff --git a/karma-cov.conf.js b/karma-cov.conf.js index 5457ba76c6..6c412396ef 100644 --- a/karma-cov.conf.js +++ b/karma-cov.conf.js @@ -41,13 +41,11 @@ module.exports = function (config) { {type: 'text'} ] }; - karma_config.webpack.module.preLoaders = [ - { - test: /\.js$/, - include: path.resolve('src/'), - loader: 'istanbul-instrumenter' - } - ]; + karma_config.webpack.module.rules.unshift({ + test: /\.js$/, + include: path.resolve('src/'), + use: ['istanbul-instrumenter-loader'] + }); config.set(karma_config); }; diff --git a/package-lock.json b/package-lock.json index f506d8f259..486f679783 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,19 +4,237 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "1.0.1", + "glob-to-regexp": "0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.0.tgz", + "integrity": "sha512-LAQ1d4OPfSJ/BMbI2DuizmYrrkD9JMaTdi2hQTlI53lQ4kRQPyZQRS4CYQ7O66bnBBnP/oYdRxbk++X0xuFU6A==", + "dev": true + }, + "@samverschueren/stream-to-observable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz", + "integrity": "sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==", + "dev": true, + "requires": { + "any-observable": "0.3.0" + } + }, + "@shellscape/koa-send": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@shellscape/koa-send/-/koa-send-4.1.3.tgz", + "integrity": "sha512-akNxJetq2ak8aj7U6ys+EYXfWY4k8keleDZJbHWvpuVDj0/PUbbOuPkeBYaie7C6d5fRNLK+0M1Puu8ywTlj3w==", + "dev": true, + "requires": { + "debug": "2.6.9", + "http-errors": "1.6.3", + "mz": "2.7.0", + "resolve-path": "1.4.0" + } + }, + "@shellscape/koa-static": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@shellscape/koa-static/-/koa-static-4.0.5.tgz", + "integrity": "sha512-0T2g2NtaO2zhbqR8EBACIGtBy+haodKb8PuJ17RGDXAJwhjkgghUKLrLEnm05zuiwupfYm2APIax6D2TwLoflA==", + "dev": true, + "requires": { + "@shellscape/koa-send": "4.1.3", + "debug": "2.6.9" + } + }, + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", + "dev": true + }, "@types/babel-types": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.1.tgz", - "integrity": "sha512-EkcOk09rjhivbovP8WreGRbXW20YRfe/qdgXOGq3it3u3aAOWDRNsQhL/XPAWFF7zhZZ+uR+nT+3b+TCkIap1w==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.4.tgz", + "integrity": "sha512-WiZhq3SVJHFRgRYLXvpf65XnV6ipVHhnNaNvE8yCimejrGglkg38kEj0JcizqwSHxmPSjcTlig/6JouxLGEhGw==", "dev": true }, "@types/babylon": { - "version": "6.16.2", - "resolved": "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.2.tgz", - "integrity": "sha512-+Jty46mPaWe1VAyZbfvgJM4BAdklLWxrT5tc/RjvCgLrtk6gzRY6AOnoWFv4p6hVxhJshDdr2hGVn56alBp97Q==", + "version": "6.16.3", + "resolved": "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.3.tgz", + "integrity": "sha512-lyJ8sW1PbY3uwuvpOBZ9zMYKshMnQpXmeDHh8dj9j2nJm/xrW0FgB5gLSYOArj5X0IfaXnmhFoJnhS4KbqIMug==", + "dev": true, + "requires": { + "@types/babel-types": "7.0.4" + } + }, + "@webpack-contrib/config-loader": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@webpack-contrib/config-loader/-/config-loader-1.2.1.tgz", + "integrity": "sha512-C7XsS6bXft0aRlyt7YCLg+fm97Mb3tWd+i5fVVlEl0NW5HKy8LoXVKj3mB7ECcEHNEEdHhgzg8gxP+Or8cMj8Q==", + "dev": true, + "requires": { + "@webpack-contrib/schema-utils": "1.0.0-beta.0", + "chalk": "2.4.1", + "cosmiconfig": "5.0.5", + "is-plain-obj": "1.1.0", + "loud-rejection": "1.6.0", + "merge-options": "1.0.1", + "minimist": "1.2.0", + "resolve": "1.8.1", + "webpack-log": "1.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "requires": { + "path-parse": "1.0.5" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "@webpack-contrib/schema-utils": { + "version": "1.0.0-beta.0", + "resolved": "https://registry.npmjs.org/@webpack-contrib/schema-utils/-/schema-utils-1.0.0-beta.0.tgz", + "integrity": "sha512-LonryJP+FxQQHsjGBi6W786TQB1Oym+agTpY0c+Kj8alnIw+DLUJb6SI8Y1GHGhLCH1yPRrucjObUmxNICQ1pg==", "dev": true, "requires": { - "@types/babel-types": "7.0.1" + "ajv": "6.5.2", + "ajv-keywords": "3.2.0", + "chalk": "2.4.1", + "strip-ansi": "4.0.0", + "text-table": "0.2.0", + "webpack-log": "1.2.0" + }, + "dependencies": { + "ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } } }, "abbrev": { @@ -36,11 +254,28 @@ } }, "acorn": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", - "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", + "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==", "dev": true }, + "acorn-dynamic-import": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", + "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "dev": true, + "requires": { + "acorn": "4.0.13" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, "acorn-globals": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", @@ -75,12 +310,28 @@ } } }, + "addressparser": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz", + "integrity": "sha1-R6++GiqSYhkdtoOOT9HTm0CCF0Y=", + "dev": true, + "optional": true + }, "after": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", "dev": true }, + "agent-base": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", + "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "dev": true, + "requires": { + "es6-promisify": "5.0.0" + } + }, "ajv": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", @@ -122,6 +373,91 @@ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, + "amqplib": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/amqplib/-/amqplib-0.5.2.tgz", + "integrity": "sha512-l9mCs6LbydtHqRniRwYkKdqxVa6XMz3Vw1fh+2gJaaVgTM6Jk3o8RccAKWKtlhT1US5sWrFh+KKxsVUALURSIA==", + "dev": true, + "optional": true, + "requires": { + "bitsyntax": "0.0.4", + "bluebird": "3.5.1", + "buffer-more-ints": "0.0.2", + "readable-stream": "1.1.14", + "safe-buffer": "5.1.2" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true, + "optional": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true, + "optional": true + } + } + }, + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "dev": true, + "requires": { + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, "ansi-escapes": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", @@ -140,6 +476,18 @@ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, + "any-observable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", + "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==", + "dev": true + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true + }, "anymatch": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", @@ -150,16 +498,28 @@ "normalize-path": "2.1.1" } }, - "aproba": { + "app-root-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.1.0.tgz", + "integrity": "sha1-mL9lmTJ+zqGZMJhm6BQDaP0uZGo=", + "dev": true + }, + "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, + "arch": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz", + "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==", + "dev": true + }, "are-we-there-yet": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "requires": { "delegates": "1.0.0", @@ -196,6 +556,18 @@ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", @@ -236,9 +608,9 @@ "dev": true }, "arraybuffer.slice": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", - "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=", + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", "dev": true }, "arrify": { @@ -259,6 +631,17 @@ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", "dev": true }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, "assert": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", @@ -266,6 +649,23 @@ "dev": true, "requires": { "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } } }, "assert-plus": { @@ -274,6 +674,18 @@ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "ast-types": { + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.5.tgz", + "integrity": "sha512-oJjo+5e7/vEc2FBK8gUalV0pba4L3VdBIs2EKhOLHLcOd2FgQIVQN9xb0eZ9IjEWyAL7vq6fGJxOvVvdCHNyMw==", + "dev": true + }, "async": { "version": "0.2.10", "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", @@ -286,12 +698,24 @@ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", "dev": true }, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", + "dev": true + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, + "atob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", + "dev": true + }, "autoprefixer": { "version": "6.7.7", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", @@ -299,7 +723,7 @@ "dev": true, "requires": { "browserslist": "1.7.7", - "caniuse-db": "1.0.30000833", + "caniuse-db": "1.0.30000865", "normalize-range": "0.1.2", "num2fraction": "1.2.2", "postcss": "5.2.18", @@ -318,6 +742,28 @@ "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==", "dev": true }, + "axios": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.15.3.tgz", + "integrity": "sha1-LJ1jiy4ZGgjqHWzJiOrda6W9wFM=", + "dev": true, + "optional": true, + "requires": { + "follow-redirects": "1.0.0" + }, + "dependencies": { + "follow-redirects": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz", + "integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=", + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.9" + } + } + } + }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -329,6 +775,33 @@ "js-tokens": "3.0.2" } }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" + } + }, "babel-generator": { "version": "6.26.1", "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", @@ -353,6750 +826,13252 @@ } } }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "babel-helper-bindify-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", + "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "core-js": "2.5.5", - "regenerator-runtime": "0.11.1" + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { + "babel-helper-hoist-variables": "6.24.1", "babel-runtime": "6.26.0", "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", "babel-types": "6.26.0", - "babylon": "6.18.0", "lodash": "4.17.10" } }, - "babel-traverse": { + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-explode-class": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", + "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", + "dev": true, + "requires": { + "babel-helper-bindify-decorators": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-regex": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", "babel-runtime": "6.26.0", "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", "lodash": "4.17.10" } }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { + "babel-helper-function-name": "6.24.1", "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "1.0.3" + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", "dev": true }, - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "babel-plugin-syntax-async-generators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", + "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", "dev": true }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", + "babel-plugin-syntax-class-constructor-call": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz", + "integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=", "dev": true }, - "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", "dev": true }, - "base64id": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", - "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", + "babel-plugin-syntax-decorators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", + "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", "dev": true }, - "batch": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz", - "integrity": "sha1-PzQU84AyF0O/wQQvmoP/HVgk1GQ=", + "babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", "dev": true }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", - "dev": true, - "requires": { - "callsite": "1.0.0" - } + "babel-plugin-syntax-export-extensions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", + "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=", + "dev": true }, - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "babel-plugin-syntax-flow": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", + "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=", "dev": true }, - "binary-extensions": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", "dev": true }, - "blob": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", - "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", "dev": true }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "babel-plugin-transform-async-generator-functions": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", + "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", "dev": true, "requires": { - "inherits": "2.0.3" + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-generators": "6.13.0", + "babel-runtime": "6.26.0" } }, - "bluebird": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", - "dev": true - }, - "body-parser": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", - "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "bytes": "3.0.0", - "content-type": "1.0.4", - "debug": "2.6.9", - "depd": "1.1.2", - "http-errors": "1.6.3", - "iconv-lite": "0.4.19", - "on-finished": "2.3.0", - "qs": "6.5.1", - "raw-body": "2.3.2", - "type-is": "1.6.16" + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" } }, - "boom": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", - "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "babel-plugin-transform-class-constructor-call": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz", + "integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=", "dev": true, "requires": { - "hoek": "4.2.1" + "babel-plugin-syntax-class-constructor-call": "6.18.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, - "bootstrap": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.3.7.tgz", - "integrity": "sha1-WjiTlFSfIzMIdaOxUGVldPip63E=", - "dev": true - }, - "bootswatch": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/bootswatch/-/bootswatch-3.3.7.tgz", - "integrity": "sha1-62+amoUjuHpwbqkd7sPg1+qoqx8=", - "dev": true - }, - "bowser": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.3.tgz", - "integrity": "sha512-/gp96UlcFw5DbV2KQPCqTqi0Mb9gZRyDAHiDsGEH+4B/KOQjeoE5lM1PxlVX8DQDvfEfitmC1rW2Oy8fk/XBDg==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "babel-plugin-transform-class-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", "dev": true, "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - } + "babel-helper-function-name": "6.24.1", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "babel-plugin-transform-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", + "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "babel-helper-explode-class": "6.24.1", + "babel-plugin-syntax-decorators": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" } }, - "broadway": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/broadway/-/broadway-0.3.6.tgz", - "integrity": "sha1-fb7waLlUt5B5Jf1USWO1eKkCuno=", + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", "dev": true, "requires": { - "cliff": "0.1.9", - "eventemitter2": "0.4.14", - "nconf": "0.6.9", - "utile": "0.2.1", - "winston": "0.8.0" - }, - "dependencies": { - "cliff": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/cliff/-/cliff-0.1.9.tgz", - "integrity": "sha1-ohHgnGo947oa8n0EnTASUNGIErw=", - "dev": true, - "requires": { - "colors": "0.6.2", - "eyes": "0.1.8", - "winston": "0.8.0" - } - }, - "colors": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", - "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", - "dev": true - }, - "winston": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.0.tgz", - "integrity": "sha1-YdCDD6aZcGISIGsKK1ymmpMENmg=", - "dev": true, - "requires": { - "async": "0.2.10", - "colors": "0.6.2", - "cycle": "1.0.3", - "eyes": "0.1.8", - "pkginfo": "0.3.1", - "stack-trace": "0.0.10" - } - } + "babel-runtime": "6.26.0" } }, - "browserify-aes": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-0.4.0.tgz", - "integrity": "sha1-BnFJtmjfMcS1hTPgLQHoBthgjiw=", + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", "dev": true, "requires": { - "inherits": "2.0.3" + "babel-runtime": "6.26.0" } }, - "browserify-zlib": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", "dev": true, "requires": { - "pako": "0.2.9" - }, - "dependencies": { - "pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", - "dev": true - } + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" } }, - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", "dev": true, "requires": { - "caniuse-db": "1.0.30000833", - "electron-to-chromium": "1.3.45" + "babel-helper-define-map": "6.26.0", + "babel-helper-function-name": "6.24.1", + "babel-helper-optimise-call-expression": "6.24.1", + "babel-helper-replace-supers": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", "dev": true, "requires": { - "base64-js": "1.3.0", - "ieee754": "1.1.11", - "isarray": "1.0.0" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, - "buffer-from": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", - "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, - "caller": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/caller/-/caller-0.0.1.tgz", - "integrity": "sha1-83odbqEOgp2UchrimpC7T7Uqt2c=", + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "tape": "2.3.3" + "babel-runtime": "6.26.0" } }, - "caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", "dev": true, "requires": { - "callsites": "0.2.0" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true - }, - "callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", - "dev": true + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", "dev": true, "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" - }, - "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - } + "babel-runtime": "6.26.0" } }, - "caniuse-api": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", - "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", "dev": true, "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000833", - "lodash.memoize": "4.1.2", - "lodash.uniq": "4.5.0" + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, - "caniuse-db": { - "version": "1.0.30000833", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000833.tgz", - "integrity": "sha1-K9e+cqQBZY0svLj012AN7r6xxnY=", - "dev": true + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } }, - "canvas-prebuilt": { - "version": "1.6.5-prerelease.1", - "resolved": "https://registry.npmjs.org/canvas-prebuilt/-/canvas-prebuilt-1.6.5-prerelease.1.tgz", - "integrity": "sha1-aBSyC5yAg13MJL/WGZFHKIYwUhw=", + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", "dev": true, "requires": { - "node-pre-gyp": "0.6.39", - "parse-css-font": "2.0.2", - "units-css": "0.4.0" + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } }, - "catharsis": { - "version": "0.8.9", - "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.9.tgz", - "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", "dev": true, "requires": { - "underscore-contrib": "0.3.0" + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.26.0" } }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, - "character-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", - "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=", + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "is-regex": "1.0.4" + "babel-runtime": "6.26.0" } }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "fsevents": "1.2.4", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" - } - }, - "circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "dev": true - }, - "clap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", - "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", - "dev": true, - "requires": { - "chalk": "1.1.3" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, - "clean-css": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz", - "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=", + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", "dev": true, "requires": { - "source-map": "0.5.7" + "babel-runtime": "6.26.0" } }, - "cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", "dev": true, "requires": { - "restore-cursor": "1.0.1" + "babel-runtime": "6.26.0" } }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true - }, - "cliff": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/cliff/-/cliff-0.1.10.tgz", - "integrity": "sha1-U74z6p9ZvshWCe4wCsQgdgPlIBM=", + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "colors": "1.0.3", - "eyes": "0.1.8", - "winston": "0.8.3" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" }, "dependencies": { - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } } } }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - }, - "dependencies": { - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true - } + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" } }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "coa": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", - "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "babel-plugin-transform-export-extensions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz", + "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=", "dev": true, "requires": { - "q": "1.5.1" + "babel-plugin-syntax-export-extensions": "6.13.0", + "babel-runtime": "6.26.0" } }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "codecov": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.0.1.tgz", - "integrity": "sha512-0TjnXrbvcPzAkRPv/Y5D8aZju/M5adkFxShRyMMgDReB8EV9nF4XMERXs6ajgLA1di9LUFW2tgePDQd2JPWy7g==", + "babel-plugin-transform-flow-strip-types": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", + "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", "dev": true, "requires": { - "argv": "0.0.2", - "request": "2.85.0", - "urlgrey": "0.4.4" + "babel-plugin-syntax-flow": "6.18.0", + "babel-runtime": "6.26.0" } }, - "codemirror": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.37.0.tgz", - "integrity": "sha512-dQaayDJCLU4UJcwg2RM44oFrs0dMNndTp6qxQJF6XI71l1xN3RB4IqiKES0b0rccbARbrD/UBB4t8DNknfaOTw==", - "dev": true - }, - "color": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", - "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", "dev": true, "requires": { - "clone": "1.0.4", - "color-convert": "1.9.1", - "color-string": "0.3.0" + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-runtime": "6.26.0" } }, - "color-convert": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", - "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", "dev": true, "requires": { - "color-name": "1.1.3" + "regenerator-transform": "0.10.1" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "color-string": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", - "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "color-name": "1.1.3" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, - "colorbrewer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/colorbrewer/-/colorbrewer-1.1.0.tgz", - "integrity": "sha512-DO9gYp/qU4HwKD+IkpeCnqIZ8n1h8M1NbHnu1PzEUFAtIi/LOlIdaEP5fLr46id+Y7C/67qqiDHYGPCpMKoegg==", - "dev": true - }, - "colormin": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", - "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", + "babel-preset-es2015": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", "dev": true, "requires": { - "color": "0.11.4", - "css-color-names": "0.0.4", - "has": "1.0.1" + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0" } }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true - }, - "combined-stream": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", - "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "babel-preset-stage-1": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz", + "integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=", "dev": true, "requires": { - "delayed-stream": "1.0.0" + "babel-plugin-transform-class-constructor-call": "6.24.1", + "babel-plugin-transform-export-extensions": "6.22.0", + "babel-preset-stage-2": "6.24.1" } }, - "commander": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", - "dev": true - }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true - }, - "component-emitter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz", - "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=", - "dev": true - }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "dev": true - }, - "compressible": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.13.tgz", - "integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=", + "babel-preset-stage-2": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", + "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", "dev": true, "requires": { - "mime-db": "1.33.0" + "babel-plugin-syntax-dynamic-import": "6.18.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-decorators": "6.24.1", + "babel-preset-stage-3": "6.24.1" } }, - "compression": { - "version": "1.7.2", - "resolved": "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz", - "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=", + "babel-preset-stage-3": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", + "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", "dev": true, "requires": { - "accepts": "1.3.5", - "bytes": "3.0.0", - "compressible": "2.0.13", - "debug": "2.6.9", - "on-headers": "1.0.1", - "safe-buffer": "5.1.1", - "vary": "1.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true - } + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-generator-functions": "6.24.1", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-object-rest-spread": "6.26.0" } }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "buffer-from": "1.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "home-or-tmp": "2.0.0", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" } }, - "connect": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", - "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.0", - "parseurl": "1.3.2", - "utils-merge": "1.0.1" - }, - "dependencies": { - "finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.3.1", - "unpipe": "1.0.0" - } - }, - "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", - "dev": true - } + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" } }, - "connect-history-api-fallback": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", - "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", - "dev": true - }, - "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "date-now": "0.1.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.10" } }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, - "constantinople": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz", - "integrity": "sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==", + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "@types/babel-types": "7.0.1", - "@types/babylon": "6.16.2", + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", "babel-types": "6.26.0", - "babylon": "6.18.0" + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" } }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", - "dev": true - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, - "convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", - "dev": true - }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", - "dev": true + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "1.0.3" + } }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, - "core-js": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", - "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=", + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", "dev": true }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, - "cryptiles": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", - "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { - "boom": "5.2.0" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "hoek": "4.2.1" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true } } }, - "crypto-browserify": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.3.0.tgz", - "integrity": "sha1-ufx1u0oO1h3PHNXa6W6zDJw+UGw=", - "dev": true, - "requires": { - "browserify-aes": "0.4.0", - "pbkdf2-compat": "2.0.1", - "ripemd160": "0.2.0", - "sha.js": "2.2.6" - } + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", + "dev": true }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", "dev": true }, - "css-font-size-keywords": { + "base64id": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz", - "integrity": "sha1-hUh1rOmspqjS7g00WkSq6btttss=", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", + "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", "dev": true }, - "css-font-stretch-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz", - "integrity": "sha1-UM7puboDH7XJUtRyMTnx4Qe1SxA=", - "dev": true + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } }, - "css-font-style-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz", - "integrity": "sha1-XDUygT9jtKHelU0TzqhqtDM0CeQ=", + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "dev": true, + "requires": { + "callsite": "1.0.0" + } + }, + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", "dev": true }, - "css-font-weight-keywords": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz", - "integrity": "sha1-m8BGcayFvHJLV07106yWsNYE/Zc=", + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", "dev": true }, - "css-global-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-global-keywords/-/css-global-keywords-1.0.1.tgz", - "integrity": "sha1-cqmupyeW0Bmx0qMlLeTlqqN+Smk=", + "binaryextensions": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.1.1.tgz", + "integrity": "sha512-XBaoWE9RW8pPdPQNibZsW2zh8TW6gcarXp1FZPwT8Uop8ScSNldJEWf2k9l3HeTqdrEwsOsFcq74RiJECW34yA==", "dev": true }, - "css-list-helpers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-list-helpers/-/css-list-helpers-1.0.1.tgz", - "integrity": "sha1-//VxkiAtuDJAxBaG+RnkSacCT30=", + "bitsyntax": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.0.4.tgz", + "integrity": "sha1-6xDMb4K4xJDj6FaY8H6D1G4MuoI=", "dev": true, + "optional": true, "requires": { - "tcomb": "2.7.0" + "buffer-more-ints": "0.0.2" } }, - "css-loader": { - "version": "0.28.11", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", - "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", + "bl": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", + "integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=", "dev": true, + "optional": true, "requires": { - "babel-code-frame": "6.26.0", - "css-selector-tokenizer": "0.7.0", - "cssnano": "3.10.0", - "icss-utils": "2.1.0", - "loader-utils": "1.1.0", - "lodash.camelcase": "4.3.0", - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-modules-extract-imports": "1.2.0", - "postcss-modules-local-by-default": "1.2.0", - "postcss-modules-scope": "1.1.0", - "postcss-modules-values": "1.3.0", - "postcss-value-parser": "3.3.0", - "source-list-map": "2.0.0" + "readable-stream": "2.0.6" + }, + "dependencies": { + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true, + "optional": true + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "0.10.31", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true, + "optional": true + } } }, - "css-parse": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz", - "integrity": "sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs=", - "dev": true - }, - "css-selector-parser": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-1.3.0.tgz", - "integrity": "sha1-XxrUPi2O77/cME/NOaUhZklD4+s=", + "blob": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", + "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", "dev": true }, - "css-selector-tokenizer": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", - "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", "dev": true, "requires": { - "cssesc": "0.1.0", - "fastparse": "1.1.1", - "regexpu-core": "1.0.0" + "inherits": "2.0.3" } }, - "css-system-font-keywords": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz", - "integrity": "sha1-hcbwhquk6zLFcaMIav/ENLhII+0=", + "bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", "dev": true }, - "cssesc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", "dev": true }, - "cssnano": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", - "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", + "body-parser": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", + "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", "dev": true, "requires": { - "autoprefixer": "6.7.7", - "decamelize": "1.2.0", - "defined": "1.0.0", - "has": "1.0.1", - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-calc": "5.3.1", - "postcss-colormin": "2.2.2", - "postcss-convert-values": "2.6.1", - "postcss-discard-comments": "2.0.4", - "postcss-discard-duplicates": "2.1.0", - "postcss-discard-empty": "2.1.0", - "postcss-discard-overridden": "0.1.1", - "postcss-discard-unused": "2.2.3", - "postcss-filter-plugins": "2.0.2", - "postcss-merge-idents": "2.1.7", - "postcss-merge-longhand": "2.0.2", - "postcss-merge-rules": "2.1.2", - "postcss-minify-font-values": "1.0.5", - "postcss-minify-gradients": "1.0.5", - "postcss-minify-params": "1.2.2", - "postcss-minify-selectors": "2.1.1", - "postcss-normalize-charset": "1.1.1", - "postcss-normalize-url": "3.0.8", - "postcss-ordered-values": "2.2.3", - "postcss-reduce-idents": "2.4.0", - "postcss-reduce-initial": "1.0.1", - "postcss-reduce-transforms": "1.0.4", - "postcss-svgo": "2.1.6", - "postcss-unique-selectors": "2.0.2", - "postcss-value-parser": "3.3.0", - "postcss-zindex": "2.2.0" + "bytes": "3.0.0", + "content-type": "1.0.4", + "debug": "2.6.9", + "depd": "1.1.2", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "on-finished": "2.3.0", + "qs": "6.5.2", + "raw-body": "2.3.3", + "type-is": "1.6.16" } }, - "csso": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", - "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "dev": true, "requires": { - "clap": "1.2.3", - "source-map": "0.5.7" + "hoek": "2.16.3" } }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "1.0.2" - } + "bootstrap": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.3.7.tgz", + "integrity": "sha1-WjiTlFSfIzMIdaOxUGVldPip63E=", + "dev": true }, - "custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "bootswatch": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/bootswatch/-/bootswatch-3.3.7.tgz", + "integrity": "sha1-62+amoUjuHpwbqkd7sPg1+qoqx8=", "dev": true }, - "cycle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", + "bowser": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.4.tgz", + "integrity": "sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ==", "dev": true }, - "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "es5-ext": "0.10.42" + "ansi-align": "2.0.0", + "camelcase": "4.1.0", + "chalk": "2.4.1", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.2" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } } }, - "d3": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz", - "integrity": "sha1-vEZ0gAQ3iyGjYMn8fPUjF5B2L7g=", - "optional": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "assert-plus": "1.0.0" + "balanced-match": "1.0.0", + "concat-map": "0.0.1" } }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true - }, - "dateformat": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", - "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "get-stdin": "4.0.1", - "meow": "3.7.0" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "broadway": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/broadway/-/broadway-0.3.6.tgz", + "integrity": "sha1-fb7waLlUt5B5Jf1USWO1eKkCuno=", "dev": true, "requires": { - "ms": "2.0.0" + "cliff": "0.1.9", + "eventemitter2": "0.4.14", + "nconf": "0.6.9", + "utile": "0.2.1", + "winston": "0.8.0" + }, + "dependencies": { + "cliff": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/cliff/-/cliff-0.1.9.tgz", + "integrity": "sha1-ohHgnGo947oa8n0EnTASUNGIErw=", + "dev": true, + "requires": { + "colors": "0.6.2", + "eyes": "0.1.8", + "winston": "0.8.0" + } + }, + "colors": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", + "dev": true + }, + "winston": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.0.tgz", + "integrity": "sha1-YdCDD6aZcGISIGsKK1ymmpMENmg=", + "dev": true, + "requires": { + "async": "0.2.10", + "colors": "0.6.2", + "cycle": "1.0.3", + "eyes": "0.1.8", + "pkginfo": "0.3.1", + "stack-trace": "0.0.10" + } + } } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, - "deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", - "dev": true + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } }, - "deep-extend": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", - "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", - "dev": true - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", - "dev": true - }, - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.1", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" + "browserify-aes": "1.2.0", + "browserify-des": "1.0.2", + "evp_bytestokey": "1.0.3" } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "requires": { - "repeating": "2.0.1" + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "dev": true + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "randombytes": "2.0.6" + } }, - "di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", - "dev": true + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "elliptic": "6.4.0", + "inherits": "2.0.3", + "parse-asn1": "5.1.1" + } }, - "director": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/director/-/director-1.2.7.tgz", - "integrity": "sha1-v9N0EHX9f7GlsuE2WMX0vsd3NvM=", - "dev": true + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "1.0.6" + } }, - "docco": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/docco/-/docco-0.7.0.tgz", - "integrity": "sha1-1gblqZDLoFLKHhgDqcWH7O48XDg=", + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "commander": "2.15.1", - "fs-extra": "5.0.0", - "highlight.js": "9.12.0", - "marked": "0.3.19", - "underscore": "1.9.0" + "caniuse-db": "1.0.30000865", + "electron-to-chromium": "1.3.52" } }, - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { - "esutils": "2.0.2", + "base64-js": "1.3.0", + "ieee754": "1.1.12", "isarray": "1.0.0" } }, - "doctypes": { + "buffer-from": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", - "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", + "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==", "dev": true }, - "dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", - "dev": true, - "requires": { - "custom-event": "1.0.1", - "ent": "2.2.0", - "extend": "3.0.1", - "void-elements": "2.0.1" - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "buffer-more-ints": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz", + "integrity": "sha1-JrOIXRD6E9t/wBquOquHAZngEkw=", "dev": true }, - "earcut": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.1.3.tgz", - "integrity": "sha512-AxdCdWUk1zzK/NuZ7e1ljj6IGC+VAdC3Qb7QQDsXpfNrc5IM8tL9nNXUmEGE6jRHTfZ10zhzRhtDmWVsR5pd3A==", + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", "dev": true }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "buildmail": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/buildmail/-/buildmail-4.0.1.tgz", + "integrity": "sha1-h393OLeHKYccmhBeO4N9K+EaenI=", "dev": true, "optional": true, "requires": { - "jsbn": "0.1.1" + "addressparser": "1.0.1", + "libbase64": "0.1.0", + "libmime": "3.0.0", + "libqp": "1.1.0", + "nodemailer-fetch": "1.6.0", + "nodemailer-shared": "1.1.0", + "punycode": "1.4.1" } }, - "ee-first": { + "builtin-modules": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, - "electron-to-chromium": { - "version": "1.3.45", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.45.tgz", - "integrity": "sha1-RYrBscXHYM6IEaFtK/vZfsMLr7g=", + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", "dev": true }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", "dev": true }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "chownr": "1.0.1", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "lru-cache": "4.1.3", + "mississippi": "2.0.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "5.3.0", + "unique-filename": "1.1.0", + "y18n": "4.0.0" + } }, - "engine.io": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.5.tgz", - "integrity": "sha512-j1DWIcktw4hRwrv6nWx++5nFH2X64x16MAG2P0Lmi5Dvdfi3I+Jhc7JKJIdAmDJa+5aZ/imHV7dWRPy2Cqjh3A==", + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { - "accepts": "1.3.3", - "base64id": "1.0.0", - "cookie": "0.3.1", - "debug": "2.3.3", - "engine.io-parser": "1.3.2", - "ws": "1.1.5" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" }, "dependencies": { - "accepts": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", - "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", - "dev": true, - "requires": { - "mime-types": "2.1.18", - "negotiator": "0.6.1" - } - }, - "debug": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", - "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", - "dev": true, - "requires": { - "ms": "0.7.2" - } - }, - "ms": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true } } }, - "engine.io-client": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.5.tgz", - "integrity": "sha512-AYTgHyeVUPitsseqjoedjhYJapNVoSPShbZ+tEUX9/73jgZ/Z3sUlJf9oYgdEBBdVhupUpUqSxH0kBCXlQnmZg==", + "cache-content-type": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.0.tgz", + "integrity": "sha512-cVbmz0rAnsK3jPcQAlK4IDUUPaYAe4yl7MAfiKftHAcrW/azF1yikn2wE/8VAcC3yWtXi3lvXwsF1akK27Vo7w==", "dev": true, "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "2.3.3", - "engine.io-parser": "1.3.2", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parsejson": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "1.1.5", - "xmlhttprequest-ssl": "1.5.3", - "yeast": "0.1.2" + "mime-types": "2.1.18", + "ylru": "1.2.1" + } + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "dev": true, + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" }, "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", "dev": true }, - "debug": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", - "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "dev": true, "requires": { - "ms": "0.7.2" + "prepend-http": "2.0.0", + "query-string": "5.1.1", + "sort-keys": "2.0.0" } }, - "ms": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", "dev": true + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, + "requires": { + "decode-uri-component": "0.2.0", + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" + } + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "dev": true, + "requires": { + "is-plain-obj": "1.1.0" + } } } }, - "engine.io-parser": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz", - "integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=", + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "caller": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/caller/-/caller-0.0.1.tgz", + "integrity": "sha1-83odbqEOgp2UchrimpC7T7Uqt2c=", "dev": true, "requires": { - "after": "0.8.2", - "arraybuffer.slice": "0.0.6", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.4", - "has-binary": "0.1.7", - "wtf-8": "1.0.0" + "tape": "2.3.3" } }, - "enhanced-resolve": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", - "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=", + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "memory-fs": "0.2.0", - "tapable": "0.1.10" - }, - "dependencies": { - "memory-fs": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", - "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=", - "dev": true - } + "callsites": "0.2.0" } }, - "ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", "dev": true }, - "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", "dev": true }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "prr": "1.0.1" + "camelcase": "2.1.1", + "map-obj": "1.0.1" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } } }, - "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "caniuse-api": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", + "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "browserslist": "1.7.7", + "caniuse-db": "1.0.30000865", + "lodash.memoize": "4.1.2", + "lodash.uniq": "4.5.0" } }, - "es5-ext": { - "version": "0.10.42", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.42.tgz", - "integrity": "sha512-AJxO1rmPe1bDEfSR6TJ/FgMFYuTBhR5R57KW58iCkYACMyFbrkqVyzXSurYoScDGvgyMpk7uRF/lPUPPTmsRSA==", + "caniuse-db": { + "version": "1.0.30000865", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000865.tgz", + "integrity": "sha1-gv+2TUD3VnYgqsAtOmMgeWiavGs=", + "dev": true + }, + "canvas-prebuilt": { + "version": "1.6.5-prerelease.1", + "resolved": "https://registry.npmjs.org/canvas-prebuilt/-/canvas-prebuilt-1.6.5-prerelease.1.tgz", + "integrity": "sha1-aBSyC5yAg13MJL/WGZFHKIYwUhw=", "dev": true, "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "next-tick": "1.0.0" + "node-pre-gyp": "0.6.39", + "parse-css-font": "2.0.2", + "units-css": "0.4.0" } }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "capture-stack-trace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", + "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "catharsis": { + "version": "0.8.9", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.9.tgz", + "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.42", - "es6-symbol": "3.1.1" + "underscore-contrib": "0.3.0" } }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.42", - "es6-iterator": "2.0.3", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, - "es6-promise": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", - "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", - "dev": true - }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.42", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.42" + "is-regex": "1.0.4" } }, - "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.42", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.2.4", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" } }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "chownr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", "dev": true }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "ci-info": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz", + "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==", "dev": true }, - "escodegen": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.7.1.tgz", - "integrity": "sha1-MOz89mypjcZ80v0WKr626vqM5vw=", + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { - "esprima": "1.2.5", - "estraverse": "1.9.3", - "esutils": "2.0.2", - "optionator": "0.5.0", - "source-map": "0.2.0" + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true + }, + "clap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "dev": true, + "requires": { + "chalk": "1.1.3" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { - "esprima": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.5.tgz", - "integrity": "sha1-CZNQL+r2aBODJXVvMPmlH+7sEek=", - "dev": true - }, - "estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", - "dev": true - }, - "fast-levenshtein": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.0.7.tgz", - "integrity": "sha1-AXjc3uAjuSkFGTrwlZ6KdjnP3Lk=", - "dev": true - }, - "levn": { + "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.2.5.tgz", - "integrity": "sha1-uo0znQykphDjo/FFucr0iAcVUFQ=", - "dev": true, - "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" - } - }, - "optionator": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.5.0.tgz", - "integrity": "sha1-t1qJlaLUF98ltuTjhi9QqohlE2g=", - "dev": true, - "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "1.0.7", - "levn": "0.2.5", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "0.0.3" - } - }, - "source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, - "optional": true, "requires": { - "amdefine": "1.0.1" + "is-descriptor": "0.1.6" } }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true } } }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "clean-css": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz", + "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=", "dev": true, "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "source-map": "0.5.7" } }, - "eslint": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-2.13.1.tgz", - "integrity": "sha1-5MyPoPAJ+4KaquI4VaKTYL4fbBE=", + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "dev": true + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", "dev": true, "requires": { - "chalk": "1.1.3", - "concat-stream": "1.6.2", - "debug": "2.6.9", - "doctrine": "1.5.0", - "es6-map": "0.1.5", - "escope": "3.6.0", - "espree": "3.5.4", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "file-entry-cache": "1.3.1", - "glob": "7.1.2", - "globals": "9.18.0", - "ignore": "3.3.8", - "imurmurhash": "0.1.4", - "inquirer": "0.12.0", - "is-my-json-valid": "2.17.2", - "is-resolvable": "1.1.0", - "js-yaml": "3.11.0", - "json-stable-stringify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.10", - "mkdirp": "0.5.1", - "optionator": "0.8.2", - "path-is-absolute": "1.0.1", - "path-is-inside": "1.0.2", - "pluralize": "1.2.1", - "progress": "1.1.8", - "require-uncached": "1.0.3", - "shelljs": "0.6.1", - "strip-json-comments": "1.0.4", - "table": "3.8.3", - "text-table": "0.2.0", - "user-home": "2.0.0" + "restore-cursor": "1.0.1" } }, - "eslint-config-semistandard": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/eslint-config-semistandard/-/eslint-config-semistandard-6.0.2.tgz", - "integrity": "sha1-JXuWM30qjy6yDiDl8OgjUBShkNQ=", - "dev": true - }, - "eslint-config-standard": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-5.3.5.tgz", - "integrity": "sha1-K0K7XJ8ASbhSeGjhCcNO4isT3PY=", - "dev": true - }, - "eslint-plugin-promise": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-1.3.2.tgz", - "integrity": "sha1-/OMy1vX/UjIApTdwSGPsPCQiunw=", - "dev": true - }, - "eslint-plugin-standard": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-1.3.3.tgz", - "integrity": "sha1-owhUUVI0MedvQJxwy4+U4yvw7H8=", + "cli-spinners": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-0.1.2.tgz", + "integrity": "sha1-u3ZNiOGF+54eaiofGXcjGPYF4xw=", "dev": true }, - "espree": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", - "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "cli-table": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", + "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", "dev": true, "requires": { - "acorn": "5.5.3", - "acorn-jsx": "3.0.1" + "colors": "1.0.3" + }, + "dependencies": { + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + } } }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "cli-truncate": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", + "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", "dev": true, "requires": { - "estraverse": "4.2.0" + "slice-ansi": "0.0.4", + "string-width": "1.0.2" } }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", "dev": true }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "cliff": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/cliff/-/cliff-0.1.10.tgz", + "integrity": "sha1-U74z6p9ZvshWCe4wCsQgdgPlIBM=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.42" + "colors": "1.0.3", + "eyes": "0.1.8", + "winston": "0.8.3" + }, + "dependencies": { + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + } } }, - "event-stream": { - "version": "0.5.3", - "resolved": "http://registry.npmjs.org/event-stream/-/event-stream-0.5.3.tgz", - "integrity": "sha1-t3uTCfcQet3+q2PwwOr9jbC9jBw=", + "clipboardy": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz", + "integrity": "sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==", "dev": true, "requires": { - "optimist": "0.2.8" + "arch": "2.1.1", + "execa": "0.8.0" }, "dependencies": { - "optimist": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.2.8.tgz", - "integrity": "sha1-6YGrfiaLRXlIWTtVZ0wJmoFcrDE=", + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", "dev": true, "requires": { - "wordwrap": "0.0.3" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } - }, + } + } + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + }, + "dependencies": { "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", "dev": true } } }, - "eventemitter2": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", - "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", - "dev": true - }, - "eventemitter3": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", - "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", "dev": true }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", "dev": true }, - "eventsource": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", - "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "original": "1.0.0" + "mimic-response": "1.0.1" } }, - "exit-hook": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", - "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", "dev": true }, - "expand-braces": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz", - "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=", + "cloneable-readable": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", + "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", "dev": true, "requires": { - "array-slice": "0.2.3", - "array-unique": "0.2.1", - "braces": "0.1.5" - }, - "dependencies": { - "braces": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz", - "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=", - "dev": true, - "requires": { - "expand-range": "0.1.1" - } - }, - "expand-range": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz", - "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", - "dev": true, - "requires": { - "is-number": "0.1.1", - "repeat-string": "0.2.2" - } - }, - "is-number": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz", - "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=", - "dev": true - }, - "repeat-string": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz", - "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=", - "dev": true - } + "inherits": "2.0.3", + "process-nextick-args": "2.0.0", + "readable-stream": "2.3.6" } }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "coa": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "q": "1.5.1" } }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "2.2.3" - } + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true }, - "exports-loader": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.7.0.tgz", - "integrity": "sha512-RKwCrO4A6IiKm0pG3c9V46JxIHcDplwwGJn6+JJ1RcVnh/WSGJa0xkmk5cRVtgOPzCAtTMGj2F7nluh9L0vpSA==", + "codecov": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.0.4.tgz", + "integrity": "sha512-KJyzHdg9B8U9LxXa7hS6jnEW5b1cNckLYc2YpnJ1nEFiOW+/iSzDHp+5MYEIQd9fN3/tC6WmGZmYiwxzkuGp/A==", "dev": true, "requires": { - "loader-utils": "1.1.0", - "source-map": "0.5.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.0.tgz", - "integrity": "sha1-D+llA6yGpa213mP05BKuSHLNvoY=", - "dev": true - } + "argv": "0.0.2", + "ignore-walk": "3.0.1", + "request": "2.87.0", + "urlgrey": "0.4.4" } }, - "expose-loader": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-0.7.5.tgz", - "integrity": "sha512-iPowgKUZkTPX5PznYsmifVj9Bob0w2wTHVkt/eYNPSzyebkUgIedmskf/kcfEIWpiWjg3JRjnW+a17XypySMuw==", + "codemirror": { + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.39.0.tgz", + "integrity": "sha512-vpJRray/0ZCt9FiS7UcVr1JAm6OBdUt6TA/94Q7MScr8TnutVdQWh/WPr0migzaBPQmYvY7I9UZNvbsaLESIuQ==", "dev": true }, - "express": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", - "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { - "accepts": "1.3.5", - "array-flatten": "1.1.1", - "body-parser": "1.18.2", - "content-disposition": "0.5.2", - "content-type": "1.0.4", - "cookie": "0.3.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "1.1.2", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", - "finalhandler": "1.1.1", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.3", - "qs": "6.5.1", - "range-parser": "1.2.0", - "safe-buffer": "5.1.1", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "1.4.0", - "type-is": "1.6.16", - "utils-merge": "1.0.1", - "vary": "1.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", - "dev": true - } + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "dev": true - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "color": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", + "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "clone": "1.0.4", + "color-convert": "1.9.2", + "color-string": "0.3.0" } }, - "extract-zip": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.6.tgz", - "integrity": "sha1-EpDt6NINCHK0Kf0/NRyhKOxe+Fw=", + "color-convert": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", + "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==", "dev": true, "requires": { - "concat-stream": "1.6.0", - "debug": "2.6.9", - "mkdirp": "0.5.0", - "yauzl": "2.4.1" - }, - "dependencies": { - "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" - } - }, - "mkdirp": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", - "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - } + "color-name": "1.1.1" } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", - "dev": true - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fastparse": { + "color-name": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", - "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", "dev": true }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", "dev": true, "requires": { - "websocket-driver": "0.7.0" + "color-name": "1.1.1" } }, - "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "colorbrewer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/colorbrewer/-/colorbrewer-1.3.0.tgz", + "integrity": "sha512-AzVPpWa+fuO/qY8LxPQjej6F49Lb2Cl+7U9YhPn6y4/SOY6u/EZiXUc7qHzRb6i6fWPStCUdEaU2731QyQKWjg==", + "dev": true + }, + "colormin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", + "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", "dev": true, "requires": { - "pend": "1.2.0" + "color": "0.11.4", + "css-color-names": "0.0.4", + "has": "1.0.3" } }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "combine-lists": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz", + "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5", - "object-assign": "4.1.1" + "lodash": "4.17.10" } }, - "file-entry-cache": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.3.1.tgz", - "integrity": "sha1-RMYepgeuS+nBQC9B9EJwy/4zT/g=", + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "dev": true, "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" + "delayed-stream": "1.0.0" } }, - "file-loader": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", - "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", + "commander": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz", + "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", + "dev": true + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "loader-utils": "1.1.0", - "schema-utils": "0.4.5" + "buffer-from": "1.1.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" } }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "fileset": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fileset/-/fileset-0.2.1.tgz", - "integrity": "sha1-WI74lzxmI7KnbfRlEFaWuWqsgGc=", + "configstore": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "glob": "5.0.15", - "minimatch": "2.0.10" + "dot-prop": "4.2.0", + "graceful-fs": "4.1.11", + "make-dir": "1.3.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" }, "dependencies": { - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "write-file-atomic": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "2.0.10", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "minimatch": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", - "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", - "dev": true, - "requires": { - "brace-expansion": "1.1.11" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" } } } }, - "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "dev": true, - "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" - } - }, - "finalhandler": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "connect": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", + "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", + "finalhandler": "1.1.0", "parseurl": "1.3.2", - "statuses": "1.4.0", - "unpipe": "1.0.0" + "utils-merge": "1.0.1" }, "dependencies": { + "finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" + } + }, "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", "dev": true } } }, - "find-line-column": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/find-line-column/-/find-line-column-0.5.2.tgz", - "integrity": "sha1-2wAjj/hoVRoYLnShA0FtKVqYyMo=", + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "0.1.4" + } + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "constantinople": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz", + "integrity": "sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "@types/babel-types": "7.0.4", + "@types/babylon": "6.16.3", + "babel-types": "6.26.0", + "babylon": "6.18.0" } }, - "flat-cache": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", - "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "dev": true + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "dev": true + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "cookies": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.7.1.tgz", + "integrity": "sha1-fIphX1SBxhq58WyDNzG8uPZjuZs=", "dev": true, "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" + "depd": "1.1.2", + "keygrip": "1.0.2" } }, - "flatiron": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/flatiron/-/flatiron-0.4.3.tgz", - "integrity": "sha1-JIz3mj2n19w3nioRySonGcu1QPY=", + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "requires": { - "broadway": "0.3.6", - "director": "1.2.7", - "optimist": "0.6.0", - "prompt": "0.2.14" - }, - "dependencies": { - "optimist": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz", - "integrity": "sha1-aUJIJvNAX3nxQub8PZrljU27kgA=", - "dev": true, - "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" - } - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - } + "aproba": "1.2.0", + "fs-write-stream-atomic": "1.0.10", + "iferr": "0.1.5", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" } }, - "flatten": { + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", + "dev": true + }, + "core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", - "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, - "follow-redirects": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.4.1.tgz", - "integrity": "sha512-uxYePVPogtya1ktGnAAXOacnbIuRMB4dkvqeNz2qTtTQsuzSfbDolV+wMMKxAmCx0bLgAKLbBOkjItMbbkR1vg==", + "cosmiconfig": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.5.tgz", + "integrity": "sha512-94j37OtvxS5w7qr7Ta6dt67tWdnOxigBVN4VnSxNXFez9o18PGQ0D33SchKP17r9LAcWVTYV72G6vDayAUBFIg==", "dev": true, "requires": { - "debug": "3.1.0" + "is-directory": "0.3.1", + "js-yaml": "3.12.0", + "parse-json": "4.0.0" }, "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "ms": "2.0.0" + "error-ex": "1.3.2", + "json-parse-better-errors": "1.0.2" } } } }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", "dev": true, "requires": { - "for-in": "1.0.2" + "bn.js": "4.11.8", + "elliptic": "6.4.0" } }, - "forever": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/forever/-/forever-0.15.3.tgz", - "integrity": "sha1-d9nX4V/S9RGtnYShEMfdj8js68I=", + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "cliff": "0.1.10", - "clone": "1.0.4", - "colors": "0.6.2", - "flatiron": "0.4.3", - "forever-monitor": "1.7.1", - "nconf": "0.6.9", - "nssocket": "0.5.3", - "object-assign": "3.0.0", - "optimist": "0.6.1", - "path-is-absolute": "1.0.1", - "prettyjson": "1.2.1", - "shush": "1.0.0", - "timespan": "2.3.0", - "utile": "0.2.1", - "winston": "0.8.3" - }, - "dependencies": { - "colors": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", - "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", - "dev": true - }, - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", - "dev": true - } + "capture-stack-trace": "1.0.0" } }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "forever-monitor": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/forever-monitor/-/forever-monitor-1.7.1.tgz", - "integrity": "sha1-XYIPSjp42y2BriZx8Vi56GoJG7g=", + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { - "broadway": "0.3.6", - "chokidar": "1.7.0", - "minimatch": "3.0.4", - "ps-tree": "0.0.3", - "utile": "0.2.1" + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "md5.js": "1.3.4", + "ripemd160": "2.0.2", + "sha.js": "2.4.11" } }, - "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.18" + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "inherits": "2.0.3", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, - "formatio": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz", - "integrity": "sha1-XtPM1jZVEJc4NGXZlhmRAOhhYek=", + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "samsam": "1.1.2" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "1.0.1", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", + "inherits": "2.0.3", + "pbkdf2": "3.0.16", + "public-encrypt": "4.0.2", + "randombytes": "2.0.6", + "randomfill": "1.0.4" + } + }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", "dev": true }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", "dev": true }, - "fs-access": { + "css-font-size-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz", + "integrity": "sha1-hUh1rOmspqjS7g00WkSq6btttss=", + "dev": true + }, + "css-font-stretch-keywords": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", - "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", + "resolved": "https://registry.npmjs.org/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz", + "integrity": "sha1-UM7puboDH7XJUtRyMTnx4Qe1SxA=", + "dev": true + }, + "css-font-style-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz", + "integrity": "sha1-XDUygT9jtKHelU0TzqhqtDM0CeQ=", + "dev": true + }, + "css-font-weight-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz", + "integrity": "sha1-m8BGcayFvHJLV07106yWsNYE/Zc=", + "dev": true + }, + "css-global-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-global-keywords/-/css-global-keywords-1.0.1.tgz", + "integrity": "sha1-cqmupyeW0Bmx0qMlLeTlqqN+Smk=", + "dev": true + }, + "css-list-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-list-helpers/-/css-list-helpers-1.0.1.tgz", + "integrity": "sha1-//VxkiAtuDJAxBaG+RnkSacCT30=", "dev": true, "requires": { - "null-check": "1.0.0" + "tcomb": "2.7.0" } }, - "fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "css-loader": { + "version": "0.28.11", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", + "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "4.0.0", - "universalify": "0.1.1" + "babel-code-frame": "6.26.0", + "css-selector-tokenizer": "0.7.0", + "cssnano": "3.10.0", + "icss-utils": "2.1.0", + "loader-utils": "1.1.0", + "lodash.camelcase": "4.3.0", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-modules-extract-imports": "1.2.0", + "postcss-modules-local-by-default": "1.2.0", + "postcss-modules-scope": "1.1.0", + "postcss-modules-values": "1.3.0", + "postcss-value-parser": "3.3.0", + "source-list-map": "2.0.0" } }, - "fs.realpath": { + "css-parse": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz", + "integrity": "sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs=", + "dev": true + }, + "css-selector-parser": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-1.3.0.tgz", + "integrity": "sha1-XxrUPi2O77/cME/NOaUhZklD4+s=", + "dev": true + }, + "css-selector-tokenizer": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", + "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", + "dev": true, + "requires": { + "cssesc": "0.1.0", + "fastparse": "1.1.1", + "regexpu-core": "1.0.0" + } + }, + "css-system-font-keywords": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "resolved": "https://registry.npmjs.org/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz", + "integrity": "sha1-hcbwhquk6zLFcaMIav/ENLhII+0=", "dev": true }, - "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "cssesc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "dev": true + }, + "cssnano": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", "dev": true, - "optional": true, "requires": { - "nan": "2.10.0", - "node-pre-gyp": "0.10.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "2.2.4" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.21", - "bundled": true, + "autoprefixer": "6.7.7", + "decamelize": "1.2.0", + "defined": "1.0.0", + "has": "1.0.3", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-calc": "5.3.1", + "postcss-colormin": "2.2.2", + "postcss-convert-values": "2.6.1", + "postcss-discard-comments": "2.0.4", + "postcss-discard-duplicates": "2.1.0", + "postcss-discard-empty": "2.1.0", + "postcss-discard-overridden": "0.1.1", + "postcss-discard-unused": "2.2.3", + "postcss-filter-plugins": "2.0.3", + "postcss-merge-idents": "2.1.7", + "postcss-merge-longhand": "2.0.2", + "postcss-merge-rules": "2.1.2", + "postcss-minify-font-values": "1.0.5", + "postcss-minify-gradients": "1.0.5", + "postcss-minify-params": "1.2.2", + "postcss-minify-selectors": "2.1.1", + "postcss-normalize-charset": "1.1.1", + "postcss-normalize-url": "3.0.8", + "postcss-ordered-values": "2.2.3", + "postcss-reduce-idents": "2.4.0", + "postcss-reduce-initial": "1.0.1", + "postcss-reduce-transforms": "1.0.4", + "postcss-svgo": "2.1.6", + "postcss-unique-selectors": "2.0.2", + "postcss-value-parser": "3.3.0", + "postcss-zindex": "2.2.0" + } + }, + "csso": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", + "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "dev": true, + "requires": { + "clap": "1.2.3", + "source-map": "0.5.7" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "1.0.2" + } + }, + "custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "dev": true + }, + "cycle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", + "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", + "dev": true + }, + "cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true + }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "0.10.45" + } + }, + "d3": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz", + "integrity": "sha1-vEZ0gAQ3iyGjYMn8fPUjF5B2L7g=", + "optional": true + }, + "dargs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-5.1.0.tgz", + "integrity": "sha1-7H6lDHhWTNNsnV7Bj2Yyn63ieCk=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "data-uri-to-buffer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz", + "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==", + "dev": true, + "optional": true + }, + "date-fns": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz", + "integrity": "sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==", + "dev": true + }, + "date-format": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz", + "integrity": "sha1-YV6CjiM90aubua4JUODOzPpuytg=", + "dev": true + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "4.0.1", + "meow": "3.7.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, + "requires": { + "decamelize": "1.2.0", + "map-obj": "1.0.1" + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "1.0.1" + } + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "define-properties": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "dev": true, + "requires": { + "foreach": "2.0.5", + "object-keys": "1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "1.0.2", + "isobject": "3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, - "optional": true, "requires": { - "safer-buffer": "2.1.2" + "kind-of": "6.0.2" } }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, - "optional": true, "requires": { - "minimatch": "3.0.4" + "kind-of": "6.0.2" } }, - "inflight": { - "version": "1.0.6", - "bundled": true, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, - "optional": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, - "inherits": { - "version": "2.0.3", - "bundled": true, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, - "ini": { - "version": "1.3.5", - "bundled": true, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "degenerator": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz", + "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=", + "dev": true, + "optional": true, + "requires": { + "ast-types": "0.11.5", + "escodegen": "1.7.1", + "esprima": "3.1.3" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", "dev": true, "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, + } + } + }, + "del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "requires": { + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.2" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-conflict": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/detect-conflict/-/detect-conflict-1.0.1.tgz", + "integrity": "sha1-CIZXpmqWHAUBnbfEIwiDsca0F24=", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "dev": true + }, + "di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", + "dev": true + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.6" + } + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dev": true, + "requires": { + "arrify": "1.0.1", + "path-type": "3.0.0" + }, + "dependencies": { + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "director": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/director/-/director-1.2.7.tgz", + "integrity": "sha1-v9N0EHX9f7GlsuE2WMX0vsd3NvM=", + "dev": true + }, + "docco": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/docco/-/docco-0.7.0.tgz", + "integrity": "sha1-1gblqZDLoFLKHhgDqcWH7O48XDg=", + "dev": true, + "requires": { + "commander": "2.16.0", + "fs-extra": "6.0.1", + "highlight.js": "9.12.0", + "marked": "0.4.0", + "underscore": "1.9.1" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "2.0.2", + "isarray": "1.0.0" + } + }, + "doctypes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", + "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=", + "dev": true + }, + "dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "dev": true, + "requires": { + "custom-event": "1.0.1", + "ent": "2.2.0", + "extend": "3.0.1", + "void-elements": "2.0.1" + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "dev": true, + "requires": { + "is-obj": "1.0.1" + } + }, + "double-ended-queue": { + "version": "2.1.0-0", + "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz", + "integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=", + "dev": true, + "optional": true + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "duplexify": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", + "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" + } + }, + "earcut": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.1.3.tgz", + "integrity": "sha512-AxdCdWUk1zzK/NuZ7e1ljj6IGC+VAdC3Qb7QQDsXpfNrc5IM8tL9nNXUmEGE6jRHTfZ10zhzRhtDmWVsR5pd3A==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "editions": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz", + "integrity": "sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==", + "dev": true + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "ejs": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz", + "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.52", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.52.tgz", + "integrity": "sha1-0tnxJwuko7lnuDHEDvcftNmrXOA=", + "dev": true + }, + "elegant-spinner": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", + "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", + "dev": true + }, + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.5", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "1.4.0" + } + }, + "engine.io": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.5.tgz", + "integrity": "sha512-D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA==", + "dev": true, + "requires": { + "accepts": "1.3.5", + "base64id": "1.0.0", + "cookie": "0.3.1", + "debug": "3.1.0", + "engine.io-parser": "2.1.2", + "uws": "9.14.0", + "ws": "3.3.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "engine.io-client": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.6.tgz", + "integrity": "sha512-hnuHsFluXnsKOndS4Hv6SvUrgdYx1pk2NqfaDMW+GWdgfU3+/V25Cj7I8a0x92idSpa5PIhJRKxPvp9mnoLsfg==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "3.1.0", + "engine.io-parser": "2.1.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "3.3.3", + "xmlhttprequest-ssl": "1.5.5", + "yeast": "0.1.2" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "engine.io-parser": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz", + "integrity": "sha512-dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==", + "dev": true, + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.4", + "has-binary2": "1.0.3" + } + }, + "enhanced-resolve": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", + "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "memory-fs": "0.4.1", + "object-assign": "4.1.1", + "tapable": "0.2.8" + } + }, + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "dev": true + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "dev": true + }, + "envinfo": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-5.10.0.tgz", + "integrity": "sha512-rXbzXWvnQxy+TcqZlARbWVQwgGVVouVJgFZhLVN5htjLxl1thstrP2ZGi0pXC309AbK7gVOPU+ulz/tmpCI7iw==", + "dev": true + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "1.0.1" + } + }, + "error": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz", + "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=", + "dev": true, + "requires": { + "string-template": "0.2.1", + "xtend": "4.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "error-inject": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/error-inject/-/error-inject-1.0.0.tgz", + "integrity": "sha1-4rPZG1Su1nLzCdlQ0VSFD6EdTzc=", + "dev": true + }, + "es5-ext": { + "version": "0.10.45", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz", + "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", + "dev": true, + "requires": { + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-symbol": "3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-promise": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", + "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "4.2.4" + } + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45" + } + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.7.1.tgz", + "integrity": "sha1-MOz89mypjcZ80v0WKr626vqM5vw=", + "dev": true, + "requires": { + "esprima": "1.2.5", + "estraverse": "1.9.3", + "esutils": "2.0.2", + "optionator": "0.5.0", + "source-map": "0.2.0" + }, + "dependencies": { + "esprima": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.5.tgz", + "integrity": "sha1-CZNQL+r2aBODJXVvMPmlH+7sEek=", + "dev": true + }, + "estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true + }, + "fast-levenshtein": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.0.7.tgz", + "integrity": "sha1-AXjc3uAjuSkFGTrwlZ6KdjnP3Lk=", + "dev": true + }, + "levn": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.2.5.tgz", + "integrity": "sha1-uo0znQykphDjo/FFucr0iAcVUFQ=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2", + "type-check": "0.3.2" + } + }, + "optionator": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.5.0.tgz", + "integrity": "sha1-t1qJlaLUF98ltuTjhi9QqohlE2g=", + "dev": true, + "requires": { + "deep-is": "0.1.3", + "fast-levenshtein": "1.0.7", + "levn": "0.2.5", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "0.0.3" + } + }, + "source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "requires": { + "amdefine": "1.0.1" + } + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.1", + "estraverse": "4.2.0" + } + }, + "eslint": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-2.13.1.tgz", + "integrity": "sha1-5MyPoPAJ+4KaquI4VaKTYL4fbBE=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "concat-stream": "1.6.2", + "debug": "2.6.9", + "doctrine": "1.5.0", + "es6-map": "0.1.5", + "escope": "3.6.0", + "espree": "3.5.4", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "file-entry-cache": "1.3.1", + "glob": "7.1.2", + "globals": "9.18.0", + "ignore": "3.3.10", + "imurmurhash": "0.1.4", + "inquirer": "0.12.0", + "is-my-json-valid": "2.17.2", + "is-resolvable": "1.1.0", + "js-yaml": "3.12.0", + "json-stable-stringify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "optionator": "0.8.2", + "path-is-absolute": "1.0.1", + "path-is-inside": "1.0.2", + "pluralize": "1.2.1", + "progress": "1.1.8", + "require-uncached": "1.0.3", + "shelljs": "0.6.1", + "strip-json-comments": "1.0.4", + "table": "3.8.3", + "text-table": "0.2.0", + "user-home": "2.0.0" + } + }, + "eslint-config-semistandard": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/eslint-config-semistandard/-/eslint-config-semistandard-6.0.2.tgz", + "integrity": "sha1-JXuWM30qjy6yDiDl8OgjUBShkNQ=", + "dev": true + }, + "eslint-config-standard": { + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-5.3.5.tgz", + "integrity": "sha1-K0K7XJ8ASbhSeGjhCcNO4isT3PY=", + "dev": true + }, + "eslint-plugin-promise": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-1.3.2.tgz", + "integrity": "sha1-/OMy1vX/UjIApTdwSGPsPCQiunw=", + "dev": true + }, + "eslint-plugin-standard": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-1.3.3.tgz", + "integrity": "sha1-owhUUVI0MedvQJxwy4+U4yvw7H8=", + "dev": true + }, + "espree": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "requires": { + "acorn": "5.7.1", + "acorn-jsx": "3.0.1" + } + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45" + } + }, + "event-stream": { + "version": "0.5.3", + "resolved": "http://registry.npmjs.org/event-stream/-/event-stream-0.5.3.tgz", + "integrity": "sha1-t3uTCfcQet3+q2PwwOr9jbC9jBw=", + "dev": true, + "requires": { + "optimist": "0.2.8" + }, + "dependencies": { + "optimist": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.2.8.tgz", + "integrity": "sha1-6YGrfiaLRXlIWTtVZ0wJmoFcrDE=", + "dev": true, + "requires": { + "wordwrap": "0.0.3" + } + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "eventemitter2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", + "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", + "dev": true + }, + "eventemitter3": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", + "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", + "dev": true + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "1.3.4", + "safe-buffer": "5.1.2" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "dev": true + }, + "expand-braces": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz", + "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=", + "dev": true, + "requires": { + "array-slice": "0.2.3", + "array-unique": "0.2.1", + "braces": "0.1.5" + }, + "dependencies": { + "braces": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz", + "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=", + "dev": true, + "requires": { + "expand-range": "0.1.1" + } + }, + "expand-range": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz", + "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", + "dev": true, + "requires": { + "is-number": "0.1.1", + "repeat-string": "0.2.2" + } + }, + "is-number": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz", + "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=", + "dev": true + }, + "repeat-string": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz", + "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=", + "dev": true + } + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "2.2.4" + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "1.0.1" + } + }, + "exports-loader": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.7.0.tgz", + "integrity": "sha512-RKwCrO4A6IiKm0pG3c9V46JxIHcDplwwGJn6+JJ1RcVnh/WSGJa0xkmk5cRVtgOPzCAtTMGj2F7nluh9L0vpSA==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "source-map": "0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.0.tgz", + "integrity": "sha1-D+llA6yGpa213mP05BKuSHLNvoY=", + "dev": true + } + } + }, + "expose-loader": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-0.7.5.tgz", + "integrity": "sha512-iPowgKUZkTPX5PznYsmifVj9Bob0w2wTHVkt/eYNPSzyebkUgIedmskf/kcfEIWpiWjg3JRjnW+a17XypySMuw==", + "dev": true + }, + "express": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", + "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", + "dev": true, + "requires": { + "accepts": "1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "1.1.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "2.0.3", + "qs": "6.5.1", + "range-parser": "1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "1.4.0", + "type-is": "1.6.16", + "utils-merge": "1.0.1", + "vary": "1.1.2" + }, + "dependencies": { + "body-parser": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-type": "1.0.4", + "debug": "2.6.9", + "depd": "1.1.2", + "http-errors": "1.6.3", + "iconv-lite": "0.4.19", + "on-finished": "2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "1.6.16" + } + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true + }, + "raw-body": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + }, + "dependencies": { + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "dev": true + }, + "http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "dev": true, + "requires": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": "1.4.0" + } + }, + "setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", + "dev": true + } + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "requires": { + "chardet": "0.4.2", + "iconv-lite": "0.4.23", + "tmp": "0.0.33" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "extract-zip": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", + "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "dev": true, + "requires": { + "concat-stream": "1.6.2", + "debug": "2.6.9", + "mkdirp": "0.5.1", + "yauzl": "2.4.1" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", + "dev": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "fast-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", + "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "2.2.1", + "@nodelib/fs.stat": "1.1.0", + "glob-parent": "3.1.0", + "is-glob": "4.0.0", + "merge2": "1.2.2", + "micromatch": "3.1.10" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastparse": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", + "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", + "dev": true + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true, + "requires": { + "pend": "1.2.0" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1" + } + }, + "file-entry-cache": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.3.1.tgz", + "integrity": "sha1-RMYepgeuS+nBQC9B9EJwy/4zT/g=", + "dev": true, + "requires": { + "flat-cache": "1.3.0", + "object-assign": "4.1.1" + } + }, + "file-loader": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", + "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "schema-utils": "0.4.5" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fileset": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fileset/-/fileset-0.2.1.tgz", + "integrity": "sha1-WI74lzxmI7KnbfRlEFaWuWqsgGc=", + "dev": true, + "requires": { + "glob": "5.0.15", + "minimatch": "2.0.10" + }, + "dependencies": { + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "2.0.10", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + } + } + }, + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.0.0", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "finalhandler": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.4.0", + "unpipe": "1.0.0" + }, + "dependencies": { + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "2.0.0" + } + }, + "find-line-column": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/find-line-column/-/find-line-column-0.5.2.tgz", + "integrity": "sha1-2wAjj/hoVRoYLnShA0FtKVqYyMo=", + "dev": true + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "first-chunk-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", + "integrity": "sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA=", + "dev": true, + "requires": { + "readable-stream": "2.3.6" + } + }, + "flat-cache": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", + "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", + "dev": true, + "requires": { + "circular-json": "0.3.3", + "del": "2.2.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" + } + }, + "flatiron": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/flatiron/-/flatiron-0.4.3.tgz", + "integrity": "sha1-JIz3mj2n19w3nioRySonGcu1QPY=", + "dev": true, + "requires": { + "broadway": "0.3.6", + "director": "1.2.7", + "optimist": "0.6.0", + "prompt": "0.2.14" + }, + "dependencies": { + "optimist": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz", + "integrity": "sha1-aUJIJvNAX3nxQub8PZrljU27kgA=", + "dev": true, + "requires": { + "minimist": "0.0.8", + "wordwrap": "0.0.3" + } + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "flatten": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", + "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", + "dev": true + }, + "flow-parser": { + "version": "0.76.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.76.0.tgz", + "integrity": "sha512-p+K8OKiMlq8AIZH8KTydHEGUUd71AqfCL+zTJNsdHtQmX3i3eaeIysF83Ad6Oo7OQcHCj3vocb/EHYiEyq+ZBg==", + "dev": true + }, + "flush-write-stream": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", + "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "follow-redirects": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.1.tgz", + "integrity": "sha512-v9GI1hpaqq1ZZR6pBD1+kI7O24PhDvNGNodjS3MdcEqyrahCp8zbtpv+2B/krUnSmUH80lbAS7MrdeK5IylgKg==", + "dev": true, + "requires": { + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, + "forever": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/forever/-/forever-0.15.3.tgz", + "integrity": "sha1-d9nX4V/S9RGtnYShEMfdj8js68I=", + "dev": true, + "requires": { + "cliff": "0.1.10", + "clone": "1.0.4", + "colors": "0.6.2", + "flatiron": "0.4.3", + "forever-monitor": "1.7.1", + "nconf": "0.6.9", + "nssocket": "0.5.3", + "object-assign": "3.0.0", + "optimist": "0.6.1", + "path-is-absolute": "1.0.1", + "prettyjson": "1.2.1", + "shush": "1.0.0", + "timespan": "2.3.0", + "utile": "0.2.1", + "winston": "0.8.3" + }, + "dependencies": { + "colors": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", + "dev": true + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + } + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "forever-monitor": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/forever-monitor/-/forever-monitor-1.7.1.tgz", + "integrity": "sha1-XYIPSjp42y2BriZx8Vi56GoJG7g=", + "dev": true, + "requires": { + "broadway": "0.3.6", + "chokidar": "1.7.0", + "minimatch": "3.0.4", + "ps-tree": "0.0.3", + "utile": "0.2.1" + } + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, + "formatio": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz", + "integrity": "sha1-XtPM1jZVEJc4NGXZlhmRAOhhYek=", + "dev": true, + "requires": { + "samsam": "1.1.2" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "fs-access": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", + "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", + "dev": true, + "requires": { + "null-check": "1.0.0" + } + }, + "fs-extra": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", + "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.2" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "iferr": "0.1.5", + "imurmurhash": "0.1.4", + "readable-stream": "2.3.6" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "dev": true, + "optional": true, + "requires": { + "nan": "2.10.0", + "node-pre-gyp": "0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "2.2.4" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": "2.1.2" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "5.1.1", + "yallist": "3.0.2" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "2.2.4" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.1", + "osenv": "0.1.5" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true + } + } + }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", + "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", + "dev": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "ftp": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", + "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", + "dev": true, + "optional": true, + "requires": { + "readable-stream": "1.1.14", + "xregexp": "2.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true, + "optional": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true, + "optional": true + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.3" + } + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "1.0.2" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "get-uri": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.2.tgz", + "integrity": "sha512-ZD325dMZOgerGqF/rF6vZXyFGTAay62svjQIT+X/oU2PtxYpFxvSkbsdi+oxIrsNxlZVd4y8wUDqkaExWTI/Cw==", + "dev": true, + "optional": true, + "requires": { + "data-uri-to-buffer": "1.2.0", + "debug": "2.6.9", + "extend": "3.0.1", + "file-uri-to-path": "1.0.0", + "ftp": "0.3.10", + "readable-stream": "2.3.6" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "gh-got": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gh-got/-/gh-got-6.0.0.tgz", + "integrity": "sha512-F/mS+fsWQMo1zfgG9MD8KWvTWPPzzhuVwY++fhQ5Ggd+0P+CAMHtzMZhNxG+TqGfHDChJKsbh6otfMGqO2AKBw==", + "dev": true, + "requires": { + "got": "7.1.0", + "is-plain-obj": "1.1.0" + }, + "dependencies": { + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "dev": true, + "requires": { + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-plain-obj": "1.1.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.1", + "p-cancelable": "0.3.0", + "p-timeout": "1.2.1", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "url-parse-lax": "1.0.0", + "url-to-options": "1.0.1" + } + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "dev": true + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "dev": true, + "requires": { + "p-finally": "1.0.0" + } + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "1.0.4" + } + } + } + }, + "github-username": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/github-username/-/github-username-4.1.0.tgz", + "integrity": "sha1-y+KABBiDIG2kISrp5LXxacML9Bc=", + "dev": true, + "requires": { + "gh-got": "6.0.0" + } + }, + "gl-mat3": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gl-mat3/-/gl-mat3-1.0.0.tgz", + "integrity": "sha1-iWMyGcpCk3mha5GF2V1BcTRTuRI=", + "dev": true + }, + "gl-mat4": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gl-mat4/-/gl-mat4-1.2.0.tgz", + "integrity": "sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA==", + "dev": true + }, + "gl-vec2": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gl-vec2/-/gl-vec2-1.2.0.tgz", + "integrity": "sha512-M5AbyvcAlPZy1SMZsB5xQX//JRUGsayQZ06BifC5KQ42U8LyUInhlB4WQVRoHqJBIMOR0WWaoJZJOT7n+gnUOg==", + "dev": true + }, + "gl-vec3": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gl-vec3/-/gl-vec3-1.1.3.tgz", + "integrity": "sha512-jduKUqT0SGH02l8Yl+mV1yVsDfYgQAJyXGxkJQGyxPLHRiW25DwVIRPt6uvhrEMHftJfqhqKthRcyZqNEl9Xdw==", + "dev": true + }, + "gl-vec4": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gl-vec4/-/gl-vec4-1.0.1.tgz", + "integrity": "sha1-l9loeCgbFLUyy84QF4Xf0cs0CWQ=", + "dev": true + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-all": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-all/-/glob-all-3.1.0.tgz", + "integrity": "sha1-iRPd+17hrHgSZWJBsD1SF8ZLAqs=", + "dev": true, + "requires": { + "glob": "7.1.2", + "yargs": "1.2.6" + }, + "dependencies": { + "minimist": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz", + "integrity": "sha1-md9lelJXTCHJBXSX33QnkLK0wN4=", + "dev": true + }, + "yargs": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-1.2.6.tgz", + "integrity": "sha1-nHtKgv1dWVsr8Xq23MQxNUMv40s=", + "dev": true, + "requires": { + "minimist": "0.1.0" + } + } + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true, + "requires": { + "ini": "1.3.5" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "1.0.2", + "is-windows": "1.0.2", + "resolve-dir": "1.0.1" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "2.0.2", + "homedir-polyfill": "1.0.1", + "ini": "1.3.5", + "is-windows": "1.0.2", + "which": "1.3.1" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "dev": true, + "requires": { + "@sindresorhus/is": "0.7.0", + "cacheable-request": "2.1.4", + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "into-stream": "3.1.0", + "is-retry-allowed": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.1", + "mimic-response": "1.0.1", + "p-cancelable": "0.4.1", + "p-timeout": "2.0.1", + "pify": "3.0.0", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "url-parse-lax": "3.0.0", + "url-to-options": "1.0.1" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "grouped-queue": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/grouped-queue/-/grouped-queue-0.3.3.tgz", + "integrity": "sha1-wWfSpTGcWg4JZO9qJbfC34mWyFw=", + "dev": true, + "requires": { + "lodash": "4.17.10" + } + }, + "hammerjs": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", + "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=", + "optional": true + }, + "handlebars": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "dev": true, + "requires": { + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true, + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "dev": true, + "requires": { + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + } + } + }, + "has-color": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", + "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", + "dev": true + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", + "dev": true + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true + }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dev": true, + "requires": { + "has-symbol-support-x": "1.4.2" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "hash.js": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz", + "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "hasha": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", + "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", + "dev": true, + "requires": { + "is-stream": "1.1.0", + "pinkie-promise": "2.0.1" + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "highlight.js": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz", + "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=", + "dev": true + }, + "hipchat-notifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hipchat-notifier/-/hipchat-notifier-1.1.0.tgz", + "integrity": "sha1-ttJJdVQ3wZEII2d5nTupoPI7Ix4=", + "dev": true, + "optional": true, + "requires": { + "lodash": "4.17.10", + "request": "2.87.0" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "1.1.5", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "homedir-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", + "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", + "dev": true, + "requires": { + "parse-passwd": "1.0.0" + } + }, + "hosted-git-info": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "dev": true + }, + "html-comment-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz", + "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=", + "dev": true + }, + "http-assert": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.3.0.tgz", + "integrity": "sha1-oxpc+IyHPsu1eWkH1NbxMujAHko=", + "dev": true, + "requires": { + "deep-equal": "1.0.1", + "http-errors": "1.6.3" + } + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": "1.5.0" + } + }, + "http-proxy": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", + "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "dev": true, + "requires": { + "eventemitter3": "3.1.0", + "follow-redirects": "1.5.1", + "requires-port": "1.0.0" + } + }, + "http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "dev": true, + "requires": { + "agent-base": "4.2.1", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" + } + }, + "httpntlm": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.6.1.tgz", + "integrity": "sha1-rQFScUOi6Hc8+uapb1hla7UqNLI=", + "dev": true, + "requires": { + "httpreq": "0.4.24", + "underscore": "1.7.0" + }, + "dependencies": { + "underscore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", + "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", + "dev": true + } + } + }, + "httpreq": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/httpreq/-/httpreq-0.4.24.tgz", + "integrity": "sha1-QzX/2CzZaWaKOUZckprGHWOTYn8=", + "dev": true + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "https-proxy-agent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", + "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "dev": true, + "requires": { + "agent-base": "4.2.1", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "i": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz", + "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "dev": true, + "requires": { + "safer-buffer": "2.1.2" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "dev": true, + "requires": { + "postcss": "6.0.23" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "ieee754": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "ignore-walk": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", + "dev": true, + "requires": { + "minimatch": "3.0.4" + } + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "import-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "dev": true, + "requires": { + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" + } + }, + "imports-loader": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.8.0.tgz", + "integrity": "sha512-kXWL7Scp8KQ4552ZcdVTeaQCZSLW+e6nJfp3cwUMB673T7Hr98Xjx5JK+ql7ADlJUvj1JS5O01RLbKoutN5QDQ==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inflection": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz", + "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=", + "dev": true, + "optional": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "inquirer": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", + "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", + "dev": true, + "requires": { + "ansi-escapes": "1.4.0", + "ansi-regex": "2.1.1", + "chalk": "1.1.3", + "cli-cursor": "1.0.2", + "cli-width": "2.2.0", + "figures": "1.7.0", + "lodash": "4.17.10", + "readline2": "1.0.1", + "run-async": "0.1.0", + "rx-lite": "3.1.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "through": "2.3.8" + } + }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "dev": true, + "requires": { + "from2": "2.3.0", + "p-is-promise": "1.1.0" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "1.4.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ipaddr.js": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", + "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=", + "dev": true + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "1.11.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-ci": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", + "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", + "dev": true, + "requires": { + "ci-info": "1.1.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz", + "integrity": "sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8=", + "dev": true, + "requires": { + "acorn": "4.0.13", + "object-assign": "4.1.1" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-generator-function": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz", + "integrity": "sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw==", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "dev": true, + "requires": { + "global-dirs": "0.1.1", + "is-path-inside": "1.0.1" + } + }, + "is-my-ip-valid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", + "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", + "dev": true + }, + "is-my-json-valid": { + "version": "2.17.2", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz", + "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", + "dev": true, + "requires": { + "generate-function": "2.0.0", + "generate-object-property": "1.2.0", + "is-my-ip-valid": "1.0.0", + "jsonpointer": "4.0.1", + "xtend": "4.0.1" + } + }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "dev": true + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", + "dev": true + }, + "is-observable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", + "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", + "dev": true, + "requires": { + "symbol-observable": "1.2.0" + }, + "dependencies": { + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "dev": true + } + } + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "dev": true, + "requires": { + "is-path-inside": "1.0.1" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "1.0.3" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-retry-allowed": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", + "dev": true + }, + "is-scoped": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-1.0.0.tgz", + "integrity": "sha1-RJypgpnnEwOCViieyytUDcQ3yzA=", + "dev": true, + "requires": { + "scoped-regex": "1.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-svg": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", + "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", + "dev": true, + "requires": { + "html-comment-regex": "1.1.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isbinaryfile": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz", + "integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isnumeric": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/isnumeric/-/isnumeric-0.2.0.tgz", + "integrity": "sha1-ojR7o2DeGeM9D/1ZD933dVy/LmQ=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.3.22.tgz", + "integrity": "sha1-PhZNhQIf4ZyYXR8OfvDD4i0BLrY=", + "dev": true, + "requires": { + "abbrev": "1.0.9", + "async": "1.5.2", + "escodegen": "1.7.1", + "esprima": "2.5.0", + "fileset": "0.2.1", + "handlebars": "4.0.11", + "js-yaml": "3.12.0", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "once": "1.4.0", + "resolve": "1.1.7", + "supports-color": "3.2.3", + "which": "1.3.1", + "wordwrap": "1.0.0" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "esprima": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.5.0.tgz", + "integrity": "sha1-84ekb9NEwbGjm6+MIL+0O20AWMw=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "istanbul-combine": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/istanbul-combine/-/istanbul-combine-0.3.0.tgz", + "integrity": "sha1-VrLV5joiBZi23ErIrVcucV6ZV3M=", + "dev": true, + "requires": { + "glob": "5.0.15", + "istanbul": "0.3.22", + "minimist": "1.2.0", + "q": "1.5.1" + }, + "dependencies": { + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "istanbul-instrumenter-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz", + "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==", + "dev": true, + "requires": { + "convert-source-map": "1.5.1", + "istanbul-lib-instrument": "1.10.1", + "loader-utils": "1.1.0", + "schema-utils": "0.3.0" + }, + "dependencies": { + "schema-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "dev": true, + "requires": { + "ajv": "5.5.2" + } + } + } + }, + "istanbul-lib-coverage": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz", + "integrity": "sha512-GvgM/uXRwm+gLlvkWHTjDAvwynZkL9ns15calTrmhGgowlwJBbWMYzWbKqE2DT6JDP1AFXKa+Zi0EkqNCUqY0A==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz", + "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", + "dev": true, + "requires": { + "babel-generator": "6.26.1", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.2.0", + "semver": "5.5.0" + } + }, + "istextorbinary": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.2.1.tgz", + "integrity": "sha512-TS+hoFl8Z5FAFMK38nhBkdLt44CclNRgDHWeMgsV8ko3nDlr/9UI2Sf839sW7enijf8oKsZYXRvM8g0it9Zmcw==", + "dev": true, + "requires": { + "binaryextensions": "2.1.1", + "editions": "1.3.4", + "textextensions": "2.2.0" + } + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "requires": { + "has-to-string-tag-x": "1.4.1", + "is-object": "1.0.1" + } + }, + "jaguarjs-jsdoc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jaguarjs-jsdoc/-/jaguarjs-jsdoc-1.1.0.tgz", + "integrity": "sha1-Pjz/ljvRLU5D1STZxgZxTiv6KQE=", + "dev": true, + "requires": { + "taffydb": "2.7.3", + "underscore": "1.9.1" + } + }, + "jasmine-core": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.1.0.tgz", + "integrity": "sha1-pHheE11d9lAk38kiSVPfWFvSdmw=", + "dev": true + }, + "jquery": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", + "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==", + "dev": true + }, + "js-base64": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.6.tgz", + "integrity": "sha512-O9SR2NVICx6rCqh1qsU91QZ5IoNa+2T1ROJ0OQlfvATKGmnjsAvg3r0E5ufPZ4a95jdKTPXhFWiE/sOZ7a5Rtg==", + "dev": true + }, + "js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "4.0.0" + }, + "dependencies": { + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "dev": true + } + } + }, + "js2xmlparser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-3.0.0.tgz", + "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", + "dev": true, + "requires": { + "xmlcreate": "1.0.2" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "jscodeshift": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.5.1.tgz", + "integrity": "sha512-sRMollbhbmSDrR79JMAnhEjyZJlQQVozeeY9A6/KNuV26DNcuB3mGSCWXp0hks9dcwRNOELbNOiwraZaXXRk5Q==", + "dev": true, + "requires": { + "babel-plugin-transform-flow-strip-types": "6.22.0", + "babel-preset-es2015": "6.24.1", + "babel-preset-stage-1": "6.24.1", + "babel-register": "6.26.0", + "babylon": "7.0.0-beta.47", + "colors": "1.1.2", + "flow-parser": "0.76.0", + "lodash": "4.17.10", + "micromatch": "2.3.11", + "neo-async": "2.5.1", + "node-dir": "0.1.8", + "nomnom": "1.8.1", + "recast": "0.15.2", + "temp": "0.8.3", + "write-file-atomic": "1.3.4" + }, + "dependencies": { + "babylon": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.47.tgz", + "integrity": "sha512-+rq2cr4GDhtToEzKFD6KZZMDBXhjFAr9JjPw9pAppZACeEWqNM294j+NdBzkSHYXwzzBmVjZ3nEVJlOhbR2gOQ==", + "dev": true + } + } + }, + "jsdoc": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.5.5.tgz", + "integrity": "sha512-6PxB65TAU4WO0Wzyr/4/YhlGovXl0EVYfpKbpSroSj0qBxT4/xod/l40Opkm38dRHRdQgdeY836M0uVnJQG7kg==", + "dev": true, + "requires": { + "babylon": "7.0.0-beta.19", + "bluebird": "3.5.1", + "catharsis": "0.8.9", + "escape-string-regexp": "1.0.5", + "js2xmlparser": "3.0.0", + "klaw": "2.0.0", + "marked": "0.3.19", + "mkdirp": "0.5.1", + "requizzle": "0.2.1", + "strip-json-comments": "2.0.1", + "taffydb": "2.6.2", + "underscore": "1.8.3" + }, + "dependencies": { + "babylon": { + "version": "7.0.0-beta.19", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.19.tgz", + "integrity": "sha512-Vg0C9s/REX6/WIXN37UKpv5ZhRi6A4pjHlpkE34+8/a6c2W1Q692n3hmc+SZG5lKRnaExLUbxtJ1SVT+KaCQ/A==", + "dev": true + }, + "marked": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", + "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "taffydb": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", + "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", + "dev": true + }, + "underscore": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", + "dev": true + } + } + }, + "jsdoc-autoprivate": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsdoc-autoprivate/-/jsdoc-autoprivate-0.0.1.tgz", + "integrity": "sha1-Prx6wVwFDWOD+EtuKrahYii149Y=", + "dev": true + }, + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "json-loader": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", + "dev": true, + "requires": { + "is-promise": "2.1.0", + "promise": "7.3.1" + } + }, + "jstransformer-markdown-it": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/jstransformer-markdown-it/-/jstransformer-markdown-it-2.1.0.tgz", + "integrity": "sha1-aewwzkUYvtWZezjwJ2SOjChekvc=", + "dev": true, + "requires": { + "markdown-it": "8.4.1" + } + }, + "karma": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/karma/-/karma-2.0.4.tgz", + "integrity": "sha512-32yhTwoi6BZgJZhR78GwhzyFABbYG/1WwQqYgY7Vh96Demvua2jM3+FyRltIMTUH/Kd5xaQvDw2L7jTvkYFeXg==", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "body-parser": "1.18.3", + "chokidar": "2.0.4", + "colors": "1.1.2", + "combine-lists": "1.0.1", + "connect": "3.6.6", + "core-js": "2.5.7", + "di": "0.0.1", + "dom-serialize": "2.2.1", + "expand-braces": "0.1.2", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "http-proxy": "1.17.0", + "isbinaryfile": "3.0.2", + "lodash": "4.17.10", + "log4js": "2.11.0", + "mime": "1.4.1", + "minimatch": "3.0.4", + "optimist": "0.6.1", + "qjobs": "1.2.0", + "range-parser": "1.2.0", + "rimraf": "2.6.2", + "safe-buffer": "5.1.2", + "socket.io": "2.0.4", + "source-map": "0.6.1", + "tmp": "0.0.33", + "useragent": "2.2.1" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "3.1.10", + "normalize-path": "2.1.1" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "chokidar": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", + "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "dev": true, + "requires": { + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.2", + "fsevents": "1.2.4", + "glob-parent": "3.1.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "lodash.debounce": "4.0.8", + "normalize-path": "2.1.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0", + "upath": "1.1.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "karma-chrome-launcher": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz", + "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==", + "dev": true, + "requires": { + "fs-access": "1.0.1", + "which": "1.3.1" + } + }, + "karma-coverage": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-1.1.2.tgz", + "integrity": "sha512-eQawj4Cl3z/CjxslYy9ariU4uDh7cCNFZHNWXWRpl0pNeblY/4wHR7M7boTYXWrn9bY0z2pZmr11eKje/S/hIw==", + "dev": true, + "requires": { + "dateformat": "1.0.12", + "istanbul": "0.4.5", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "source-map": "0.5.7" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "dev": true, + "requires": { + "esprima": "2.7.3", + "estraverse": "1.9.3", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.2.0" + }, + "dependencies": { + "source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "istanbul": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", + "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", + "dev": true, + "requires": { + "abbrev": "1.0.9", + "async": "1.5.2", + "escodegen": "1.8.1", + "esprima": "2.7.3", + "glob": "5.0.15", + "handlebars": "4.0.11", + "js-yaml": "3.12.0", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "once": "1.4.0", + "resolve": "1.1.7", + "supports-color": "3.2.3", + "which": "1.3.1", + "wordwrap": "1.0.0" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "karma-firefox-launcher": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-1.1.0.tgz", + "integrity": "sha512-LbZ5/XlIXLeQ3cqnCbYLn+rOVhuMIK9aZwlP6eOLGzWdo1UVp7t6CN3DP4SafiRLjexKwHeKHDm0c38Mtd3VxA==", + "dev": true + }, + "karma-jasmine": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.2.tgz", + "integrity": "sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM=", + "dev": true + }, + "karma-jasmine-html-reporter": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.2.0.tgz", + "integrity": "sha512-OkWFy96p2BrRLsicKlbVK4pxYPRwr8KK+pRvsscVxkxNGoCPrTw+JRTmvcJfOWhLVze8Fd6TGhAOXmpLe9O7yg==", + "dev": true + }, + "karma-phantomjs-launcher": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.4.tgz", + "integrity": "sha1-0jyjSAG9qYY60xjju0vUBisTrNI=", + "dev": true, + "requires": { + "lodash": "4.17.10", + "phantomjs-prebuilt": "2.1.16" + } + }, + "karma-sinon": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/karma-sinon/-/karma-sinon-1.0.5.tgz", + "integrity": "sha1-TjRD8oMP3s/2JNN0cWPxIX2qKpo=", + "dev": true + }, + "karma-sourcemap-loader": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz", + "integrity": "sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "karma-spec-reporter": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.32.tgz", + "integrity": "sha1-LpxyB+pyZ3EmAln4K+y1QyCeRAo=", + "dev": true, + "requires": { + "colors": "1.1.2" + } + }, + "karma-webpack": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-3.0.0.tgz", + "integrity": "sha512-Ja1o9LLoqWaJyUNhTKaXjWiEH9y7a9H3mzP8pYB30SBsgoF5KBS/65NeHFd+QPuT9ITrym8xFt8BZeGbcOfujA==", + "dev": true, + "requires": { + "async": "2.6.1", + "babel-runtime": "6.26.0", + "loader-utils": "1.1.0", + "lodash": "4.17.10", + "source-map": "0.5.7", + "webpack-dev-middleware": "2.0.6" + }, + "dependencies": { + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "4.17.10" + } + } + } + }, + "kdbush": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-1.0.1.tgz", + "integrity": "sha1-PL0D6d6tnA9vZszblkUOXOzGQOA=", + "dev": true + }, + "kew": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", + "dev": true + }, + "keygrip": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.0.2.tgz", + "integrity": "sha1-rTKXxVcGneqLz+ek+kkbdcXd65E=", + "dev": true + }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "killable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.0.tgz", + "integrity": "sha1-2ouEvUfeU5WHj5XWTQLyRJ/gXms=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "klaw": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz", + "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "koa": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/koa/-/koa-2.5.2.tgz", + "integrity": "sha512-MoVGWre9g3p35pCqXNhOT/a4trwK5CGvalIoPi7qOA2RCZaep3GCsa/G/tD9QMjQI7bmVWn3XF3SOau8RkPh6w==", + "dev": true, + "requires": { + "accepts": "1.3.5", + "cache-content-type": "1.0.0", + "content-disposition": "0.5.2", + "content-type": "1.0.4", + "cookies": "0.7.1", + "debug": "3.1.0", + "delegates": "1.0.0", + "depd": "1.1.2", + "destroy": "1.0.4", + "error-inject": "1.0.0", + "escape-html": "1.0.3", + "fresh": "0.5.2", + "http-assert": "1.3.0", + "http-errors": "1.6.3", + "is-generator-function": "1.0.7", + "koa-compose": "4.1.0", + "koa-convert": "1.2.0", + "koa-is-json": "1.0.0", + "on-finished": "2.3.0", + "only": "0.0.2", + "parseurl": "1.3.2", + "statuses": "1.5.0", + "type-is": "1.6.16", + "vary": "1.1.2" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "koa-compose": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz", + "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==", + "dev": true + }, + "koa-convert": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz", + "integrity": "sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=", + "dev": true, + "requires": { + "co": "4.6.0", + "koa-compose": "3.2.1" + }, + "dependencies": { + "koa-compose": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz", + "integrity": "sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=", + "dev": true, + "requires": { + "any-promise": "1.3.0" + } + } + } + }, + "koa-is-json": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/koa-is-json/-/koa-is-json-1.0.0.tgz", + "integrity": "sha1-JzwH7c3Ljfaiwat9We52SRRR7BQ=", + "dev": true + }, + "koa-webpack": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/koa-webpack/-/koa-webpack-4.0.0.tgz", + "integrity": "sha512-P+j2TzeZAqFwscd/dlLykk/sxwr6wQ5Tp3FYDhqv1+y9aRIffTPnu2zK+1BhfM+Kyh8bepU1jFR420maE+Vajw==", + "dev": true, + "requires": { + "app-root-path": "2.1.0", + "merge-options": "1.0.1", + "webpack-dev-middleware": "3.1.3", + "webpack-hot-client": "3.0.0", + "webpack-log": "1.2.0" + }, + "dependencies": { + "mime": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "dev": true + }, + "url-join": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", + "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=", + "dev": true + }, + "webpack-dev-middleware": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.1.3.tgz", + "integrity": "sha512-I6Mmy/QjWU/kXwCSFGaiOoL5YEQIVmbb0o45xMoCyQAg/mClqZVTcsX327sPfekDyJWpCxb+04whNyLOIxpJdQ==", + "dev": true, + "requires": { + "loud-rejection": "1.6.0", + "memory-fs": "0.4.1", + "mime": "2.3.1", + "path-is-absolute": "1.0.1", + "range-parser": "1.2.0", + "url-join": "4.0.0", + "webpack-log": "1.2.0" + } + } + } + }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "dev": true, + "requires": { + "package-json": "4.0.1" + } + }, + "lazy": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/lazy/-/lazy-1.0.11.tgz", + "integrity": "sha1-2qBoIGKCVCwIgojpdcKXwa53tpA=", + "dev": true + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2", + "type-check": "0.3.2" + } + }, + "libbase64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz", + "integrity": "sha1-YjUag5VjrF/1vSbxL2Dpgwu3UeY=", + "dev": true + }, + "libmime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz", + "integrity": "sha1-UaGp50SOy9Ms2lRCFnW7IbwJPaY=", + "dev": true, + "requires": { + "iconv-lite": "0.4.15", + "libbase64": "0.1.0", + "libqp": "1.1.0" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz", + "integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=", + "dev": true + } + } + }, + "libqp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz", + "integrity": "sha1-9ebgatdLeU+1tbZpiL9yjvHe2+g=", + "dev": true + }, + "linkify-it": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.3.tgz", + "integrity": "sha1-2UpGSPmxwXnWT6lykSaL22zpQ08=", + "dev": true, + "requires": { + "uc.micro": "1.0.5" + } + }, + "listr": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.1.tgz", + "integrity": "sha512-MSMUUVN1f8aRnPi4034RkOqdiUlpYW+FqwFE3aL0uYNPRavkt2S2SsSpDDofn8BDpqv2RNnsdOcCHWsChcq77A==", + "dev": true, + "requires": { + "@samverschueren/stream-to-observable": "0.3.0", + "cli-truncate": "0.2.1", + "figures": "1.7.0", + "indent-string": "2.1.0", + "is-observable": "1.1.0", + "is-promise": "2.1.0", + "is-stream": "1.1.0", + "listr-silent-renderer": "1.1.1", + "listr-update-renderer": "0.4.0", + "listr-verbose-renderer": "0.4.1", + "log-symbols": "1.0.2", + "log-update": "1.0.2", + "ora": "0.2.3", + "p-map": "1.2.0", + "rxjs": "6.2.1", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "requires": { + "chalk": "1.1.3" + } + }, + "rxjs": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.1.tgz", + "integrity": "sha512-OwMxHxmnmHTUpgO+V7dZChf3Tixf4ih95cmXjzzadULziVl/FKhHScGLj4goEw9weePVOH2Q0+GcCBUhKCZc/g==", + "dev": true, + "requires": { + "tslib": "1.9.3" + } + } + } + }, + "listr-silent-renderer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", + "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=", + "dev": true + }, + "listr-update-renderer": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz", + "integrity": "sha1-NE2YDaLKLosUW6MFkI8yrj9MyKc=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "cli-truncate": "0.2.1", + "elegant-spinner": "1.0.1", + "figures": "1.7.0", + "indent-string": "3.2.0", + "log-symbols": "1.0.2", + "log-update": "1.0.2", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "requires": { + "chalk": "1.1.3" + } + } + } + }, + "listr-verbose-renderer": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz", + "integrity": "sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "cli-cursor": "1.0.2", + "date-fns": "1.29.0", + "figures": "1.7.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "loader-runner": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "dev": true + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "2.4.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "optional": true + "requires": { + "color-convert": "1.9.2" + } }, - "minimatch": { - "version": "3.0.4", - "bundled": true, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "brace-expansion": "1.1.11" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, - "minimist": { - "version": "0.0.8", - "bundled": true, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "minipass": { - "version": "2.2.4", - "bundled": true, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "log-update": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz", + "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=", + "dev": true, + "requires": { + "ansi-escapes": "1.4.0", + "cli-cursor": "1.0.2" + } + }, + "log4js": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-2.11.0.tgz", + "integrity": "sha512-z1XdwyGFg8/WGkOyF6DPJjivCWNLKrklGdViywdYnSKOvgtEBo2UyEMZS5sD2mZrQlU3TvO8wDWLc8mzE1ncBQ==", + "dev": true, + "requires": { + "amqplib": "0.5.2", + "axios": "0.15.3", + "circular-json": "0.5.5", + "date-format": "1.2.0", + "debug": "3.1.0", + "hipchat-notifier": "1.1.0", + "loggly": "1.1.1", + "mailgun-js": "0.18.1", + "nodemailer": "2.7.2", + "redis": "2.8.0", + "semver": "5.5.0", + "slack-node": "0.2.0", + "streamroller": "0.7.0" + }, + "dependencies": { + "circular-json": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.5.tgz", + "integrity": "sha512-13YaR6kiz0kBNmIVM87Io8Hp7bWOo4r61vkEANy8iH9R9bc6avud/1FT0SBpqR1RpIQADOh/Q+yHZDA1iL6ysA==", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "loggly": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/loggly/-/loggly-1.1.1.tgz", + "integrity": "sha1-Cg/B0/o6XsRP3HuJe+uipGlc6+4=", + "dev": true, + "optional": true, + "requires": { + "json-stringify-safe": "5.0.1", + "request": "2.75.0", + "timespan": "2.3.0" + }, + "dependencies": { + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true, + "optional": true + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "dev": true, + "optional": true + }, + "form-data": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.0.0.tgz", + "integrity": "sha1-bwrrrcxdoWwT4ezBETfYX5uIOyU=", + "dev": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "dev": true, + "optional": true, + "requires": { + "chalk": "1.1.3", + "commander": "2.16.0", + "is-my-json-valid": "2.17.2", + "pinkie-promise": "2.0.1" + } + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" + } + }, + "node-uuid": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", + "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", + "dev": true, + "optional": true + }, + "qs": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz", + "integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=", + "dev": true, + "optional": true + }, + "request": { + "version": "2.75.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.75.0.tgz", + "integrity": "sha1-0rgmiihtoT6qXQGt9dGMyQ9lfZM=", + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.7.0", + "bl": "1.1.2", + "caseless": "0.11.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.0.0", + "har-validator": "2.0.6", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "node-uuid": "1.4.8", + "oauth-sign": "0.8.2", + "qs": "6.2.3", + "stringstream": "0.0.6", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.4.3" + } + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true, + "optional": true + } + } + }, + "loglevelnext": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz", + "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", + "dev": true, + "requires": { + "es6-symbol": "3.1.1", + "object.assign": "4.1.0" + } + }, + "lolex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz", + "integrity": "sha1-fD2mL/yzDw9agKJWbKJORdigHzE=", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lru-cache": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "mailcomposer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/mailcomposer/-/mailcomposer-4.0.1.tgz", + "integrity": "sha1-DhxEsqB890DuF9wUm6AJ8Zyt/rQ=", + "dev": true, + "optional": true, + "requires": { + "buildmail": "4.0.1", + "libmime": "3.0.0" + } + }, + "mailgun-js": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/mailgun-js/-/mailgun-js-0.18.1.tgz", + "integrity": "sha512-lvuMP14u24HS2uBsJEnzSyPMxzU2b99tQsIx1o6QNjqxjk8b3WvR+vq5oG1mjqz/IBYo+5gF+uSoDS0RkMVHmg==", + "dev": true, + "optional": true, + "requires": { + "async": "2.6.1", + "debug": "3.1.0", + "form-data": "2.3.2", + "inflection": "1.12.0", + "is-stream": "1.1.0", + "path-proxy": "1.0.0", + "promisify-call": "2.0.4", + "proxy-agent": "3.0.1", + "tsscmp": "1.0.5" + }, + "dependencies": { + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, + "optional": true, "requires": { - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "lodash": "4.17.10" } }, - "minizlib": { - "version": "1.1.0", - "bundled": true, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "optional": true, "requires": { - "minipass": "2.2.4" + "ms": "2.0.0" } + } + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "1.0.1" + } + }, + "markdown-it": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.1.tgz", + "integrity": "sha512-CzzqSSNkFRUf9vlWvhK1awpJreMRqdCrBvZ8DIoDWTOkESMIF741UPAhuAmbyWmdiFPA6WARNhnu2M6Nrhwa+A==", + "dev": true, + "requires": { + "argparse": "1.0.10", + "entities": "1.1.1", + "linkify-it": "2.0.3", + "mdurl": "1.0.1", + "uc.micro": "1.0.5" + } + }, + "marked": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.4.0.tgz", + "integrity": "sha512-tMsdNBgOsrUophCAFQl0XPe6Zqk/uy9gnue+jIIKhykO51hxyu6uNx7zBPy0+y/WKYVZZMspV9YeXLNdKk+iYw==", + "dev": true + }, + "math-expression-evaluator": { + "version": "1.2.17", + "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", + "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", + "dev": true + }, + "math-random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", + "dev": true + }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dev": true, + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3" + } + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "mem-fs": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-1.1.3.tgz", + "integrity": "sha1-uK6NLj/Lb10/kWXBLUVRoGXZicw=", + "dev": true, + "requires": { + "through2": "2.0.3", + "vinyl": "1.2.0", + "vinyl-file": "2.0.0" + } + }, + "mem-fs-editor": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-4.0.3.tgz", + "integrity": "sha512-tgWmwI/+6vwu6POan82dTjxEpwAoaj0NAFnghtVo/FcLK2/7IhPUtFUUYlwou4MOY6OtjTUJtwpfH1h+eSUziw==", + "dev": true, + "requires": { + "commondir": "1.0.1", + "deep-extend": "0.6.0", + "ejs": "2.6.1", + "glob": "7.1.2", + "globby": "7.1.1", + "isbinaryfile": "3.0.2", + "mkdirp": "0.5.1", + "multimatch": "2.1.0", + "rimraf": "2.6.2", + "through2": "2.0.3", + "vinyl": "2.2.0" + }, + "dependencies": { + "clone": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", + "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", + "dev": true }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", "dev": true, "requires": { - "minimist": "0.0.8" + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "glob": "7.1.2", + "ignore": "3.3.10", + "pify": "3.0.0", + "slash": "1.0.0" } }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true }, - "needle": { + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "vinyl": { "version": "2.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", + "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", "dev": true, - "optional": true, "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.21", - "sax": "1.2.4" + "clone": "2.1.1", + "clone-buffer": "1.0.0", + "clone-stats": "1.0.0", + "cloneable-readable": "1.1.2", + "remove-trailing-separator": "1.1.0", + "replace-ext": "1.0.0" } - }, - "node-pre-gyp": { - "version": "0.10.0", - "bundled": true, + } + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "0.1.7", + "readable-stream": "2.3.6" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz", + "integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==", + "dev": true, + "requires": { + "is-plain-obj": "1.1.0" + } + }, + "merge2": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.2.tgz", + "integrity": "sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "mgrs": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mgrs/-/mgrs-0.0.3.tgz", + "integrity": "sha1-MFjTiukuGr+/dLMqj2y1IlpuqgU=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "requires": { + "mime-db": "1.33.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "requires": { + "arrify": "1.0.1", + "is-plain-obj": "1.1.0" + } + }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dev": true, + "requires": { + "concat-stream": "1.6.2", + "duplexify": "3.6.0", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.3", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "2.0.1", + "pumpify": "1.5.1", + "stream-each": "1.2.2", + "through2": "2.0.3" + } + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": true, + "requires": { + "for-in": "1.0.2", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, - "optional": true, "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.0", - "nopt": "4.0.1", - "npm-packlist": "1.1.10", - "npmlog": "4.1.2", - "rc": "1.2.7", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.1" + "is-plain-object": "2.0.4" } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "mousetrap": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.2.tgz", + "integrity": "sha512-jDjhi7wlHwdO6q6DS7YRmSHcuI+RVxadBkLt3KHrhd3C2b+w5pKefg3oj5beTcHZyVFA9Aksf+yEE1y5jxUjVA==", + "dev": true + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "copy-concurrently": "1.0.5", + "fs-write-stream-atomic": "1.0.10", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "multimatch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", + "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", + "dev": true, + "requires": { + "array-differ": "1.0.0", + "array-union": "1.0.2", + "arrify": "1.0.1", + "minimatch": "3.0.4" + } + }, + "mute-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", + "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", + "dev": true + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "1.3.0", + "object-assign": "4.1.1", + "thenify-all": "1.6.0" + } + }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "dev": true, + "optional": true + }, + "nanoassert": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-1.1.0.tgz", + "integrity": "sha1-TzFS4JVA/eKMdvRLGbvNHVpCR40=", + "dev": true + }, + "nanobus": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/nanobus/-/nanobus-4.3.3.tgz", + "integrity": "sha512-4/uzl+LkMGoVv/9eMzH2QFvefmlJErT0KR7EmuYbmht2QvxSEqTjhFFOZ/KHE6chH58fKL3njrOcEwbYV0h9Yw==", + "dev": true, + "requires": { + "nanotiming": "7.3.1", + "remove-array-items": "1.0.0" + } + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" - } + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true }, - "npm-bundled": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "nanoscheduler": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/nanoscheduler/-/nanoscheduler-1.0.3.tgz", + "integrity": "sha512-jBbrF3qdU9321r8n9X7yu18DjP31Do2ItJm3mWrt90wJTrnDO+HXpoV7ftaUglAtjgj9s+OaCxGufbvx6pvbEQ==", + "dev": true, + "requires": { + "nanoassert": "1.1.0" + } + }, + "nanotiming": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/nanotiming/-/nanotiming-7.3.1.tgz", + "integrity": "sha512-l3lC7v/PfOuRWQa8vV29Jo6TG10wHtnthLElFXs4Te4Aas57Fo4n1Q8LH9n+NDh9riOzTVvb2QNBhTS4JUKNjw==", + "dev": true, + "requires": { + "nanoassert": "1.1.0", + "nanoscheduler": "1.0.3" + } + }, + "nconf": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.6.9.tgz", + "integrity": "sha1-lXDvFe1vmuays8jV5xtm0xk81mE=", + "dev": true, + "requires": { + "async": "0.2.9", + "ini": "1.3.5", + "optimist": "0.6.0" + }, + "dependencies": { + "async": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.9.tgz", + "integrity": "sha1-32MGD789Myhqdqr21Vophtn/hhk=", + "dev": true }, - "npm-packlist": { - "version": "1.1.10", - "bundled": true, + "optimist": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz", + "integrity": "sha1-aUJIJvNAX3nxQub8PZrljU27kgA=", "dev": true, - "optional": true, "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.3" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, - "npmlog": { - "version": "4.1.2", - "bundled": true, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "ncp": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz", + "integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=", + "dev": true + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + }, + "neo-async": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz", + "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==", + "dev": true + }, + "netmask": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", + "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=", + "dev": true, + "optional": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "nib": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/nib/-/nib-1.1.2.tgz", + "integrity": "sha1-amnt5AgblcDe+L4CSkyK4MLLtsc=", + "dev": true, + "requires": { + "stylus": "0.54.5" + } + }, + "nice-try": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz", + "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==", + "dev": true + }, + "node-dir": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.8.tgz", + "integrity": "sha1-VfuN62mQcHB/tn+RpGDwRIKUx30=", + "dev": true + }, + "node-libs-browser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "dev": true, + "requires": { + "assert": "1.4.1", + "browserify-zlib": "0.2.0", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", + "events": "1.1.1", + "https-browserify": "1.0.0", + "os-browserify": "0.3.0", + "path-browserify": "0.0.0", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.6", + "stream-browserify": "2.0.1", + "stream-http": "2.8.3", + "string_decoder": "1.1.1", + "timers-browserify": "2.0.10", + "tty-browserify": "0.0.0", + "url": "0.11.0", + "util": "0.10.4", + "vm-browserify": "0.0.4" + }, + "dependencies": { + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", "dev": true, - "optional": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "inherits": "2.0.3" } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, + } + } + }, + "node-pre-gyp": { + "version": "0.6.39", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz", + "integrity": "sha512-OsJV74qxnvz/AMGgcfZoDaeDXKD3oY3QVIbBmwszTFkRisTSXbMQyn4UWzUMOtA5SVhrBZOTp0wcoSBgfMfMmQ==", + "dev": true, + "requires": { + "detect-libc": "1.0.3", + "hawk": "3.1.3", + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.2", + "rc": "1.2.8", + "request": "2.81.0", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "2.2.1", + "tar-pack": "3.4.1" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", "dev": true, "requires": { - "wrappy": "1.0.2" + "co": "4.6.0", + "json-stable-stringify": "1.0.1" } }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true }, - "osenv": { - "version": "0.1.5", - "bundled": true, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "dev": true, - "optional": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" } }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true + "har-schema": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "dev": true }, - "rc": { - "version": "1.2.7", - "bundled": true, + "har-validator": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", "dev": true, - "optional": true, "requires": { - "deep-extend": "0.5.1", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } + "ajv": "4.11.8", + "har-schema": "1.0.5" } }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "dev": true, - "optional": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" } }, - "rimraf": { - "version": "2.6.2", - "bundled": true, + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "dev": true, - "optional": true, "requires": { - "glob": "7.1.2" + "abbrev": "1.0.9", + "osenv": "0.1.5" } }, - "safe-buffer": { - "version": "5.1.1", - "bundled": true, + "performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", "dev": true }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.5.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "5.1.1" - } + "qs": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "dev": true }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, + "request": { + "version": "2.81.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "aws-sign2": "0.6.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.1.2", + "stringstream": "0.0.6", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.1", - "bundled": true, + } + } + }, + "nodemailer": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-2.7.2.tgz", + "integrity": "sha1-8kLmSa7q45tsftdA73sGHEBNMPk=", + "dev": true, + "optional": true, + "requires": { + "libmime": "3.0.0", + "mailcomposer": "4.0.1", + "nodemailer-direct-transport": "3.3.2", + "nodemailer-shared": "1.1.0", + "nodemailer-smtp-pool": "2.8.2", + "nodemailer-smtp-transport": "2.7.2", + "socks": "1.1.9" + }, + "dependencies": { + "socks": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz", + "integrity": "sha1-Yo1+TQSRJDVEWsC25Fk3bLPm1pE=", "dev": true, "optional": true, "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.2.4", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "ip": "1.1.5", + "smart-buffer": "1.1.15" } + } + } + }, + "nodemailer-direct-transport": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/nodemailer-direct-transport/-/nodemailer-direct-transport-3.3.2.tgz", + "integrity": "sha1-6W+vuQNYVglH5WkBfZfmBzilCoY=", + "dev": true, + "optional": true, + "requires": { + "nodemailer-shared": "1.1.0", + "smtp-connection": "2.12.0" + } + }, + "nodemailer-fetch": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz", + "integrity": "sha1-ecSQihwPXzdbc/6IjamCj23JY6Q=", + "dev": true + }, + "nodemailer-shared": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz", + "integrity": "sha1-z1mU4v0mjQD1zw+nZ6CBae2wfsA=", + "dev": true, + "requires": { + "nodemailer-fetch": "1.6.0" + } + }, + "nodemailer-smtp-pool": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/nodemailer-smtp-pool/-/nodemailer-smtp-pool-2.8.2.tgz", + "integrity": "sha1-LrlNbPhXgLG0clzoU7nL1ejajHI=", + "dev": true, + "optional": true, + "requires": { + "nodemailer-shared": "1.1.0", + "nodemailer-wellknown": "0.1.10", + "smtp-connection": "2.12.0" + } + }, + "nodemailer-smtp-transport": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/nodemailer-smtp-transport/-/nodemailer-smtp-transport-2.7.2.tgz", + "integrity": "sha1-A9ccdjFPFKx9vHvwM6am0W1n+3c=", + "dev": true, + "optional": true, + "requires": { + "nodemailer-shared": "1.1.0", + "nodemailer-wellknown": "0.1.10", + "smtp-connection": "2.12.0" + } + }, + "nodemailer-wellknown": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz", + "integrity": "sha1-WG24EB2zDLRDjrVGc3pBqtDPE9U=", + "dev": true + }, + "nomnom": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", + "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=", + "dev": true, + "requires": { + "chalk": "0.4.0", + "underscore": "1.6.0" + }, + "dependencies": { + "ansi-styles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", + "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", + "dev": true }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, + "chalk": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "dev": true, - "optional": true, "requires": { - "string-width": "1.0.2" + "ansi-styles": "1.0.0", + "has-color": "0.1.7", + "strip-ansi": "0.1.1" } }, - "wrappy": { - "version": "1.0.2", - "bundled": true, + "strip-ansi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", + "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", "dev": true }, - "yallist": { - "version": "3.0.2", - "bundled": true, + "underscore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true + } + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1.0.9" + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "2.7.1", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "prepend-http": "1.0.4", + "query-string": "4.3.4", + "sort-keys": "1.1.2" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "1.1.5", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "nssocket": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/nssocket/-/nssocket-0.5.3.tgz", + "integrity": "sha1-iDyi7GBfXtZKTVGQsmJUAZKPj40=", + "dev": true, + "requires": { + "eventemitter2": "0.4.14", + "lazy": "1.0.11" + } + }, + "null-check": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", + "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", + "dev": true + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "object-keys": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "1.1.2", + "function-bind": "1.1.1", + "has-symbols": "1.0.0", + "object-keys": "1.0.12" + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "only": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz", + "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=", + "dev": true + }, + "opn": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "dev": true, + "requires": { + "is-wsl": "1.1.0" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "0.0.8", + "wordwrap": "0.0.3" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true } } }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.2" + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" } }, - "fstream-ignore": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", - "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", + "ora": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/ora/-/ora-0.2.3.tgz", + "integrity": "sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q=", "dev": true, "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" + "chalk": "1.1.3", + "cli-cursor": "1.0.2", + "cli-spinners": "0.1.2", + "object-assign": "4.1.1" } }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, - "generate-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, - "generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "requires": { - "is-property": "1.0.2" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", "dev": true }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "p-each-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", + "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "p-reduce": "1.0.0" } }, - "gl-mat3": { + "p-finally": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gl-mat3/-/gl-mat3-1.0.0.tgz", - "integrity": "sha1-iWMyGcpCk3mha5GF2V1BcTRTuRI=", - "dev": true - }, - "gl-mat4": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gl-mat4/-/gl-mat4-1.2.0.tgz", - "integrity": "sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA==", - "dev": true - }, - "gl-vec2": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gl-vec2/-/gl-vec2-1.2.0.tgz", - "integrity": "sha512-M5AbyvcAlPZy1SMZsB5xQX//JRUGsayQZ06BifC5KQ42U8LyUInhlB4WQVRoHqJBIMOR0WWaoJZJOT7n+gnUOg==", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, - "gl-vec3": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gl-vec3/-/gl-vec3-1.1.3.tgz", - "integrity": "sha512-jduKUqT0SGH02l8Yl+mV1yVsDfYgQAJyXGxkJQGyxPLHRiW25DwVIRPt6uvhrEMHftJfqhqKthRcyZqNEl9Xdw==", + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", "dev": true }, - "gl-vec4": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gl-vec4/-/gl-vec4-1.0.1.tgz", - "integrity": "sha1-l9loeCgbFLUyy84QF4Xf0cs0CWQ=", + "p-lazy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-lazy/-/p-lazy-1.0.0.tgz", + "integrity": "sha1-7FPIAvLuOsKPFmzILQsrAt4nqDU=", "dev": true }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "p-try": "1.0.0" } }, - "glob-parent": { + "p-locate": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "is-glob": "2.0.1" + "p-limit": "1.3.0" } }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", "dev": true }, - "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "dev": true + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "p-finally": "1.0.0" } }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, - "hammerjs": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", - "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=", - "optional": true - }, - "handlebars": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", - "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "pac-proxy-agent": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-2.0.2.tgz", + "integrity": "sha512-cDNAN1Ehjbf5EHkNY5qnRhGPUCp6SnpyVof5fRzN800QV1Y2OkzbH9rmjZkbBRa8igof903yOnjIl6z0SlAhxA==", "dev": true, + "optional": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "agent-base": "4.2.1", + "debug": "3.1.0", + "get-uri": "2.0.2", + "http-proxy-agent": "2.1.0", + "https-proxy-agent": "2.2.1", + "pac-resolver": "3.0.0", + "raw-body": "2.3.3", + "socks-proxy-agent": "3.0.1" }, "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } }, - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "socks-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz", + "integrity": "sha512-ZwEDymm204mTzvdqyUqOdovVr2YRd2NYskrYrF2LXyZ9qDiMAoFESGK8CRphiO7rtbo2Y757k2Nia3x2hGtalA==", "dev": true, + "optional": true, "requires": { - "amdefine": "1.0.1" + "agent-base": "4.2.1", + "socks": "1.1.10" } } } }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", - "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "pac-resolver": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz", + "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==", "dev": true, + "optional": true, "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "co": "4.6.0", + "degenerator": "1.0.4", + "ip": "1.1.5", + "netmask": "1.0.6", + "thunkify": "2.1.2" } }, - "has": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", - "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "function-bind": "1.1.1" + "got": "6.7.1", + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0", + "semver": "5.5.0" + }, + "dependencies": { + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, + "requires": { + "create-error-class": "3.0.2", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-redirect": "1.0.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "lowercase-keys": "1.0.1", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "unzip-response": "2.0.1", + "url-parse-lax": "1.0.0" + } + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "1.0.4" + } + } } }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "pako": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", + "dev": true + }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, - "has-binary": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz", - "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=", + "parse-asn1": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { - "isarray": "0.0.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - } + "asn1.js": "4.10.1", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.16" } }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true - }, - "hasha": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", - "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", + "parse-css-font": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/parse-css-font/-/parse-css-font-2.0.2.tgz", + "integrity": "sha1-e2CwYHBaJam5C38O1JPlgjJIplI=", "dev": true, "requires": { - "is-stream": "1.1.0", - "pinkie-promise": "2.0.1" + "css-font-size-keywords": "1.0.0", + "css-font-stretch-keywords": "1.0.1", + "css-font-style-keywords": "1.0.1", + "css-font-weight-keywords": "1.0.0", + "css-global-keywords": "1.0.1", + "css-list-helpers": "1.0.1", + "css-system-font-keywords": "1.0.0", + "tcomb": "2.7.0", + "unquote": "1.1.1" } }, - "hawk": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", - "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.1", - "sntp": "2.1.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" } }, - "highlight.js": { - "version": "9.12.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz", - "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=", - "dev": true - }, - "hoek": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", - "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==", - "dev": true - }, - "hosted-git-info": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", - "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", - "dev": true - }, - "html-comment-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz", - "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=", - "dev": true - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "depd": "1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": "1.5.0" + "error-ex": "1.3.2" } }, - "http-parser-js": { - "version": "0.4.12", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.12.tgz", - "integrity": "sha1-uc+/Sizybw/DSxDKFImid3HjR08=", + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", "dev": true }, - "http-proxy": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", - "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", - "dev": true, - "requires": { - "eventemitter3": "3.1.0", - "follow-redirects": "1.4.1", - "requires-port": "1.0.0" - } - }, - "http-proxy-middleware": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz", - "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=", + "parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", "dev": true, "requires": { - "http-proxy": "1.17.0", - "is-glob": "3.1.0", - "lodash": "4.17.10", - "micromatch": "2.3.11" - }, - "dependencies": { - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "2.1.1" - } - } + "better-assert": "1.0.2" } }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "parseuri": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", "dev": true, "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.1" + "better-assert": "1.0.2" } }, - "https-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", - "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=", + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", "dev": true }, - "i": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz", - "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=", + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, - "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", "dev": true }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", "dev": true }, - "icss-utils": { + "path-exists": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", - "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "postcss": "6.0.22" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "1.9.1" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.22", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", - "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", - "dev": true, - "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - } + "pinkie-promise": "2.0.1" } }, - "ieee754": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.11.tgz", - "integrity": "sha512-VhDzCKN7K8ufStx/CLj5/PDTMgph+qwN5Pkd5i0sGnVwk56zJ0lkT8Qzi1xqWLS0Wp29DgDtNeS7v8/wMoZeHg==", + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, - "ignore": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.8.tgz", - "integrity": "sha512-pUh+xUQQhQzevjRHHFqqcTy0/dP/kS9I8HSrUydhihjuD09W6ldVWFtIrwhXdUJHis3i2rZNqEHpZH/cbinFbg==", + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, - "imports-loader": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.8.0.tgz", - "integrity": "sha512-kXWL7Scp8KQ4552ZcdVTeaQCZSLW+e6nJfp3cwUMB673T7Hr98Xjx5JK+ql7ADlJUvj1JS5O01RLbKoutN5QDQ==", + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, + "path-proxy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-proxy/-/path-proxy-1.0.0.tgz", + "integrity": "sha1-GOijaFn8nS8aU7SN7hOFQ8Ag3l4=", "dev": true, + "optional": true, "requires": { - "loader-utils": "1.1.0", - "source-map": "0.6.1" + "inflection": "1.3.8" }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "inflection": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.3.8.tgz", + "integrity": "sha1-y9Fg2p91sUw8xjV41POWeEvzAU4=", + "dev": true, + "optional": true } } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", "dev": true }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "repeating": "2.0.1" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "pbkdf2": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", + "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", + "dev": true, + "requires": { + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", "dev": true }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "phantomjs-prebuilt": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz", + "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "es6-promise": "4.2.4", + "extract-zip": "1.6.7", + "fs-extra": "1.0.0", + "hasha": "2.2.0", + "kew": "0.7.0", + "progress": "1.1.8", + "request": "2.87.0", + "request-progress": "2.0.1", + "which": "1.3.1" + }, + "dependencies": { + "fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + } } }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, - "inquirer": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", - "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "ansi-escapes": "1.4.0", - "ansi-regex": "2.1.1", - "chalk": "1.1.3", - "cli-cursor": "1.0.2", - "cli-width": "2.2.0", - "figures": "1.7.0", - "lodash": "4.17.10", - "readline2": "1.0.1", - "run-async": "0.1.0", - "rx-lite": "3.1.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "through": "2.3.8" + "pinkie": "2.0.4" } }, - "interpret": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-0.6.6.tgz", - "integrity": "sha1-/s16GOfOXKar+5U+H4YhOknxYls=", - "dev": true - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "loose-envify": "1.3.1" + "find-up": "2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + } } }, - "ipaddr.js": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", - "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=", + "pkginfo": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz", + "integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=", "dev": true }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "pluralize": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", + "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", "dev": true }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "binary-extensions": "1.11.0" + "chalk": "1.1.3", + "js-base64": "2.4.6", + "source-map": "0.5.7", + "supports-color": "3.2.3" + }, + "dependencies": { + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "postcss-calc": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", + "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "postcss": "5.2.18", + "postcss-message-helpers": "2.0.0", + "reduce-css-calc": "1.3.0" } }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "postcss-colormin": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", + "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", "dev": true, "requires": { - "is-primitive": "2.0.0" + "colormin": "1.1.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" } }, - "is-expression": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz", - "integrity": "sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8=", + "postcss-convert-values": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", + "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", "dev": true, "requires": { - "acorn": "4.0.13", - "object-assign": "4.1.1" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true - } + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" } }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "postcss-discard-comments": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", + "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "postcss": "5.2.18" } }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "postcss-discard-duplicates": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", + "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "postcss": "5.2.18" } }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "postcss-discard-empty": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", + "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "postcss": "5.2.18" } }, - "is-my-ip-valid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", - "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", - "dev": true - }, - "is-my-json-valid": { - "version": "2.17.2", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz", - "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", + "postcss-discard-overridden": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", + "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", "dev": true, "requires": { - "generate-function": "2.0.0", - "generate-object-property": "1.2.0", - "is-my-ip-valid": "1.0.0", - "jsonpointer": "4.0.1", - "xtend": "4.0.1" + "postcss": "5.2.18" } }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "postcss-discard-unused": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", + "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", "dev": true, "requires": { - "kind-of": "3.2.2" + "postcss": "5.2.18", + "uniqs": "2.0.0" } }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "postcss-filter-plugins": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz", + "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "postcss": "5.2.18" } }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "postcss-merge-idents": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", + "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "has": "1.0.3", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" } }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true + "postcss-merge-longhand": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", + "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", + "dev": true, + "requires": { + "postcss": "5.2.18" + } }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true + "postcss-merge-rules": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", + "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", + "dev": true, + "requires": { + "browserslist": "1.7.7", + "caniuse-api": "1.6.1", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3", + "vendors": "1.0.2" + } }, - "is-primitive": { + "postcss-message-helpers": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, - "is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", + "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", "dev": true }, - "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "postcss-minify-font-values": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", + "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", "dev": true, "requires": { - "has": "1.0.1" + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" } }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-svg": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", - "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", + "postcss-minify-gradients": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", + "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", "dev": true, "requires": { - "html-comment-regex": "1.1.1" + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isbinaryfile": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz", - "integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isnumeric": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/isnumeric/-/isnumeric-0.2.0.tgz", - "integrity": "sha1-ojR7o2DeGeM9D/1ZD933dVy/LmQ=", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "postcss-minify-params": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", + "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", "dev": true, "requires": { - "isarray": "1.0.0" + "alphanum-sort": "1.0.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0", + "uniqs": "2.0.0" } }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "postcss-minify-selectors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", + "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", + "dev": true, + "requires": { + "alphanum-sort": "1.0.2", + "has": "1.0.3", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3" + } }, - "istanbul": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.3.22.tgz", - "integrity": "sha1-PhZNhQIf4ZyYXR8OfvDD4i0BLrY=", + "postcss-modules-extract-imports": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz", + "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=", "dev": true, "requires": { - "abbrev": "1.0.9", - "async": "1.5.2", - "escodegen": "1.7.1", - "esprima": "2.5.0", - "fileset": "0.2.1", - "handlebars": "4.0.11", - "js-yaml": "3.11.0", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "once": "1.4.0", - "resolve": "1.1.7", - "supports-color": "3.2.3", - "which": "1.3.0", - "wordwrap": "1.0.0" + "postcss": "6.0.23" }, "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "esprima": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.5.0.tgz", - "integrity": "sha1-84ekb9NEwbGjm6+MIL+0O20AWMw=", + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "3.0.0" } } } }, - "istanbul-combine": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/istanbul-combine/-/istanbul-combine-0.3.0.tgz", - "integrity": "sha1-VrLV5joiBZi23ErIrVcucV6ZV3M=", + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", "dev": true, "requires": { - "glob": "5.0.15", - "istanbul": "0.3.22", - "minimist": "1.2.0", - "q": "1.5.1" + "css-selector-tokenizer": "0.7.0", + "postcss": "6.0.23" }, "dependencies": { - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "color-convert": "1.9.2" } }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true - } - } - }, - "istanbul-instrumenter-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz", - "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==", - "dev": true, - "requires": { - "convert-source-map": "1.5.1", - "istanbul-lib-instrument": "1.10.1", - "loader-utils": "1.1.0", - "schema-utils": "0.3.0" - }, - "dependencies": { - "schema-utils": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", - "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { - "ajv": "5.5.2" + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" } } } }, - "istanbul-lib-coverage": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz", - "integrity": "sha512-GvgM/uXRwm+gLlvkWHTjDAvwynZkL9ns15calTrmhGgowlwJBbWMYzWbKqE2DT6JDP1AFXKa+Zi0EkqNCUqY0A==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz", - "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", - "dev": true, - "requires": { - "babel-generator": "6.26.1", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.2.0", - "semver": "5.5.0" - } - }, - "jaguarjs-jsdoc": { + "postcss-modules-scope": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jaguarjs-jsdoc/-/jaguarjs-jsdoc-1.1.0.tgz", - "integrity": "sha1-Pjz/ljvRLU5D1STZxgZxTiv6KQE=", - "dev": true, - "requires": { - "taffydb": "2.7.3", - "underscore": "1.9.0" - } - }, - "jasmine-core": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.1.0.tgz", - "integrity": "sha1-pHheE11d9lAk38kiSVPfWFvSdmw=", - "dev": true - }, - "jquery": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", - "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==", - "dev": true - }, - "js-base64": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz", - "integrity": "sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw==", - "dev": true - }, - "js-stringify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", - "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=", - "dev": true - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "js-yaml": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz", - "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.0" + "css-selector-tokenizer": "0.7.0", + "postcss": "6.0.23" }, "dependencies": { - "esprima": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", - "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true - } - } - }, - "js2xmlparser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-3.0.0.tgz", - "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", - "dev": true, - "requires": { - "xmlcreate": "1.0.2" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } }, - "jsdoc": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.5.5.tgz", - "integrity": "sha512-6PxB65TAU4WO0Wzyr/4/YhlGovXl0EVYfpKbpSroSj0qBxT4/xod/l40Opkm38dRHRdQgdeY836M0uVnJQG7kg==", + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", "dev": true, "requires": { - "babylon": "7.0.0-beta.19", - "bluebird": "3.5.1", - "catharsis": "0.8.9", - "escape-string-regexp": "1.0.5", - "js2xmlparser": "3.0.0", - "klaw": "2.0.0", - "marked": "0.3.19", - "mkdirp": "0.5.1", - "requizzle": "0.2.1", - "strip-json-comments": "2.0.1", - "taffydb": "2.6.2", - "underscore": "1.8.3" + "icss-replace-symbols": "1.1.0", + "postcss": "6.0.23" }, "dependencies": { - "babylon": { - "version": "7.0.0-beta.19", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.19.tgz", - "integrity": "sha512-Vg0C9s/REX6/WIXN37UKpv5ZhRi6A4pjHlpkE34+8/a6c2W1Q692n3hmc+SZG5lKRnaExLUbxtJ1SVT+KaCQ/A==", - "dev": true + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.2" + } }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } }, - "taffydb": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", - "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } } } }, - "jsdoc-autoprivate": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/jsdoc-autoprivate/-/jsdoc-autoprivate-0.0.1.tgz", - "integrity": "sha1-Prx6wVwFDWOD+EtuKrahYii149Y=", - "dev": true - }, - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "json-loader": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", - "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "postcss-normalize-charset": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", + "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", "dev": true, "requires": { - "jsonify": "0.0.0" + "postcss": "5.2.18" } }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json3": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", - "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true + "postcss-normalize-url": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", + "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", + "dev": true, + "requires": { + "is-absolute-url": "2.1.0", + "normalize-url": "1.9.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "postcss-ordered-values": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", + "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" } }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true + "postcss-reduce-idents": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", + "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } }, - "jsonpointer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", - "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", - "dev": true + "postcss-reduce-initial": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", + "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", + "dev": true, + "requires": { + "postcss": "5.2.18" + } }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "postcss-reduce-transforms": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", + "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", "dev": true, "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" + "has": "1.0.3", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" } }, - "jstransformer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", - "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", "dev": true, "requires": { - "is-promise": "2.1.0", - "promise": "7.3.1" + "flatten": "1.0.2", + "indexes-of": "1.0.1", + "uniq": "1.0.1" } }, - "jstransformer-markdown-it": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/jstransformer-markdown-it/-/jstransformer-markdown-it-2.1.0.tgz", - "integrity": "sha1-aewwzkUYvtWZezjwJ2SOjChekvc=", + "postcss-svgo": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", + "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", "dev": true, "requires": { - "markdown-it": "8.4.1" + "is-svg": "2.1.0", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0", + "svgo": "0.7.2" } }, - "karma": { - "version": "0.13.22", - "resolved": "https://registry.npmjs.org/karma/-/karma-0.13.22.tgz", - "integrity": "sha1-B3ULG9Bj1+fnuRvNLmNU2PKqh0Q=", + "postcss-unique-selectors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", + "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", "dev": true, "requires": { - "batch": "0.5.3", - "bluebird": "2.11.0", - "body-parser": "1.18.2", - "chokidar": "1.7.0", - "colors": "1.1.2", - "connect": "3.6.6", - "core-js": "2.5.5", - "di": "0.0.1", - "dom-serialize": "2.2.1", - "expand-braces": "0.1.2", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "http-proxy": "1.17.0", - "isbinaryfile": "3.0.2", - "lodash": "3.10.1", - "log4js": "0.6.38", - "mime": "1.4.1", - "minimatch": "3.0.4", - "optimist": "0.6.1", - "rimraf": "2.6.2", - "socket.io": "1.7.4", - "source-map": "0.5.7", - "useragent": "2.3.0" - }, - "dependencies": { - "bluebird": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", - "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", - "dev": true - }, - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", - "dev": true - } + "alphanum-sort": "1.0.2", + "postcss": "5.2.18", + "uniqs": "2.0.0" } }, - "karma-chrome-launcher": { + "postcss-value-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", + "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", + "dev": true + }, + "postcss-zindex": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz", - "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", + "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", "dev": true, "requires": { - "fs-access": "1.0.1", - "which": "1.3.0" + "has": "1.0.3", + "postcss": "5.2.18", + "uniqs": "2.0.0" } }, - "karma-coverage": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-1.1.1.tgz", - "integrity": "sha1-Wv+LOc9plNwi3kyENix2ABtjfPY=", + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "prettier": { + "version": "1.13.7", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.13.7.tgz", + "integrity": "sha512-KIU72UmYPGk4MujZGYMFwinB7lOf2LsDNGSOC8ufevsrPLISrZbNJlWstRi3m0AMuszbH+EFSQ/r6w56RSPK6w==", + "dev": true + }, + "pretty-bytes": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", + "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=", + "dev": true + }, + "prettyjson": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prettyjson/-/prettyjson-1.2.1.tgz", + "integrity": "sha1-/P+rQdGcq0365eV15kJGYZsS0ok=", "dev": true, "requires": { - "dateformat": "1.0.12", - "istanbul": "0.4.5", - "lodash": "3.10.1", - "minimatch": "3.0.4", - "source-map": "0.5.7" + "colors": "1.1.2", + "minimist": "1.2.0" }, "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "escodegen": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", - "dev": true, - "requires": { - "esprima": "2.7.3", - "estraverse": "1.9.3", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.2.0" - }, - "dependencies": { - "source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", - "dev": true, - "optional": true, - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", - "dev": true - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "istanbul": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", - "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", - "dev": true, - "requires": { - "abbrev": "1.0.9", - "async": "1.5.2", - "escodegen": "1.8.1", - "esprima": "2.7.3", - "glob": "5.0.15", - "handlebars": "4.0.11", - "js-yaml": "3.11.0", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "once": "1.4.0", - "resolve": "1.1.7", - "supports-color": "3.2.3", - "which": "1.3.0", - "wordwrap": "1.0.0" - } - }, - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "1.0.0" - } } } }, - "karma-firefox-launcher": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-1.1.0.tgz", - "integrity": "sha512-LbZ5/XlIXLeQ3cqnCbYLn+rOVhuMIK9aZwlP6eOLGzWdo1UVp7t6CN3DP4SafiRLjexKwHeKHDm0c38Mtd3VxA==", + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", "dev": true }, - "karma-jasmine": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.1.tgz", - "integrity": "sha1-b+hA51oRYAydkehLM8RY4cRqNSk=", + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", "dev": true }, - "karma-jasmine-html-reporter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.1.0.tgz", - "integrity": "sha512-uhNED+4B1axgptXkM8cCa3kztpQqsPrOxhfbjr4FdunNexnU6+cF2bfiIeGfsFMhphVyOMKy/S9LFaOFj8VXRA==", + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true }, - "karma-phantomjs-launcher": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.4.tgz", - "integrity": "sha1-0jyjSAG9qYY60xjju0vUBisTrNI=", + "progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "dev": true + }, + "proj4": { + "version": "2.3.16", + "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.3.16.tgz", + "integrity": "sha1-5yflmUYH++5NI0FuxnL+TVDU51k=", "dev": true, "requires": { - "lodash": "4.17.10", - "phantomjs-prebuilt": "2.1.16" + "mgrs": "0.0.3" } }, - "karma-sinon": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/karma-sinon/-/karma-sinon-1.0.5.tgz", - "integrity": "sha1-TjRD8oMP3s/2JNN0cWPxIX2qKpo=", + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "requires": { + "asap": "2.0.6" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, - "karma-sourcemap-loader": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz", - "integrity": "sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg=", + "promisify-call": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/promisify-call/-/promisify-call-2.0.4.tgz", + "integrity": "sha1-1IwtRWUszM1SgB3ey9UzptS9X7o=", "dev": true, + "optional": true, "requires": { - "graceful-fs": "4.1.11" + "with-callback": "1.0.2" } }, - "karma-spec-reporter": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.32.tgz", - "integrity": "sha1-LpxyB+pyZ3EmAln4K+y1QyCeRAo=", + "prompt": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz", + "integrity": "sha1-V3VPZPVD/XsIRXB8gY7OYY8F/9w=", "dev": true, "requires": { - "colors": "1.1.2" + "pkginfo": "0.3.1", + "read": "1.0.7", + "revalidator": "0.1.8", + "utile": "0.2.1", + "winston": "0.8.3" } }, - "karma-webpack": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-1.8.1.tgz", - "integrity": "sha1-OdX9Lt7qPMPvW0BZibN9Ww5qO04=", + "proxy-addr": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", + "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", "dev": true, "requires": { - "async": "0.9.2", - "loader-utils": "0.2.17", - "lodash": "3.10.1", - "source-map": "0.1.43", - "webpack-dev-middleware": "1.12.2" + "forwarded": "0.1.2", + "ipaddr.js": "1.6.0" + } + }, + "proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.0.1.tgz", + "integrity": "sha512-mAZexaz9ZxQhYPWfAjzlrloEjW+JHiBFryE4AJXFDTnaXfmH/FKqC1swTRKuEPbHWz02flQNXFOyDUF7zfEG6A==", + "dev": true, + "optional": true, + "requires": { + "agent-base": "4.2.1", + "debug": "3.1.0", + "http-proxy-agent": "2.1.0", + "https-proxy-agent": "2.2.1", + "lru-cache": "4.1.3", + "pac-proxy-agent": "2.0.2", + "proxy-from-env": "1.0.0", + "socks-proxy-agent": "4.0.1" }, "dependencies": { - "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", - "dev": true - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1", - "object-assign": "4.1.1" - } - }, - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", - "dev": true - }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, + "optional": true, "requires": { - "amdefine": "1.0.1" + "ms": "2.0.0" } } } }, - "kdbush": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-1.0.1.tgz", - "integrity": "sha1-PL0D6d6tnA9vZszblkUOXOzGQOA=", - "dev": true - }, - "kew": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", - "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", "dev": true, - "requires": { - "is-buffer": "1.1.6" - } + "optional": true }, - "klaw": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz", - "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "ps-tree": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-0.0.3.tgz", + "integrity": "sha1-2/jXUqf+Ivp9WGNWiUmWEOknbdw=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "event-stream": "0.5.3" } }, - "lazy": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/lazy/-/lazy-1.0.11.tgz", - "integrity": "sha1-2qBoIGKCVCwIgojpdcKXwa53tpA=", - "dev": true - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "public-encrypt": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", + "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "parse-asn1": "5.1.1", + "randombytes": "2.0.6" } }, - "linkify-it": { + "pug": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.3.tgz", - "integrity": "sha1-2UpGSPmxwXnWT6lykSaL22zpQ08=", + "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.3.tgz", + "integrity": "sha1-ccuoJTfJWl6rftBGluQiH1Oqh44=", "dev": true, "requires": { - "uc.micro": "1.0.5" + "pug-code-gen": "2.0.1", + "pug-filters": "3.1.0", + "pug-lexer": "4.0.0", + "pug-linker": "3.0.5", + "pug-load": "2.0.11", + "pug-parser": "5.0.0", + "pug-runtime": "2.0.4", + "pug-strip-comments": "1.0.3" } }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "pug-attrs": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.3.tgz", + "integrity": "sha1-owlflw5kFR972tlX7vVftdeQXRU=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "constantinople": "3.1.2", + "js-stringify": "1.0.2", + "pug-runtime": "2.0.4" } }, - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "pug-code-gen": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.1.tgz", + "integrity": "sha1-CVHsgyJddNjPxHan+Zolm199BQw=", "dev": true, "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" + "constantinople": "3.1.2", + "doctypes": "1.1.0", + "js-stringify": "1.0.2", + "pug-attrs": "2.0.3", + "pug-error": "1.3.2", + "pug-runtime": "2.0.4", + "void-elements": "2.0.1", + "with": "5.1.1" } }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", - "dev": true - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "pug-error": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.2.tgz", + "integrity": "sha1-U659nSm7A89WRJOgJhCfVMR/XyY=", "dev": true }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true + "pug-filters": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-3.1.0.tgz", + "integrity": "sha1-JxZVVbwEwjbkqisDZiRt+gIbYm4=", + "dev": true, + "requires": { + "clean-css": "4.1.11", + "constantinople": "3.1.2", + "jstransformer": "1.0.0", + "pug-error": "1.3.2", + "pug-walk": "1.1.7", + "resolve": "1.1.7", + "uglify-js": "2.8.29" + } }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true + "pug-lexer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-4.0.0.tgz", + "integrity": "sha1-IQwYRX7y4XYCQnQMXmR715TOwng=", + "dev": true, + "requires": { + "character-parser": "2.2.0", + "is-expression": "3.0.0", + "pug-error": "1.3.2" + } }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true + "pug-linker": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.5.tgz", + "integrity": "sha1-npp65ABWgtAn3uuWsAD4juuDoC8=", + "dev": true, + "requires": { + "pug-error": "1.3.2", + "pug-walk": "1.1.7" + } }, - "log4js": { - "version": "0.6.38", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz", - "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=", + "pug-lint": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/pug-lint/-/pug-lint-2.5.0.tgz", + "integrity": "sha1-RBnuMBrspF9UBhsOykqaRx86qak=", "dev": true, "requires": { - "readable-stream": "1.0.34", - "semver": "4.3.6" + "acorn": "4.0.13", + "commander": "2.16.0", + "css-selector-parser": "1.3.0", + "find-line-column": "0.5.2", + "glob": "7.1.2", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "pug-attrs": "2.0.3", + "pug-error": "1.3.2", + "pug-lexer": "2.3.2", + "resolve": "1.1.7", + "strip-json-comments": "2.0.1", + "void-elements": "2.0.1" }, "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", "dev": true }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "pug-lexer": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-2.3.2.tgz", + "integrity": "sha1-aLGdlupdwOSoYUiwHLlmwXgVphQ=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" + "character-parser": "2.2.0", + "is-expression": "3.0.0", + "pug-error": "1.3.2" } }, - "semver": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true } } - }, - "lolex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz", - "integrity": "sha1-fD2mL/yzDw9agKJWbKJORdigHzE=", - "dev": true - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, - "loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "dev": true, - "requires": { - "js-tokens": "3.0.2" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" - } - }, - "lru-cache": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", - "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", - "dev": true, - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" - } - }, - "macaddress": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz", - "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=", - "dev": true - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "markdown-it": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.1.tgz", - "integrity": "sha512-CzzqSSNkFRUf9vlWvhK1awpJreMRqdCrBvZ8DIoDWTOkESMIF741UPAhuAmbyWmdiFPA6WARNhnu2M6Nrhwa+A==", + }, + "pug-load": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.11.tgz", + "integrity": "sha1-5kjlftET/iwfRdV4WOorrWvAFSc=", "dev": true, "requires": { - "argparse": "1.0.10", - "entities": "1.1.1", - "linkify-it": "2.0.3", - "mdurl": "1.0.1", - "uc.micro": "1.0.5" + "object-assign": "4.1.1", + "pug-walk": "1.1.7" } }, - "marked": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", - "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==", - "dev": true - }, - "math-expression-evaluator": { - "version": "1.2.17", - "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", - "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", - "dev": true - }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "pug-loader": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/pug-loader/-/pug-loader-2.4.0.tgz", + "integrity": "sha512-cD4bU2wmkZ1EEVyu0IfKOsh1F26KPva5oglO1Doc3knx8VpBIXmFHw16k9sITYIjQMCnRv1vb4vfQgy7VdR6eg==", "dev": true, "requires": { - "errno": "0.1.7", - "readable-stream": "2.3.6" + "loader-utils": "1.1.0", + "pug-walk": "1.1.7", + "resolve": "1.1.7" } }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "pug-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-5.0.0.tgz", + "integrity": "sha1-45Stmz/KkxI5QK/4hcBuRKt+aOQ=", "dev": true, "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } + "pug-error": "1.3.2", + "token-stream": "0.0.1" } }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "mgrs": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mgrs/-/mgrs-0.0.3.tgz", - "integrity": "sha1-MFjTiukuGr+/dLMqj2y1IlpuqgU=", + "pug-runtime": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.4.tgz", + "integrity": "sha1-4XjhvaaKsujArPybztLFT9iM61g=", "dev": true }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "pug-strip-comments": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.3.tgz", + "integrity": "sha1-8VWVkiBu3G+FMQ2s9K+0igJa9Z8=", "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "pug-error": "1.3.2" } }, - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", - "dev": true - }, - "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "pug-walk": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.7.tgz", + "integrity": "sha1-wA1cUSi6xYBr7BXSt+fNq+QlMfM=", "dev": true }, - "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "mime-db": "1.33.0" + "end-of-stream": "1.4.1", + "once": "1.4.0" } }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "brace-expansion": "1.1.11" + "duplexify": "3.6.0", + "inherits": "2.0.3", + "pump": "2.0.1" } }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", "dev": true, "requires": { - "minimist": "0.0.8" + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" } }, - "mousetrap": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.1.tgz", - "integrity": "sha1-KghfXHUSlMdefoH27CVFspy/Qtk=", + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", "dev": true }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", "dev": true }, - "mute-stream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", - "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", "dev": true }, - "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", - "dev": true, - "optional": true - }, - "nconf": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.6.9.tgz", - "integrity": "sha1-lXDvFe1vmuays8jV5xtm0xk81mE=", + "randomatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", + "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "dev": true, "requires": { - "async": "0.2.9", - "ini": "1.3.5", - "optimist": "0.6.0" + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" }, "dependencies": { - "async": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.9.tgz", - "integrity": "sha1-32MGD789Myhqdqr21Vophtn/hhk=", + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", "dev": true }, - "optimist": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz", - "integrity": "sha1-aUJIJvNAX3nxQub8PZrljU27kgA=", - "dev": true, - "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" - } - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, - "ncp": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz", - "integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=", - "dev": true - }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", - "dev": true + "randombytes": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "2.0.6", + "safe-buffer": "5.1.2" + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", "dev": true }, - "nib": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/nib/-/nib-1.1.2.tgz", - "integrity": "sha1-amnt5AgblcDe+L4CSkyK4MLLtsc=", + "raw-body": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", "dev": true, "requires": { - "stylus": "0.54.5" + "bytes": "3.0.0", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "unpipe": "1.0.0" } }, - "node-libs-browser": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.7.0.tgz", - "integrity": "sha1-PicsCBnjCJNeJmdECNevDhSRuDs=", + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { - "assert": "1.4.1", - "browserify-zlib": "0.1.4", - "buffer": "4.9.1", - "console-browserify": "1.1.0", - "constants-browserify": "1.0.0", - "crypto-browserify": "3.3.0", - "domain-browser": "1.2.0", - "events": "1.1.1", - "https-browserify": "0.0.1", - "os-browserify": "0.2.1", - "path-browserify": "0.0.0", - "process": "0.11.10", - "punycode": "1.4.1", - "querystring-es3": "0.2.1", - "readable-stream": "2.3.6", - "stream-browserify": "2.0.1", - "stream-http": "2.8.1", - "string_decoder": "0.10.31", - "timers-browserify": "2.0.10", - "tty-browserify": "0.0.0", - "url": "0.11.0", - "util": "0.10.3", - "vm-browserify": "0.0.4" + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true } } }, - "node-pre-gyp": { - "version": "0.6.39", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz", - "integrity": "sha512-OsJV74qxnvz/AMGgcfZoDaeDXKD3oY3QVIbBmwszTFkRisTSXbMQyn4UWzUMOtA5SVhrBZOTp0wcoSBgfMfMmQ==", + "read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", "dev": true, "requires": { - "detect-libc": "1.0.3", - "hawk": "3.1.3", - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.2", - "rc": "1.2.7", - "request": "2.81.0", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "2.2.1", - "tar-pack": "3.4.1" + "mute-stream": "0.0.5" + } + }, + "read-chunk": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-2.1.0.tgz", + "integrity": "sha1-agTAkoAF7Z1C4aasVgDhnLx/9lU=", + "dev": true, + "requires": { + "pify": "3.0.0", + "safe-buffer": "5.1.2" }, "dependencies": { - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "dev": true - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "dev": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.18" - } - }, - "har-schema": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", - "dev": true - }, - "har-validator": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", - "dev": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "dev": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.14.1" - } - }, - "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "dev": true, - "requires": { - "abbrev": "1.0.9", - "osenv": "0.1.5" - } - }, - "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", - "dev": true - }, - "qs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true - }, - "request": { - "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", - "dev": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.7.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.1.2", - "stringstream": "0.0.5", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" - } - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } } } }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "abbrev": "1.0.9" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "find-up": "1.1.2", + "read-pkg": "1.1.0" } }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "object-assign": "4.1.1", - "prepend-http": "1.0.4", - "query-string": "4.3.4", - "sort-keys": "1.1.2" + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.6", + "set-immediate-shim": "1.0.1" } }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "readline2": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", + "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", "dev": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "mute-stream": "0.0.5" } }, - "nssocket": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/nssocket/-/nssocket-0.5.3.tgz", - "integrity": "sha1-iDyi7GBfXtZKTVGQsmJUAZKPj40=", + "recast": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.15.2.tgz", + "integrity": "sha512-L4f/GqxjlEJ5IZ+tdll/l+6dVi2ylysWbkgFJbMuldD6Jklgfv6zJnCpuAZDfjwHhfcd/De0dDKelsTEPQ29qA==", "dev": true, "requires": { - "eventemitter2": "0.4.14", - "lazy": "1.0.11" + "ast-types": "0.11.5", + "esprima": "4.0.0", + "private": "0.1.8", + "source-map": "0.6.1" + }, + "dependencies": { + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, - "null-check": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", - "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", - "dev": true - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", - "dev": true - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "resolve": "1.1.7" } }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "ee-first": "1.1.1" + "indent-string": "2.1.0", + "strip-indent": "1.0.1" } }, - "on-headers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "redis": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz", + "integrity": "sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==", "dev": true, + "optional": true, "requires": { - "wrappy": "1.0.2" + "double-ended-queue": "2.1.0-0", + "redis-commands": "1.3.5", + "redis-parser": "2.6.0" } }, - "onetime": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", - "dev": true + "redis-commands": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.5.tgz", + "integrity": "sha512-foGF8u6MXGFF++1TZVC6icGXuMYPftKXt1FBT2vrfU9ZATNtZJ8duRC5d1lEfE8hyVe3jhelHGB91oB7I6qLsA==", + "dev": true, + "optional": true }, - "open": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/open/-/open-0.0.5.tgz", - "integrity": "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=", - "dev": true + "redis-parser": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz", + "integrity": "sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs=", + "dev": true, + "optional": true }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "reduce-css-calc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "balanced-match": "0.4.2", + "math-expression-evaluator": "1.2.17", + "reduce-function-call": "1.0.2" }, "dependencies": { - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", "dev": true } } }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true, - "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" - } - }, - "options": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", - "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", - "dev": true - }, - "original": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.0.tgz", - "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=", + "reduce-function-call": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", + "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", "dev": true, "requires": { - "url-parse": "1.0.5" + "balanced-match": "0.4.2" }, "dependencies": { - "url-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz", - "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=", - "dev": true, - "requires": { - "querystringify": "0.0.4", - "requires-port": "1.0.0" - } + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true } } }, - "os-browserify": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", - "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=", + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", "dev": true }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "private": "0.1.8" + } }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "is-equal-shallow": "0.1.3" } }, - "pako": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", - "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", - "dev": true + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" + } }, - "parse-css-font": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/parse-css-font/-/parse-css-font-2.0.2.tgz", - "integrity": "sha1-e2CwYHBaJam5C38O1JPlgjJIplI=", + "regexpu-core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", "dev": true, "requires": { - "css-font-size-keywords": "1.0.0", - "css-font-stretch-keywords": "1.0.1", - "css-font-style-keywords": "1.0.1", - "css-font-weight-keywords": "1.0.0", - "css-global-keywords": "1.0.1", - "css-list-helpers": "1.0.1", - "css-system-font-keywords": "1.0.0", - "tcomb": "2.7.0", - "unquote": "1.1.1" + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" } }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "rc": "1.2.8", + "safe-buffer": "5.1.2" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true, + "requires": { + "rc": "1.2.8" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "0.5.0" } }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "remove-array-items": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.0.0.tgz", + "integrity": "sha1-B79CyzMvTPboXq2DteToltIyayE=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "error-ex": "1.3.1" + "is-finite": "1.0.2" } }, - "parsejson": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz", - "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=", + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + }, + "request": { + "version": "2.87.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", + "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "dev": true, "requires": { - "better-assert": "1.0.2" + "aws-sign2": "0.7.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" } }, - "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "request-progress": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", + "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", "dev": true, "requires": { - "better-assert": "1.0.2" + "throttleit": "1.0.0" } }, - "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "requestretry": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.13.0.tgz", + "integrity": "sha512-Lmh9qMvnQXADGAQxsXHP4rbgO6pffCfuR8XUBdP9aitJcLQJxhp7YZK4xAVYXnPJ5E52mwrfiKQtKonPL8xsmg==", "dev": true, + "optional": true, "requires": { - "better-assert": "1.0.2" + "extend": "3.0.1", + "lodash": "4.17.10", + "request": "2.87.0", + "when": "3.7.8" } }, - "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, - "path-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "caller-path": "0.1.0", + "resolve-from": "1.0.1" } }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requizzle": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz", + "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "underscore": "1.6.0" + }, + "dependencies": { + "underscore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true + } } }, - "pbkdf2-compat": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz", - "integrity": "sha1-tuDI+plJTZTgURV1gCpZpcFC8og=", - "dev": true - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true + "resemblejs": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/resemblejs/-/resemblejs-2.10.3.tgz", + "integrity": "sha512-Qt4vEIjpJd/XmpnbIcbLBuO3Fj2bVUOi3hsTSoRJAP0oC3bkTOgPuxFqT00QkDogF0qWEFUtidf/1S6XqOVG3w==", + "dev": true, + "requires": { + "canvas-prebuilt": "1.6.5-prerelease.1" + } }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", "dev": true }, - "phantomjs-prebuilt": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz", - "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=", + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "es6-promise": "4.2.4", - "extract-zip": "1.6.6", - "fs-extra": "1.0.0", - "hasha": "2.2.0", - "kew": "0.7.0", - "progress": "1.1.8", - "request": "2.85.0", - "request-progress": "2.0.1", - "which": "1.3.0" + "resolve-from": "3.0.0" }, "dependencies": { - "fs-extra": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", - "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11" - } - }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11" - } + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true } } }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "2.0.2", + "global-modules": "1.0.0" + } }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", "dev": true }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "resolve-path": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz", + "integrity": "sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc=", "dev": true, "requires": { - "pinkie": "2.0.4" + "http-errors": "1.6.3", + "path-is-absolute": "1.0.1" } }, - "pkginfo": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz", - "integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=", - "dev": true - }, - "pluralize": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", - "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" - }, - "dependencies": { - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "1.0.0" - } - } + "lowercase-keys": "1.0.1" + } + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "1.1.1", + "onetime": "1.1.0" } }, - "postcss-calc": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", - "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", + "resumer": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", + "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", "dev": true, "requires": { - "postcss": "5.2.18", - "postcss-message-helpers": "2.0.0", - "reduce-css-calc": "1.3.0" + "through": "2.3.8" } }, - "postcss-colormin": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", - "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "revalidator": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", + "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "dev": true, "requires": { - "colormin": "1.1.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "align-text": "0.1.4" } }, - "postcss-convert-values": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", - "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "glob": "7.1.2" } }, - "postcss-discard-comments": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", - "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { - "postcss": "5.2.18" + "hash-base": "3.0.4", + "inherits": "2.0.3" } }, - "postcss-discard-duplicates": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", - "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", + "run-async": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", + "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", "dev": true, "requires": { - "postcss": "5.2.18" + "once": "1.4.0" } }, - "postcss-discard-empty": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", - "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", "dev": true, "requires": { - "postcss": "5.2.18" + "aproba": "1.2.0" } }, - "postcss-discard-overridden": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", - "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", + "rx-lite": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", + "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", + "dev": true + }, + "rxjs": { + "version": "5.5.11", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz", + "integrity": "sha512-3bjO7UwWfA2CV7lmwYMBzj4fQ6Cq+ftHc2MvUe+WMS7wcdJ1LosDWmdjPQanYp2dBRj572p7PeU81JUxHKOcBA==", "dev": true, "requires": { - "postcss": "5.2.18" + "symbol-observable": "1.0.1" } }, - "postcss-discard-unused": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", - "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { - "postcss": "5.2.18", - "uniqs": "2.0.0" + "ret": "0.1.15" } }, - "postcss-filter-plugins": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz", - "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=", + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "samsam": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz", + "integrity": "sha1-vsEf3IOp/aBjQBIQ5AF2wwJNFWc=", + "dev": true + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", + "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "postcss": "5.2.18", - "uniqid": "4.1.1" + "ajv": "6.5.2", + "ajv-keywords": "3.2.0" + }, + "dependencies": { + "ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + } } }, - "postcss-merge-idents": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", - "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", + "scoped-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/scoped-regex/-/scoped-regex-1.0.0.tgz", + "integrity": "sha1-o0a7Gs1CB65wvXwMfKnlZra63bg=", + "dev": true + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "semver": "5.5.0" } }, - "postcss-merge-longhand": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", - "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", "dev": true, "requires": { - "postcss": "5.2.18" + "debug": "2.6.9", + "depd": "1.1.2", + "destroy": "1.0.4", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "fresh": "0.5.2", + "http-errors": "1.6.3", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" + }, + "dependencies": { + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true + } } }, - "postcss-merge-rules": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", - "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", + "serialize-javascript": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz", + "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==", + "dev": true + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "dev": true, "requires": { - "browserslist": "1.7.7", - "caniuse-api": "1.6.1", - "postcss": "5.2.18", - "postcss-selector-parser": "2.2.3", - "vendors": "1.0.2" + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", + "send": "0.16.2" } }, - "postcss-message-helpers": { + "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", - "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, - "postcss-minify-font-values": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", - "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "dev": true, "requires": { - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } } }, - "postcss-minify-gradients": { + "setimmediate": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", - "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true }, - "postcss-minify-params": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", - "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0", - "uniqs": "2.0.0" + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, - "postcss-minify-selectors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", - "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "alphanum-sort": "1.0.2", - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-selector-parser": "2.2.3" + "shebang-regex": "1.0.0" } }, - "postcss-modules-extract-imports": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz", - "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=", + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shelljs": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz", + "integrity": "sha1-7GIRvtGSBEIIj+D3Cyg3Iy7SyKg=", + "dev": true + }, + "shush": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shush/-/shush-1.0.0.tgz", + "integrity": "sha1-wnQVqeRY8v7TmyfPjrN8ADeCtDE=", "dev": true, "requires": { - "postcss": "6.0.22" + "caller": "0.0.1", + "strip-json-comments": "0.1.3" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "1.9.1" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.22", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", - "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", - "dev": true, - "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "strip-json-comments": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz", + "integrity": "sha1-Fkxk43Coo8wAyeAbU55WmCPw7lQ=", "dev": true - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } } } }, - "postcss-modules-local-by-default": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", - "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "sinon": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.7.tgz", + "integrity": "sha1-RUKk9JugxFwF6y6d2dID4rjv4L8=", "dev": true, "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.22" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "1.9.1" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.22", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", - "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", - "dev": true, - "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - } + "formatio": "1.1.1", + "lolex": "1.3.2", + "samsam": "1.1.2", + "util": "0.11.0" } }, - "postcss-modules-scope": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", - "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "slack-node": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/slack-node/-/slack-node-0.2.0.tgz", + "integrity": "sha1-3kuN3aqLeT9h29KTgQT9q/N9+jA=", "dev": true, + "optional": true, "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.22" + "requestretry": "1.13.0" + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true + }, + "slide": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "dev": true + }, + "smart-buffer": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz", + "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=", + "dev": true, + "optional": true + }, + "smtp-connection": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz", + "integrity": "sha1-1275EnyyPCJZ7bHoNJwujV4tdME=", + "dev": true, + "requires": { + "httpntlm": "1.6.1", + "nodemailer-shared": "1.1.0" + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.1" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "1.9.1" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.22", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", - "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.4.0" + "is-descriptor": "0.1.6" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "has-flag": "3.0.0" + "is-extendable": "0.1.1" } } } }, - "postcss-modules-values": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", - "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { - "icss-replace-symbols": "1.1.0", - "postcss": "6.0.22" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "1.9.1" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "is-descriptor": "1.0.2" + } }, - "postcss": { - "version": "6.0.22", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", - "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.4.0" + "kind-of": "6.0.2" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "has-flag": "3.0.0" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true } } }, - "postcss-normalize-charset": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", - "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-normalize-url": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", - "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", - "dev": true, - "requires": { - "is-absolute-url": "2.1.0", - "normalize-url": "1.9.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-ordered-values": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", - "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "kind-of": "3.2.2" } }, - "postcss-reduce-idents": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", - "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true, "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "hoek": "2.16.3" } }, - "postcss-reduce-initial": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", - "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", + "socket.io": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz", + "integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=", "dev": true, "requires": { - "postcss": "5.2.18" + "debug": "2.6.9", + "engine.io": "3.1.5", + "socket.io-adapter": "1.1.1", + "socket.io-client": "2.0.4", + "socket.io-parser": "3.1.3" } }, - "postcss-reduce-transforms": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", - "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", - "dev": true, - "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } + "socket.io-adapter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz", + "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=", + "dev": true }, - "postcss-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", - "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "socket.io-client": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz", + "integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=", "dev": true, "requires": { - "flatten": "1.0.2", - "indexes-of": "1.0.1", - "uniq": "1.0.1" + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "2.6.9", + "engine.io-client": "3.1.6", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "3.1.3", + "to-array": "0.1.4" } }, - "postcss-svgo": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", - "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", + "socket.io-parser": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.3.tgz", + "integrity": "sha512-g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g==", "dev": true, "requires": { - "is-svg": "2.1.0", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0", - "svgo": "0.7.2" + "component-emitter": "1.2.1", + "debug": "3.1.0", + "has-binary2": "1.0.3", + "isarray": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + } } }, - "postcss-unique-selectors": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", - "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", + "socks": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz", + "integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=", "dev": true, + "optional": true, "requires": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.18", - "uniqs": "2.0.0" + "ip": "1.1.5", + "smart-buffer": "1.1.15" } }, - "postcss-value-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", - "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", - "dev": true - }, - "postcss-zindex": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", - "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", + "socks-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz", + "integrity": "sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw==", "dev": true, + "optional": true, "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "uniqs": "2.0.0" + "agent-base": "4.2.1", + "socks": "2.2.1" + }, + "dependencies": { + "smart-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.1.tgz", + "integrity": "sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg==", + "dev": true, + "optional": true + }, + "socks": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.2.1.tgz", + "integrity": "sha512-0GabKw7n9mI46vcNrVfs0o6XzWzjVa3h6GaSo2UPxtWAROXUWavfJWh1M4PR5tnE0dcnQXZIDFP4yrAysLze/w==", + "dev": true, + "optional": true, + "requires": { + "ip": "1.1.5", + "smart-buffer": "4.0.1" + } + } } }, - "prelude-ls": { + "sort-keys": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "prettyjson": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prettyjson/-/prettyjson-1.2.1.tgz", - "integrity": "sha1-/P+rQdGcq0365eV15kJGYZsS0ok=", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", "dev": true, "requires": { - "colors": "1.1.2", - "minimist": "1.2.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } + "is-plain-obj": "1.1.0" } }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { + "source-list-map": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", "dev": true }, - "progress": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", - "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, - "proj4": { - "version": "2.3.16", - "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.3.16.tgz", - "integrity": "sha1-5yflmUYH++5NI0FuxnL+TVDU51k=", + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "dev": true, "requires": { - "mgrs": "0.0.3" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "asap": "2.0.6" + "source-map": "0.5.7" } }, - "prompt": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz", - "integrity": "sha1-V3VPZPVD/XsIRXB8gY7OYY8F/9w=", + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spdx-correct": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "pkginfo": "0.3.1", - "read": "1.0.7", - "revalidator": "0.1.8", - "utile": "0.2.1", - "winston": "0.8.3" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, - "proxy-addr": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", - "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "forwarded": "0.1.2", - "ipaddr.js": "1.6.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "spdx-license-ids": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", "dev": true }, - "ps-tree": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-0.0.3.tgz", - "integrity": "sha1-2/jXUqf+Ivp9WGNWiUmWEOknbdw=", + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { - "event-stream": "0.5.3" + "extend-shallow": "3.0.2" } }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "pug": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.3.tgz", - "integrity": "sha1-ccuoJTfJWl6rftBGluQiH1Oqh44=", + "sshpk": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", + "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "dev": true, "requires": { - "pug-code-gen": "2.0.1", - "pug-filters": "3.1.0", - "pug-lexer": "4.0.0", - "pug-linker": "3.0.5", - "pug-load": "2.0.11", - "pug-parser": "5.0.0", - "pug-runtime": "2.0.4", - "pug-strip-comments": "1.0.3" + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" } }, - "pug-attrs": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.3.tgz", - "integrity": "sha1-owlflw5kFR972tlX7vVftdeQXRU=", + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", "dev": true, "requires": { - "constantinople": "3.1.2", - "js-stringify": "1.0.2", - "pug-runtime": "2.0.4" + "safe-buffer": "5.1.2" } }, - "pug-code-gen": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.1.tgz", - "integrity": "sha1-CVHsgyJddNjPxHan+Zolm199BQw=", + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { - "constantinople": "3.1.2", - "doctypes": "1.1.0", - "js-stringify": "1.0.2", - "pug-attrs": "2.0.3", - "pug-error": "1.3.2", - "pug-runtime": "2.0.4", - "void-elements": "2.0.1", - "with": "5.1.1" + "define-property": "0.2.5", + "object-copy": "0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + } } }, - "pug-error": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.2.tgz", - "integrity": "sha1-U659nSm7A89WRJOgJhCfVMR/XyY=", + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, - "pug-filters": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-3.1.0.tgz", - "integrity": "sha1-JxZVVbwEwjbkqisDZiRt+gIbYm4=", + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "dev": true, "requires": { - "clean-css": "4.1.11", - "constantinople": "3.1.2", - "jstransformer": "1.0.0", - "pug-error": "1.3.2", - "pug-walk": "1.1.7", - "resolve": "1.1.7", - "uglify-js": "2.8.29" + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, - "pug-lexer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-4.0.0.tgz", - "integrity": "sha1-IQwYRX7y4XYCQnQMXmR715TOwng=", + "stream-each": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", + "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", "dev": true, "requires": { - "character-parser": "2.2.0", - "is-expression": "3.0.0", - "pug-error": "1.3.2" + "end-of-stream": "1.4.1", + "stream-shift": "1.0.0" } }, - "pug-linker": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.5.tgz", - "integrity": "sha1-npp65ABWgtAn3uuWsAD4juuDoC8=", + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { - "pug-error": "1.3.2", - "pug-walk": "1.1.7" + "builtin-status-codes": "3.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" } }, - "pug-lint": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/pug-lint/-/pug-lint-2.5.0.tgz", - "integrity": "sha1-RBnuMBrspF9UBhsOykqaRx86qak=", + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "streamroller": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz", + "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==", "dev": true, "requires": { - "acorn": "4.0.13", - "commander": "2.15.1", - "css-selector-parser": "1.3.0", - "find-line-column": "0.5.2", - "glob": "7.1.2", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "pug-attrs": "2.0.3", - "pug-error": "1.3.2", - "pug-lexer": "2.3.2", - "resolve": "1.1.7", - "strip-json-comments": "2.0.1", - "void-elements": "2.0.1" + "date-format": "1.2.0", + "debug": "3.1.0", + "mkdirp": "0.5.1", + "readable-stream": "2.3.6" }, "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string-replace-webpack-plugin": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/string-replace-webpack-plugin/-/string-replace-webpack-plugin-0.1.3.tgz", + "integrity": "sha1-c8ZX51nWbP6Arh4M8JGqJW0OcVw=", + "dev": true, + "requires": { + "async": "0.2.10", + "css-loader": "0.9.1", + "file-loader": "0.8.5", + "loader-utils": "0.2.17", + "style-loader": "0.8.3" + }, + "dependencies": { + "css-loader": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.9.1.tgz", + "integrity": "sha1-LhqgDOfjDvLGp6SzAKCAp8l54Nw=", + "dev": true, + "optional": true, + "requires": { + "csso": "1.3.12", + "loader-utils": "0.2.17", + "source-map": "0.1.43" + } }, - "pug-lexer": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-2.3.2.tgz", - "integrity": "sha1-aLGdlupdwOSoYUiwHLlmwXgVphQ=", + "csso": { + "version": "1.3.12", + "resolved": "https://registry.npmjs.org/csso/-/csso-1.3.12.tgz", + "integrity": "sha1-/GKGlKLTiTiqrEmWdTIY/TEc254=", + "dev": true, + "optional": true + }, + "file-loader": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.8.5.tgz", + "integrity": "sha1-knXQMf54DyfUf19K8CvUNxPMFRs=", "dev": true, + "optional": true, "requires": { - "character-parser": "2.2.0", - "is-expression": "3.0.0", - "pug-error": "1.3.2" + "loader-utils": "0.2.17" } }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "optional": true, + "requires": { + "amdefine": "1.0.1" + } + }, + "style-loader": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.8.3.tgz", + "integrity": "sha1-9Pkut9tjdodI8VBlzWcA9aHIU1c=", + "dev": true, + "optional": true, + "requires": { + "loader-utils": "0.2.17" + } } } }, - "pug-load": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.11.tgz", - "integrity": "sha1-5kjlftET/iwfRdV4WOorrWvAFSc=", + "string-template": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", + "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "object-assign": "4.1.1", - "pug-walk": "1.1.7" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, - "pug-loader": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/pug-loader/-/pug-loader-2.4.0.tgz", - "integrity": "sha512-cD4bU2wmkZ1EEVyu0IfKOsh1F26KPva5oglO1Doc3knx8VpBIXmFHw16k9sITYIjQMCnRv1vb4vfQgy7VdR6eg==", + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "loader-utils": "1.1.0", - "pug-walk": "1.1.7", - "resolve": "1.1.7" + "safe-buffer": "5.1.2" } }, - "pug-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-5.0.0.tgz", - "integrity": "sha1-45Stmz/KkxI5QK/4hcBuRKt+aOQ=", + "stringstream": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", + "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "pug-error": "1.3.2", - "token-stream": "0.0.1" + "ansi-regex": "2.1.1" } }, - "pug-runtime": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.4.tgz", - "integrity": "sha1-4XjhvaaKsujArPybztLFT9iM61g=", - "dev": true + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } }, - "pug-strip-comments": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.3.tgz", - "integrity": "sha1-8VWVkiBu3G+FMQ2s9K+0igJa9Z8=", + "strip-bom-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz", + "integrity": "sha1-+H217yYT9paKpUWr/h7HKLaoKco=", "dev": true, "requires": { - "pug-error": "1.3.2" + "first-chunk-stream": "2.0.0", + "strip-bom": "2.0.0" } }, - "pug-walk": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.7.tgz", - "integrity": "sha1-wA1cUSi6xYBr7BXSt+fNq+QlMfM=", + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "4.0.1" + } }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", "dev": true }, - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", - "dev": true + "style-loader": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.21.0.tgz", + "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "schema-utils": "0.4.5" + } }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "stylus": { + "version": "0.54.5", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.5.tgz", + "integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=", "dev": true, "requires": { - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" + "css-parse": "1.7.0", + "debug": "2.6.9", + "glob": "7.0.6", + "mkdirp": "0.5.1", + "sax": "0.5.8", + "source-map": "0.1.43" + }, + "dependencies": { + "glob": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", + "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "sax": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", + "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=", + "dev": true + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } } }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true + "stylus-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz", + "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "lodash.clonedeep": "4.5.0", + "when": "3.6.4" + }, + "dependencies": { + "when": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz", + "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=", + "dev": true + } + } }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true }, - "querystringify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz", - "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=", + "svgo": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", + "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", + "dev": true, + "requires": { + "coa": "1.0.4", + "colors": "1.1.2", + "csso": "2.3.2", + "js-yaml": "3.7.0", + "mkdirp": "0.5.1", + "sax": "1.2.4", + "whet.extend": "0.9.9" + }, + "dependencies": { + "js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "2.7.3" + } + } + } + }, + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", "dev": true }, - "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "table": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", + "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "ajv": "4.11.8", + "ajv-keywords": "1.5.1", + "chalk": "1.1.3", + "lodash": "4.17.10", + "slice-ansi": "0.0.4", + "string-width": "2.1.1" }, "dependencies": { - "is-number": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, - "kind-of": { + "strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "ansi-regex": "3.0.0" } } } }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "taffydb": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.7.3.tgz", + "integrity": "sha1-KtNxaWKUmPylvIQkMJbTzeDsOjQ=", "dev": true }, - "raw-body": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", - "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "tapable": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", + "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", + "dev": true + }, + "tape": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tape/-/tape-2.3.3.tgz", + "integrity": "sha1-Lnzgox3wn41oUWZKcYQuDKUFevc=", "dev": true, "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.2", - "iconv-lite": "0.4.19", - "unpipe": "1.0.0" + "deep-equal": "0.1.2", + "defined": "0.0.0", + "inherits": "2.0.3", + "jsonify": "0.0.0", + "resumer": "0.0.0", + "through": "2.3.8" }, "dependencies": { - "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "deep-equal": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.1.2.tgz", + "integrity": "sha1-skbCuApXCkfBG+HZvRBw7IeLh84=", "dev": true }, - "http-errors": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", - "dev": true, - "requires": { - "depd": "1.1.1", - "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": "1.5.0" - } - }, - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", + "defined": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-0.0.0.tgz", + "integrity": "sha1-817qfXBekzuvE7LwOz+D2SFAOz4=", "dev": true } } }, - "rc": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", - "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "dev": true, "requires": { - "deep-extend": "0.5.1", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.1.tgz", + "integrity": "sha512-PPRybI9+jM5tjtCbN2cxmmRU7YmqT3Zv/UDy48tAh2XRkLa9bAORtSWLkVc13+GJF+cdTh1yEnHEk3cpTaL5Kg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.3.6", + "rimraf": "2.6.2", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tcomb": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tcomb/-/tcomb-2.7.0.tgz", + "integrity": "sha1-ENYpWAQWaaXVNWe5pO6M3iKxwrA=", + "dev": true + }, + "temp": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", + "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", + "dev": true, + "requires": { + "os-tmpdir": "1.0.2", + "rimraf": "2.2.8" }, "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "rimraf": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", "dev": true } } }, - "read": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "mute-stream": "0.0.5" + "execa": "0.7.0" } }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "textextensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.2.0.tgz", + "integrity": "sha512-j5EMxnryTvKxwH2Cq+Pb43tsf6sdEgw6Pdwxk83mPaq0ToeFJt6WE4J3s5BqY7vmjlLgkgXvhtXUxo80FyBhCA==", + "dev": true + }, + "thenify": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", + "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "any-promise": "1.3.0" } }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "thenify": "3.3.0" } }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "readable-stream": "2.3.6", + "xtend": "4.0.1" } }, - "readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "thunkify": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", + "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=", + "dev": true, + "optional": true + }, + "time-fix-plugin": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/time-fix-plugin/-/time-fix-plugin-2.0.3.tgz", + "integrity": "sha512-5StGdiXCiBsq2+RdBQ0NrunFeKqVX0f2Myn8s1YqOxRS+kmuiHcdpPm27ucbM6FYawBKGTOOYxPnqxIBZyiqEg==", + "dev": true + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", + "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.6", - "set-immediate-shim": "1.0.1" + "setimmediate": "1.0.5" } }, - "readline2": { + "timespan": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz", + "integrity": "sha1-SQLOBAvRPYRcj1myfp1ZutbzmSk=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "1.0.2" + } + }, + "to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", + "dev": true + }, + "to-arraybuffer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", - "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "mute-stream": "0.0.5" + "kind-of": "3.2.2" } }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, - "reduce-css-calc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", - "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "balanced-match": "0.4.2", - "math-expression-evaluator": "1.2.17", - "reduce-function-call": "1.0.2" + "is-number": "3.0.0", + "repeat-string": "1.6.1" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + } } }, - "reduce-function-call": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", - "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", + "token-stream": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz", + "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=", + "dev": true + }, + "touch-emulator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/touch-emulator/-/touch-emulator-1.0.0.tgz", + "integrity": "sha1-jLmInzlp4JZqZeoKcV8g7IiNFO0=", + "dev": true + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "dev": true, "requires": { - "balanced-match": "0.4.2" + "punycode": "1.4.1" } }, - "regenerate": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", - "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", "dev": true }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "dev": true }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + }, + "tsscmp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz", + "integrity": "sha1-fcSjOvcVgatDN9qR2FylQn69mpc=", + "dev": true, + "optional": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "safe-buffer": "5.1.2" } }, - "regexpu-core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", - "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "regenerate": "1.3.3", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "prelude-ls": "1.1.2" } }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "type-is": { + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", "dev": true, "requires": { - "jsesc": "0.5.0" + "media-typer": "0.3.0", + "mime-types": "2.1.18" } }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, - "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "typeface-lato": { + "version": "0.0.54", + "resolved": "https://registry.npmjs.org/typeface-lato/-/typeface-lato-0.0.54.tgz", + "integrity": "sha512-2/oP5YrXCBSLg+N2ZdWnMbJ0PRIidrJVFHgRoLxo5MNsdu9eE4aBwsoEY/K/+9rKdktGO8zpiXBYPRn9F6U/Sw==", "dev": true }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "uc.micro": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.5.tgz", + "integrity": "sha512-JoLI4g5zv5qNyT09f4YAvEZIIV1oOjqnewYg5D38dkQljIzpPT296dbIGvKro3digYI1bkb7W6EP1y4uDlmzLg==", "dev": true }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, "requires": { - "is-finite": "1.0.2" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" } }, - "request": { - "version": "2.85.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz", - "integrity": "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==", + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", "dev": true, - "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.7.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "hawk": "6.0.2", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.1", - "safe-buffer": "5.1.2", - "stringstream": "0.0.5", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" - } + "optional": true }, - "request-progress": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", - "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", - "dev": true, - "requires": { - "throttleit": "1.0.0" + "uglifyjs-webpack-plugin": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.7.tgz", + "integrity": "sha512-1VicfKhCYHLS8m1DCApqBhoulnASsEoJ/BvpUpP4zoNAPpKzdH+ghk0olGJMmwX2/jprK2j3hAHdUbczBSy2FA==", + "dev": true, + "requires": { + "cacache": "10.0.4", + "find-cache-dir": "1.0.0", + "schema-utils": "0.4.5", + "serialize-javascript": "1.5.0", + "source-map": "0.6.1", + "uglify-es": "3.3.9", + "webpack-sources": "1.1.0", + "worker-farm": "1.6.0" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "dev": true, + "requires": { + "commander": "2.13.0", + "source-map": "0.6.1" + } + } } }, - "require-uncached": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "dev": true, - "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" - } + "uid-number": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", + "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", + "dev": true }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", "dev": true }, - "requizzle": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz", - "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", + "underscore": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", + "dev": true + }, + "underscore-contrib": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz", + "integrity": "sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=", "dev": true, "requires": { "underscore": "1.6.0" @@ -7110,865 +14085,1364 @@ } } }, - "resemblejs": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/resemblejs/-/resemblejs-2.10.1.tgz", - "integrity": "sha512-/r2xgIMRadjgN/wKSfBmxoWi1dgjHoriOP99GEORYYbFmCHldaIDlSiR/acEChJJLxki8FQT/cFvkZbkyW6P1Q==", + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, "requires": { - "canvas-prebuilt": "1.6.5-prerelease.1" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" + } + } } }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", "dev": true }, - "resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", "dev": true }, - "restore-cursor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "unique-filename": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", + "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", "dev": true, "requires": { - "exit-hook": "1.1.1", - "onetime": "1.1.0" + "unique-slug": "2.0.0" } }, - "resumer": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", - "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", + "unique-slug": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", + "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", "dev": true, "requires": { - "through": "2.3.8" + "imurmurhash": "0.1.4" } }, - "revalidator": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", - "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=", - "dev": true - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "align-text": "0.1.4" + "crypto-random-string": "1.0.0" } }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "units-css": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/units-css/-/units-css-0.4.0.tgz", + "integrity": "sha1-1iKGU6UZg9fBb/KPi53Dsf/tOgc=", "dev": true, "requires": { - "glob": "7.1.2" + "isnumeric": "0.2.0", + "viewport-dimensions": "0.2.0" } }, - "ripemd160": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz", - "integrity": "sha1-K/GYveFnys+lHAqSjoS2i74XH84=", + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true }, - "run-async": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", - "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { - "once": "1.4.0" + "has-value": "0.3.1", + "isobject": "3.0.1" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } } }, - "rx-lite": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", - "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", - "dev": true - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "untildify": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz", + "integrity": "sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==", "dev": true }, - "samsam": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz", - "integrity": "sha1-vsEf3IOp/aBjQBIQ5AF2wwJNFWc=", + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", "dev": true }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", "dev": true }, - "schema-utils": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", - "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", - "dev": true, - "requires": { - "ajv": "6.4.0", - "ajv-keywords": "3.2.0" + "update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "dev": true, + "requires": { + "boxen": "1.3.0", + "chalk": "2.4.1", + "configstore": "3.1.2", + "import-lazy": "2.1.0", + "is-ci": "1.1.0", + "is-installed-globally": "0.1.0", + "is-npm": "1.0.0", + "latest-version": "3.1.0", + "semver-diff": "2.1.0", + "xdg-basedir": "3.0.0" }, "dependencies": { - "ajv": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz", - "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1", - "uri-js": "3.0.2" + "color-convert": "1.9.2" } }, - "ajv-keywords": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", - "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } } } }, - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + } + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, - "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", "dev": true, "requires": { - "debug": "2.6.9", - "depd": "1.1.2", - "destroy": "1.0.4", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", - "fresh": "0.5.2", - "http-errors": "1.6.3", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.4.0" + "punycode": "1.3.2", + "querystring": "0.2.0" }, "dependencies": { - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", "dev": true } } }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "url-join": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz", + "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=", + "dev": true + }, + "url-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.0.1.tgz", + "integrity": "sha512-rAonpHy7231fmweBKUFe0bYnlGDty77E+fm53NZdij7j/YOpyGzc7ttqG1nAXl3aRs0k41o0PC3TvGXQiw2Zvw==", "dev": true, "requires": { - "accepts": "1.3.5", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "1.0.3", - "http-errors": "1.6.3", - "mime-types": "2.1.18", - "parseurl": "1.3.2" + "loader-utils": "1.1.0", + "mime": "2.3.1", + "schema-utils": "0.4.5" }, "dependencies": { - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "mime": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", "dev": true } } }, - "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "parseurl": "1.3.2", - "send": "0.16.2" + "prepend-http": "2.0.0" + }, + "dependencies": { + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + } } }, - "set-blocking": { + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", + "dev": true + }, + "urlgrey": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz", + "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "user-home": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", + "dev": true, + "requires": { + "os-homedir": "1.0.2" + } + }, + "useragent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.2.1.tgz", + "integrity": "sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4=", + "dev": true, + "requires": { + "lru-cache": "2.2.4", + "tmp": "0.0.33" + }, + "dependencies": { + "lru-cache": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz", + "integrity": "sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0=", + "dev": true + } + } + }, + "util": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.0.tgz", + "integrity": "sha512-5n12uMzKCjvB2HPFHnbQSjaqAa98L5iIXmHrZCLavuZVe0qe/SJGbDGWlpaHk5lnBkWRDO+dRu1/PgmUYKPPTw==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "set-immediate-shim": { + "utile": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", + "integrity": "sha1-kwyI6ZCY1iIINMNWy9mncFItkNc=", + "dev": true, + "requires": { + "async": "0.2.10", + "deep-equal": "1.0.1", + "i": "0.3.6", + "mkdirp": "0.5.1", + "ncp": "0.4.2", + "rimraf": "2.6.2" + } + }, + "utils-merge": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", "dev": true }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", "dev": true }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "uws": { + "version": "9.14.0", + "resolved": "https://registry.npmjs.org/uws/-/uws-9.14.0.tgz", + "integrity": "sha512-HNMztPP5A1sKuVFmdZ6BPVpBQd5bUjNC8EFMFiICK+oho/OQsAJy5hnIx4btMHiOk8j04f/DbIlqnEZ9d72dqg==", + "dev": true, + "optional": true + }, + "v8-compile-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.0.tgz", + "integrity": "sha512-qNdTUMaCjPs4eEnM3W9H94R3sU70YCuT+/ST7nUf+id1bVOrdjrpUaeZLqPBPRph3hsgn4a4BvwpxhHZx+oSDg==", "dev": true }, - "sha.js": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz", - "integrity": "sha1-F93t3F9yL7ZlAWWIlUYZd4ZzFbo=", + "validate-npm-package-license": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "dev": true, + "requires": { + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true }, - "shelljs": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz", - "integrity": "sha1-7GIRvtGSBEIIj+D3Cyg3Iy7SyKg=", + "vendors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz", + "integrity": "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==", "dev": true }, - "shush": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shush/-/shush-1.0.0.tgz", - "integrity": "sha1-wnQVqeRY8v7TmyfPjrN8ADeCtDE=", + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "caller": "0.0.1", - "strip-json-comments": "0.1.3" - }, - "dependencies": { - "strip-json-comments": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz", - "integrity": "sha1-Fkxk43Coo8wAyeAbU55WmCPw7lQ=", - "dev": true - } + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" } }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "vgl": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/vgl/-/vgl-0.3.10.tgz", + "integrity": "sha1-IUrSkO4n3APHXdMtp76BqzDVgWA=", "dev": true }, - "sinon": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.7.tgz", - "integrity": "sha1-RUKk9JugxFwF6y6d2dID4rjv4L8=", + "viewport-dimensions": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/viewport-dimensions/-/viewport-dimensions-0.2.0.tgz", + "integrity": "sha1-3nQHR9tTh/0XJfUXXpG6x2r982w=", + "dev": true + }, + "vinyl": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", + "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", "dev": true, "requires": { - "formatio": "1.1.1", - "lolex": "1.3.2", - "samsam": "1.1.2", - "util": "0.10.3" + "clone": "1.0.4", + "clone-stats": "0.0.1", + "replace-ext": "0.0.1" } }, - "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", - "dev": true + "vinyl-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-2.0.0.tgz", + "integrity": "sha1-p+v1/779obfRjRQPyweyI++2dRo=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0", + "strip-bom-stream": "2.0.0", + "vinyl": "1.2.0" + } }, - "sntp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", - "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", "dev": true, "requires": { - "hoek": "4.2.1" + "indexof": "0.0.1" } }, - "socket.io": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-1.7.4.tgz", - "integrity": "sha1-L37O3DORvy1cc+KR/iM+bjTU3QA=", + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", "dev": true, "requires": { - "debug": "2.3.3", - "engine.io": "1.8.5", - "has-binary": "0.1.7", - "object-assign": "4.1.0", - "socket.io-adapter": "0.5.0", - "socket.io-client": "1.7.4", - "socket.io-parser": "2.3.1" + "chokidar": "2.0.4", + "graceful-fs": "4.1.11", + "neo-async": "2.5.1" }, "dependencies": { - "debug": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", - "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "requires": { - "ms": "0.7.2" + "micromatch": "3.1.10", + "normalize-path": "2.1.1" } }, - "ms": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, - "object-assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", - "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "chokidar": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", + "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "dev": true, + "requires": { + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.2", + "fsevents": "1.2.4", + "glob-parent": "3.1.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "lodash.debounce": "4.0.8", + "normalize-path": "2.1.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0", + "upath": "1.1.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } } } }, - "socket.io-adapter": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz", - "integrity": "sha1-y21LuL7IHhB4uZZ3+c7QBGBmu4s=", + "webpack": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.12.0.tgz", + "integrity": "sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ==", "dev": true, "requires": { - "debug": "2.3.3", - "socket.io-parser": "2.3.1" + "acorn": "5.7.1", + "acorn-dynamic-import": "2.0.2", + "ajv": "6.5.2", + "ajv-keywords": "3.2.0", + "async": "2.6.1", + "enhanced-resolve": "3.4.1", + "escope": "3.6.0", + "interpret": "1.1.0", + "json-loader": "0.5.7", + "json5": "0.5.1", + "loader-runner": "2.3.0", + "loader-utils": "1.1.0", + "memory-fs": "0.4.1", + "mkdirp": "0.5.1", + "node-libs-browser": "2.1.0", + "source-map": "0.5.7", + "supports-color": "4.5.0", + "tapable": "0.2.8", + "uglifyjs-webpack-plugin": "0.4.6", + "watchpack": "1.6.0", + "webpack-sources": "1.1.0", + "yargs": "8.0.2" }, "dependencies": { - "debug": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", - "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", + "ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", "dev": true, "requires": { - "ms": "0.7.2" + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" } }, - "ms": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", "dev": true - } - } - }, - "socket.io-client": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.7.4.tgz", - "integrity": "sha1-7J+CA1btme9tNX8HVtZIcXvdQoE=", - "dev": true, - "requires": { - "backo2": "1.0.2", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "2.3.3", - "engine.io-client": "1.8.5", - "has-binary": "0.1.7", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseuri": "0.0.5", - "socket.io-parser": "2.3.1", - "to-array": "0.1.4" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, - "debug": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", - "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "ms": "0.7.2" + "lodash": "4.17.10" } }, - "ms": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true - } - } - }, - "socket.io-parser": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz", - "integrity": "sha1-3VMgJRA85Clpcya+/WQAX8/ltKA=", - "dev": true, - "requires": { - "component-emitter": "1.1.2", - "debug": "2.2.0", - "isarray": "0.0.1", - "json3": "3.3.2" - }, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "ms": "0.7.1" + "locate-path": "2.0.0" } }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", "dev": true }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true - } - } - }, - "sockjs": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", - "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", - "dev": true, - "requires": { - "faye-websocket": "0.10.0", - "uuid": "3.2.1" - } - }, - "sockjs-client": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz", - "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", - "dev": true, - "requires": { - "debug": "2.6.9", - "eventsource": "0.1.6", - "faye-websocket": "0.11.1", - "inherits": "2.0.3", - "json3": "3.3.2", - "url-parse": "1.4.0" - }, - "dependencies": { - "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "websocket-driver": "0.7.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" } - } - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "requires": { - "is-plain-obj": "1.1.0" - } - }, - "source-list-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", - "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "spdx-correct": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", - "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", - "dev": true, - "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", - "dev": true - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", - "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", - "dev": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - } - }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", - "dev": true - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, - "stream-browserify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", - "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6" - } - }, - "stream-cache": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stream-cache/-/stream-cache-0.0.2.tgz", - "integrity": "sha1-GsWtaDJCjKVWZ9ve45Xa1ObbEY8=", - "dev": true - }, - "stream-http": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.1.tgz", - "integrity": "sha512-cQ0jo17BLca2r0GfRdZKYAGLU6JRoIWxqSOakUMuKOT6MOK7AAlE856L33QuDmAy/eeOrhLee3dZKX0Uadu93A==", - "dev": true, - "requires": { - "builtin-status-codes": "3.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "to-arraybuffer": "1.0.1", - "xtend": "4.0.1" - } - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - }, - "string-replace-webpack-plugin": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/string-replace-webpack-plugin/-/string-replace-webpack-plugin-0.1.3.tgz", - "integrity": "sha1-c8ZX51nWbP6Arh4M8JGqJW0OcVw=", - "dev": true, - "requires": { - "async": "0.2.10", - "css-loader": "0.9.1", - "file-loader": "0.8.5", - "loader-utils": "0.2.17", - "style-loader": "0.8.3" - }, - "dependencies": { - "css-loader": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.9.1.tgz", - "integrity": "sha1-LhqgDOfjDvLGp6SzAKCAp8l54Nw=", + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, - "optional": true, "requires": { - "csso": "1.3.12", - "loader-utils": "0.2.17", - "source-map": "0.1.43" + "pify": "2.3.0" } }, - "csso": { - "version": "1.3.12", - "resolved": "https://registry.npmjs.org/csso/-/csso-1.3.12.tgz", - "integrity": "sha1-/GKGlKLTiTiqrEmWdTIY/TEc254=", + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, - "optional": true + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + } }, - "file-loader": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.8.5.tgz", - "integrity": "sha1-knXQMf54DyfUf19K8CvUNxPMFRs=", + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, - "optional": true, "requires": { - "loader-utils": "0.2.17" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } } }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1", - "object-assign": "4.1.1" + "has-flag": "2.0.0" } }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "uglifyjs-webpack-plugin": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", + "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", "dev": true, - "optional": true, "requires": { - "amdefine": "1.0.1" + "source-map": "0.5.7", + "uglify-js": "2.8.29", + "webpack-sources": "1.1.0" } }, - "style-loader": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.8.3.tgz", - "integrity": "sha1-9Pkut9tjdodI8VBlzWcA9aHIU1c=", + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", "dev": true, - "optional": true, "requires": { - "loader-utils": "0.2.17" + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" } } } }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "5.1.2" - } - }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "0.2.1" - } - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "4.0.1" - } - }, - "strip-json-comments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", - "dev": true - }, - "style-loader": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.21.0.tgz", - "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "schema-utils": "0.4.5" - } - }, - "stylus": { - "version": "0.54.5", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.5.tgz", - "integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=", + "webpack-addons": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/webpack-addons/-/webpack-addons-1.1.5.tgz", + "integrity": "sha512-MGO0nVniCLFAQz1qv22zM02QPjcpAoJdy7ED0i3Zy7SY1IecgXCm460ib7H/Wq7e9oL5VL6S2BxaObxwIcag0g==", "dev": true, "requires": { - "css-parse": "1.7.0", - "debug": "2.6.9", - "glob": "7.0.6", - "mkdirp": "0.5.1", - "sax": "0.5.8", - "source-map": "0.1.43" + "jscodeshift": "0.4.1" }, "dependencies": { - "glob": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", - "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "ast-types": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.10.1.tgz", + "integrity": "sha512-UY7+9DPzlJ9VM8eY0b2TUZcZvF+1pO0hzMtAyjBYKhOmnvRlqYNYnWdtsMj0V16CGaMlpL0G1jnLbLo4AyotuQ==", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "dev": true + }, + "jscodeshift": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.4.1.tgz", + "integrity": "sha512-iOX6If+hsw0q99V3n31t4f5VlD1TQZddH08xbT65ZqA7T4Vkx68emrDZMUOLVvCEAJ6NpAk7DECe3fjC/t52AQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "async": "1.5.2", + "babel-plugin-transform-flow-strip-types": "6.22.0", + "babel-preset-es2015": "6.24.1", + "babel-preset-stage-1": "6.24.1", + "babel-register": "6.26.0", + "babylon": "6.18.0", + "colors": "1.1.2", + "flow-parser": "0.76.0", + "lodash": "4.17.10", + "micromatch": "2.3.11", + "node-dir": "0.1.8", + "nomnom": "1.8.1", + "recast": "0.12.9", + "temp": "0.8.3", + "write-file-atomic": "1.3.4" } }, - "sax": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", - "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=", - "dev": true - }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "recast": { + "version": "0.12.9", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.12.9.tgz", + "integrity": "sha512-y7ANxCWmMW8xLOaiopiRDlyjQ9ajKRENBH+2wjntIbk3A6ZR1+BLQttkmSHMY7Arl+AAZFwJ10grg2T6f1WI8A==", "dev": true, "requires": { - "amdefine": "1.0.1" + "ast-types": "0.10.1", + "core-js": "2.5.7", + "esprima": "4.0.0", + "private": "0.1.8", + "source-map": "0.6.1" } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, - "stylus-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz", - "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==", - "dev": true, - "requires": { + "webpack-cli": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-2.1.5.tgz", + "integrity": "sha512-CiWQR+1JS77rmyiO6y1q8Kt/O+e8nUUC9YfJ25JtSmzDwbqJV7vIsh3+QKRHVTbTCa0DaVh8iY1LBiagUIDB3g==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "cross-spawn": "6.0.5", + "diff": "3.5.0", + "enhanced-resolve": "4.1.0", + "envinfo": "5.10.0", + "glob-all": "3.1.0", + "global-modules": "1.0.0", + "got": "8.3.2", + "import-local": "1.0.0", + "inquirer": "5.2.0", + "interpret": "1.1.0", + "jscodeshift": "0.5.1", + "listr": "0.14.1", "loader-utils": "1.1.0", - "lodash.clonedeep": "4.5.0", - "when": "3.6.4" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "svgo": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", - "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", - "dev": true, - "requires": { - "coa": "1.0.4", - "colors": "1.1.2", - "csso": "2.3.2", - "js-yaml": "3.7.0", + "lodash": "4.17.10", + "log-symbols": "2.2.0", "mkdirp": "0.5.1", - "sax": "1.2.4", - "whet.extend": "0.9.9" + "p-each-series": "1.0.0", + "p-lazy": "1.0.0", + "prettier": "1.13.7", + "supports-color": "5.4.0", + "v8-compile-cache": "2.0.0", + "webpack-addons": "1.1.5", + "yargs": "11.1.0", + "yeoman-environment": "2.3.0", + "yeoman-generator": "2.0.5" }, "dependencies": { - "js-yaml": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", - "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "ansi-escapes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", + "dev": true + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "2.7.3" + "color-convert": "1.9.2" } - } - } - }, - "table": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", - "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", - "dev": true, - "requires": { - "ajv": "4.11.8", - "ajv-keywords": "1.5.1", - "chalk": "1.1.3", - "lodash": "4.17.10", - "slice-ansi": "0.0.4", - "string-width": "2.1.1" - }, - "dependencies": { - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "2.0.0" + } + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "1.0.4", + "path-key": "2.0.1", + "semver": "5.5.0", + "shebang-command": "1.2.0", + "which": "1.3.1" + } + }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", "dev": true, "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" + "graceful-fs": "4.1.11", + "memory-fs": "0.4.1", + "tapable": "1.0.0" } }, - "ansi-regex": { + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, + "inquirer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", + "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", + "dev": true, + "requires": { + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.10", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rxjs": "5.5.11", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" + } + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "2.0.1", + "signal-exit": "3.0.2" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "2.1.0" + } + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -7987,919 +15461,1144 @@ "requires": { "ansi-regex": "3.0.0" } - } - } - }, - "taffydb": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.7.3.tgz", - "integrity": "sha1-KtNxaWKUmPylvIQkMJbTzeDsOjQ=", - "dev": true - }, - "tapable": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", - "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=", - "dev": true - }, - "tape": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tape/-/tape-2.3.3.tgz", - "integrity": "sha1-Lnzgox3wn41oUWZKcYQuDKUFevc=", - "dev": true, - "requires": { - "deep-equal": "0.1.2", - "defined": "0.0.0", - "inherits": "2.0.3", - "jsonify": "0.0.0", - "resumer": "0.0.0", - "through": "2.3.8" - }, - "dependencies": { - "deep-equal": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.1.2.tgz", - "integrity": "sha1-skbCuApXCkfBG+HZvRBw7IeLh84=", + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "tapable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz", + "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==", "dev": true }, - "defined": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-0.0.0.tgz", - "integrity": "sha1-817qfXBekzuvE7LwOz+D2SFAOz4=", + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true + }, + "yargs": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "dev": true, + "requires": { + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } } } }, - "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.1.tgz", - "integrity": "sha512-PPRybI9+jM5tjtCbN2cxmmRU7YmqT3Zv/UDy48tAh2XRkLa9bAORtSWLkVc13+GJF+cdTh1yEnHEk3cpTaL5Kg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.3.6", - "rimraf": "2.6.2", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tcomb": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tcomb/-/tcomb-2.7.0.tgz", - "integrity": "sha1-ENYpWAQWaaXVNWe5pO6M3iKxwrA=", - "dev": true - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "throttleit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", - "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "time-stamp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz", - "integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=", - "dev": true - }, - "timers-browserify": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", - "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", - "dev": true, - "requires": { - "setimmediate": "1.0.5" - } - }, - "timespan": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz", - "integrity": "sha1-SQLOBAvRPYRcj1myfp1ZutbzmSk=", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "1.0.2" - } - }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - }, - "token-stream": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz", - "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=", - "dev": true - }, - "touch-emulator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/touch-emulator/-/touch-emulator-1.0.0.tgz", - "integrity": "sha1-jLmInzlp4JZqZeoKcV8g7IiNFO0=", - "dev": true - }, - "tough-cookie": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", - "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", - "dev": true, - "requires": { - "punycode": "1.4.1" - } - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "5.1.2" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "webpack-dev-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-2.0.6.tgz", + "integrity": "sha512-tj5LLD9r4tDuRIDa5Mu9lnY2qBBehAITv6A9irqXhw/HQquZgTx3BCd57zYbU2gMDnncA49ufK2qVQSbaKJwOw==", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "loud-rejection": "1.6.0", + "memory-fs": "0.4.1", + "mime": "2.3.1", + "path-is-absolute": "1.0.1", + "range-parser": "1.2.0", + "url-join": "2.0.5", + "webpack-log": "1.2.0" + }, + "dependencies": { + "mime": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "dev": true + } } }, - "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "webpack-hot-client": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-hot-client/-/webpack-hot-client-3.0.0.tgz", + "integrity": "sha512-6k91015hZ4Okkz8u6OzRgJygEL+3J3ay6HVZhWBF3tT2P0rZJ0mgca39dotJxngggUm3S8707c0vrcynn1IzEQ==", "dev": true, "requires": { - "media-typer": "0.3.0", - "mime-types": "2.1.18" + "json-stringify-safe": "5.0.1", + "loglevelnext": "1.0.5", + "strip-ansi": "4.0.0", + "uuid": "3.3.2", + "webpack-log": "1.2.0", + "ws": "4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "ws": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz", + "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", + "dev": true, + "requires": { + "async-limiter": "1.0.0", + "safe-buffer": "5.1.2" + } + } } }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "typeface-lato": { - "version": "0.0.54", - "resolved": "https://registry.npmjs.org/typeface-lato/-/typeface-lato-0.0.54.tgz", - "integrity": "sha512-2/oP5YrXCBSLg+N2ZdWnMbJ0PRIidrJVFHgRoLxo5MNsdu9eE4aBwsoEY/K/+9rKdktGO8zpiXBYPRn9F6U/Sw==", - "dev": true - }, - "uc.micro": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.5.tgz", - "integrity": "sha512-JoLI4g5zv5qNyT09f4YAvEZIIV1oOjqnewYg5D38dkQljIzpPT296dbIGvKro3digYI1bkb7W6EP1y4uDlmzLg==", - "dev": true - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "webpack-log": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", + "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", "dev": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "chalk": "2.4.1", + "log-symbols": "2.2.0", + "loglevelnext": "1.0.5", + "uuid": "3.3.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } } }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true - }, - "uid-number": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", - "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", - "dev": true - }, - "ultron": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", - "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=", - "dev": true - }, - "underscore": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.0.tgz", - "integrity": "sha512-4IV1DSSxC1QK48j9ONFK1MoIAKKkbE8i7u55w2R6IqBqbT7A/iG7aZBCR2Bi8piF0Uz+i/MG1aeqLwl/5vqF+A==", - "dev": true - }, - "underscore-contrib": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz", - "integrity": "sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=", + "webpack-serve": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/webpack-serve/-/webpack-serve-1.0.4.tgz", + "integrity": "sha512-WhI9PMY2YLFliZhDsQFE5Os/On5Py6DGZpeBJyDM8xl0cspxgvXmWFywACn2YWWDgowqIxRqveyGh2RwdFWTNQ==", + "dev": true, + "requires": { + "@shellscape/koa-static": "4.0.5", + "@webpack-contrib/config-loader": "1.2.1", + "chalk": "2.4.1", + "clipboardy": "1.2.3", + "cosmiconfig": "5.0.5", + "debug": "3.1.0", + "find-up": "2.1.0", + "get-port": "3.2.0", + "import-local": "1.0.0", + "killable": "1.0.0", + "koa": "2.5.2", + "koa-webpack": "4.0.0", + "lodash": "4.17.10", + "loud-rejection": "1.6.0", + "meow": "5.0.0", + "nanobus": "4.3.3", + "opn": "5.3.0", + "resolve": "1.8.1", + "time-fix-plugin": "2.0.3", + "update-notifier": "2.5.0", + "url-join": "3.0.0", + "v8-compile-cache": "2.0.0", + "webpack-hot-client": "3.0.0", + "webpack-log": "1.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.2" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "dev": true, + "requires": { + "camelcase": "4.1.0", + "map-obj": "2.0.0", + "quick-lru": "1.1.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" + } + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "dev": true + }, + "meow": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", + "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", + "dev": true, + "requires": { + "camelcase-keys": "4.2.0", + "decamelize-keys": "1.1.0", + "loud-rejection": "1.6.0", + "minimist-options": "3.0.2", + "normalize-package-data": "2.4.0", + "read-pkg-up": "3.0.0", + "redent": "2.0.0", + "trim-newlines": "2.0.0", + "yargs-parser": "10.1.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "1.3.2", + "json-parse-better-errors": "1.0.2" + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "4.0.0", + "normalize-package-data": "2.4.0", + "path-type": "3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "3.0.0" + } + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "dev": true, + "requires": { + "indent-string": "3.2.0", + "strip-indent": "2.0.0" + } + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "requires": { + "path-parse": "1.0.5" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true + }, + "url-join": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-3.0.0.tgz", + "integrity": "sha1-JugROs4ZXqMND8OBhuRUAPnOpnI=", + "dev": true + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + } + } + }, + "webpack-sources": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", "dev": true, "requires": { - "underscore": "1.6.0" + "source-list-map": "2.0.0", + "source-map": "0.6.1" }, "dependencies": { - "underscore": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "when": { + "version": "3.7.8", + "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz", + "integrity": "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=", + "dev": true, + "optional": true + }, + "whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", "dev": true }, - "uniqid": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", - "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "macaddress": "0.2.8" + "isexe": "2.0.0" } }, - "uniqs": { + "which-module": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "units-css": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/units-css/-/units-css-0.4.0.tgz", - "integrity": "sha1-1iKGU6UZg9fBb/KPi53Dsf/tOgc=", + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "requires": { - "isnumeric": "0.2.0", - "viewport-dimensions": "0.2.0" + "string-width": "1.0.2" } }, - "universalify": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", - "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true - }, - "uri-js": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", - "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", + "widest-line": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", + "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "punycode": "2.1.0" + "string-width": "2.1.1" }, "dependencies": { - "punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=", + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } } } }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "winston": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz", + "integrity": "sha1-ZLar9M0Brcrv1QCTk7HY6L7BnbA=", "dev": true, "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" + "async": "0.2.10", + "colors": "0.6.2", + "cycle": "1.0.3", + "eyes": "0.1.8", + "isstream": "0.1.2", + "pkginfo": "0.3.1", + "stack-trace": "0.0.10" }, "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "colors": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", "dev": true } } }, - "url-loader": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.0.1.tgz", - "integrity": "sha512-rAonpHy7231fmweBKUFe0bYnlGDty77E+fm53NZdij7j/YOpyGzc7ttqG1nAXl3aRs0k41o0PC3TvGXQiw2Zvw==", + "with": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/with/-/with-5.1.1.tgz", + "integrity": "sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4=", "dev": true, "requires": { - "loader-utils": "1.1.0", - "mime": "2.3.1", - "schema-utils": "0.4.5" + "acorn": "3.3.0", + "acorn-globals": "3.1.0" }, "dependencies": { - "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", "dev": true } } }, - "url-parse": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.0.tgz", - "integrity": "sha512-ERuGxDiQ6Xw/agN4tuoCRbmwRuZP0cJ1lJxJubXr5Q/5cDa78+Dc4wfvtxzhzhkm5VvmW6Mf8EVj9SPGN4l8Lg==", + "with-callback": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/with-callback/-/with-callback-1.0.2.tgz", + "integrity": "sha1-oJYpuakgAo1yFAT7Q1vc/1yRvCE=", "dev": true, - "requires": { - "querystringify": "2.0.0", - "requires-port": "1.0.0" - }, - "dependencies": { - "querystringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.0.0.tgz", - "integrity": "sha512-eTPo5t/4bgaMNZxyjWx6N2a6AuE0mq51KWvpc7nU/MAqixcI6v6KrGUKES0HaomdnolQBBXU/++X6/QQ9KL4tw==", - "dev": true - } - } + "optional": true }, - "urlgrey": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz", - "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=", + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, - "user-home": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", - "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", + "worker-farm": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", + "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", "dev": true, "requires": { - "os-homedir": "1.0.2" + "errno": "0.1.7" } }, - "useragent": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", - "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "lru-cache": "4.1.2", - "tmp": "0.0.33" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" } }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "inherits": "2.0.1" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - } + "mkdirp": "0.5.1" } }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "write-file-atomic": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", + "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" + } }, - "utile": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", - "integrity": "sha1-kwyI6ZCY1iIINMNWy9mncFItkNc=", + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "dev": true, "requires": { - "async": "0.2.10", - "deep-equal": "1.0.1", - "i": "0.3.6", - "mkdirp": "0.5.1", - "ncp": "0.4.2", - "rimraf": "2.6.2" + "async-limiter": "1.0.0", + "safe-buffer": "5.1.2", + "ultron": "1.1.1" } }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", "dev": true }, - "uuid": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", - "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "xmlbuilder": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-10.0.0.tgz", + "integrity": "sha512-7RWHlmF1yU/E++BZkRQTEv8ZFAhZ+YHINUAxiZ5LQTKRQq//igpiY8rh7dJqPzgb/IzeC5jH9P7OaCERfM9DwA==", "dev": true }, - "validate-npm-package-license": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", - "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "xmlcreate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-1.0.2.tgz", + "integrity": "sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8=", + "dev": true + }, + "xmlhttprequest-ssl": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", + "dev": true + }, + "xregexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", + "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=", "dev": true, - "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" - } + "optional": true }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", "dev": true }, - "vendors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz", - "integrity": "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==", + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" } }, - "vgl": { - "version": "0.3.10", - "resolved": "https://registry.npmjs.org/vgl/-/vgl-0.3.10.tgz", - "integrity": "sha1-IUrSkO4n3APHXdMtp76BqzDVgWA=", - "dev": true - }, - "viewport-dimensions": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/viewport-dimensions/-/viewport-dimensions-0.2.0.tgz", - "integrity": "sha1-3nQHR9tTh/0XJfUXXpG6x2r982w=", - "dev": true + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + } + } }, - "vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", "dev": true, "requires": { - "indexof": "0.0.1" + "fd-slicer": "1.0.1" } }, - "void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", "dev": true }, - "watchpack": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-0.2.9.tgz", - "integrity": "sha1-Yuqkq15bo1/fwBgnVibjwPXj+ws=", + "yeoman-environment": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-2.3.0.tgz", + "integrity": "sha512-PHSAkVOqYdcR+C+Uht1SGC4eVD/9OhygYFkYaI66xF8vKIeS1RNYay+umj2ZrQeJ50tF5Q/RSO6qGDz9y3Ifug==", "dev": true, "requires": { - "async": "0.9.2", - "chokidar": "1.7.0", - "graceful-fs": "4.1.11" + "chalk": "2.4.1", + "cross-spawn": "6.0.5", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "globby": "8.0.1", + "grouped-queue": "0.3.3", + "inquirer": "5.2.0", + "is-scoped": "1.0.0", + "lodash": "4.17.10", + "log-symbols": "2.2.0", + "mem-fs": "1.1.3", + "strip-ansi": "4.0.0", + "text-table": "0.2.0", + "untildify": "3.0.3" }, "dependencies": { - "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "ansi-escapes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", + "dev": true + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "2.0.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "1.0.4", + "path-key": "2.0.1", + "semver": "5.5.0", + "shebang-command": "1.2.0", + "which": "1.3.1" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "globby": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", + "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", + "dev": true, + "requires": { + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "fast-glob": "2.2.2", + "glob": "7.1.2", + "ignore": "3.3.10", + "pify": "3.0.0", + "slash": "1.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "inquirer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", + "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", + "dev": true, + "requires": { + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.10", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rxjs": "5.5.11", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "2.0.1", + "signal-exit": "3.0.2" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "2.1.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } } } }, - "webpack": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-1.15.0.tgz", - "integrity": "sha1-T/MfU9sDM55VFkqdRo7gMklo/pg=", - "dev": true, - "requires": { - "acorn": "3.3.0", - "async": "1.5.2", - "clone": "1.0.4", - "enhanced-resolve": "0.9.1", - "interpret": "0.6.6", - "loader-utils": "0.2.17", - "memory-fs": "0.3.0", - "mkdirp": "0.5.1", - "node-libs-browser": "0.7.0", - "optimist": "0.6.1", - "supports-color": "3.2.3", - "tapable": "0.1.10", - "uglify-js": "2.7.5", - "watchpack": "0.2.9", - "webpack-core": "0.6.9" + "yeoman-generator": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-2.0.5.tgz", + "integrity": "sha512-rV6tJ8oYzm4mmdF2T3wjY+Q42jKF2YiiD0VKfJ8/0ZYwmhCKC9Xs2346HVLPj/xE13i68psnFJv7iS6gWRkeAg==", + "dev": true, + "requires": { + "async": "2.6.1", + "chalk": "2.4.1", + "cli-table": "0.3.1", + "cross-spawn": "6.0.5", + "dargs": "5.1.0", + "dateformat": "3.0.3", + "debug": "3.1.0", + "detect-conflict": "1.0.1", + "error": "7.0.2", + "find-up": "2.1.0", + "github-username": "4.1.0", + "istextorbinary": "2.2.1", + "lodash": "4.17.10", + "make-dir": "1.3.0", + "mem-fs-editor": "4.0.3", + "minimist": "1.2.0", + "pretty-bytes": "4.0.2", + "read-chunk": "2.1.0", + "read-pkg-up": "3.0.0", + "rimraf": "2.6.2", + "run-async": "2.3.0", + "shelljs": "0.8.2", + "text-table": "0.2.0", + "through2": "2.0.3", + "yeoman-environment": "2.3.0" }, "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.2" + } + }, + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "4.17.10" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "1.0.4", + "path-key": "2.0.1", + "semver": "5.5.0", + "shebang-command": "1.2.0", + "which": "1.3.1" + } + }, + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1", - "object-assign": "4.1.1" + "error-ex": "1.3.2", + "json-parse-better-errors": "1.0.2" } }, - "memory-fs": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz", - "integrity": "sha1-e8xrYp46Q+hx1+Kaymrop/FcuyA=", + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "errno": "0.1.7", - "readable-stream": "2.3.6" + "pify": "3.0.0" } }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { - "has-flag": "1.0.0" + "load-json-file": "4.0.0", + "normalize-package-data": "2.4.0", + "path-type": "3.0.0" } }, - "uglify-js": { - "version": "2.7.5", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz", - "integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=", + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", "dev": true, "requires": { - "async": "0.2.10", - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - }, - "dependencies": { - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", - "dev": true - } + "find-up": "2.1.0", + "read-pkg": "3.0.0" } - } - } - }, - "webpack-core": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz", - "integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=", - "dev": true, - "requires": { - "source-list-map": "0.1.8", - "source-map": "0.4.4" - }, - "dependencies": { - "source-list-map": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz", - "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=", - "dev": true }, - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "amdefine": "1.0.1" + "is-promise": "2.1.0" } - } - } - }, - "webpack-dev-middleware": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz", - "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", - "dev": true, - "requires": { - "memory-fs": "0.4.1", - "mime": "1.6.0", - "path-is-absolute": "1.0.1", - "range-parser": "1.2.0", - "time-stamp": "2.0.0" - }, - "dependencies": { - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + }, + "shelljs": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.2.tgz", + "integrity": "sha512-pRXeNrCA2Wd9itwhvLp5LZQvPJ0wU6bcjaTMywHHGX5XWhVN2nzSu7WV0q+oUY7mGK3mgSkDDzP3MgjqdyIgbQ==", + "dev": true, + "requires": { + "glob": "7.1.2", + "interpret": "1.1.0", + "rechoir": "0.6.2" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true - } - } - }, - "webpack-dev-server": { - "version": "1.16.5", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-1.16.5.tgz", - "integrity": "sha1-DL1fLSrI1OWTqs1clwLnu9XlmJI=", - "dev": true, - "requires": { - "compression": "1.7.2", - "connect-history-api-fallback": "1.5.0", - "express": "4.16.3", - "http-proxy-middleware": "0.17.4", - "open": "0.0.5", - "optimist": "0.6.1", - "serve-index": "1.9.1", - "sockjs": "0.3.19", - "sockjs-client": "1.1.4", - "stream-cache": "0.0.2", - "strip-ansi": "3.0.1", - "supports-color": "3.2.3", - "webpack-dev-middleware": "1.12.2" - }, - "dependencies": { + }, "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "3.0.0" } } } }, - "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", - "dev": true, - "requires": { - "http-parser-js": "0.4.12", - "websocket-extensions": "0.1.3" - } - }, - "websocket-extensions": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", - "dev": true - }, - "when": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz", - "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=", - "dev": true - }, - "whet.extend": { - "version": "0.9.9", - "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", - "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", - "dev": true - }, - "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", - "dev": true, - "requires": { - "isexe": "2.0.0" - } - }, - "wide-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", - "dev": true, - "requires": { - "string-width": "1.0.2" - } - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true - }, - "winston": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz", - "integrity": "sha1-ZLar9M0Brcrv1QCTk7HY6L7BnbA=", - "dev": true, - "requires": { - "async": "0.2.10", - "colors": "0.6.2", - "cycle": "1.0.3", - "eyes": "0.1.8", - "isstream": "0.1.2", - "pkginfo": "0.3.1", - "stack-trace": "0.0.10" - }, - "dependencies": { - "colors": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", - "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", - "dev": true - } - } - }, - "with": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/with/-/with-5.1.1.tgz", - "integrity": "sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4=", - "dev": true, - "requires": { - "acorn": "3.3.0", - "acorn-globals": "3.1.0" - }, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", - "dev": true - } - } - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", - "dev": true, - "requires": { - "mkdirp": "0.5.1" - } - }, - "ws": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", - "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", - "dev": true, - "requires": { - "options": "0.0.6", - "ultron": "1.0.2" - } - }, - "wtf-8": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz", - "integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo=", - "dev": true - }, - "xmlbuilder": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-10.0.0.tgz", - "integrity": "sha512-7RWHlmF1yU/E++BZkRQTEv8ZFAhZ+YHINUAxiZ5LQTKRQq//igpiY8rh7dJqPzgb/IzeC5jH9P7OaCERfM9DwA==", - "dev": true - }, - "xmlcreate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-1.0.2.tgz", - "integrity": "sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8=", - "dev": true - }, - "xmlhttprequest-ssl": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz", - "integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0=", - "dev": true - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - }, - "yauzl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", - "dev": true, - "requires": { - "fd-slicer": "1.0.1" - } - }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", + "ylru": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz", + "integrity": "sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==", "dev": true } } diff --git a/package.json b/package.json index 6c302a1ae9..3267f70ee1 100644 --- a/package.json +++ b/package.json @@ -32,11 +32,11 @@ "eslint-plugin-promise": "^1.3.0", "eslint-plugin-standard": "^1.3.2", "exports-loader": "^0.7.0", - "expose-loader": "^0.7.1", + "expose-loader": "^0.7.5", "express": "^4.13.4", "file-loader": "^1.1.11", "forever": "^0.15.2", - "fs-extra": "^5.0.0", + "fs-extra": "^6.0.1", "gl-mat3": "^1.0.0", "gl-mat4": "^1.1.4", "gl-vec2": "^1.0.0", @@ -52,11 +52,10 @@ "js-yaml": "^3.10.0", "jsdoc": "^3.5", "jsdoc-autoprivate": "0.0.1", - "json-loader": "^0.5.4", "jstransformer-markdown-it": "^2.0.0", - "karma": "^0.13.22", + "karma": "^2.0.2", "karma-chrome-launcher": "^2.2.0", - "karma-coverage": "^1.0.0", + "karma-coverage": "^1.1.2", "karma-firefox-launcher": "^1.1.0", "karma-jasmine": "^1.0.2", "karma-jasmine-html-reporter": "^1.1.0", @@ -64,9 +63,9 @@ "karma-sinon": "^1.0.4", "karma-sourcemap-loader": "^0.3.7", "karma-spec-reporter": "^0.0.32", - "karma-webpack": "^1.7.0", + "karma-webpack": "^3.0.0", "kdbush": "^1.0.1", - "marked": "^0.3.12", + "marked": "^0.4.0", "mousetrap": "^1.6.0", "nib": "^1.1.2", "pako": "^1.0.6", @@ -74,7 +73,7 @@ "proj4": "2.3.16", "pug": "^2.0.3", "pug-lint": "^2.4.0", - "pug-loader": "^2.3.0", + "pug-loader": "^2.4.0", "raw-body": "^2.1.6", "resemblejs": "^2.9.0", "sinon": "^1.17.3", @@ -84,10 +83,12 @@ "stylus-loader": "^3.0.2", "touch-emulator": "^1.0.0", "typeface-lato": "^0.0.54", + "uglifyjs-webpack-plugin": "^1.2.5", "url-loader": "^1.0.1", "vgl": "0.3.10", - "webpack": "^1.12.14", - "webpack-dev-server": "^1.14.1", + "webpack": "^3.12.0", + "webpack-cli": "^2.1.3", + "webpack-serve": "^1.0.2", "xmlbuilder": "^10.0.0" }, "scripts": { diff --git a/webpack-examples.config.js b/webpack-examples.config.js index ce96b1f40b..a037bceaca 100644 --- a/webpack-examples.config.js +++ b/webpack-examples.config.js @@ -5,51 +5,55 @@ var path = require('path'); var base = require('./webpack.config'); var external = require('./external.config'); -var loaders = base.module.loaders.concat([{ +var rules = base.module.rules.concat([{ test: /\.pug$/, - loader: 'pug' + use: ['pug-loader'] }, { test: /\.(woff|woff2)(\?v=\d+\.\d+\.\d+)?$/, - loader: 'url?limit=10000&mimetype=application/font-woff' + use: ['url-loader?limit=10000&mimetype=application/font-woff'] }, { test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, - loader: 'url?limit=10000&mimetype=application/octet-stream' + use: ['url-loader?limit=10000&mimetype=application/octet-stream'] }, { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, - loader: 'file' + use: ['file-loader'] }, { test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, - loader: 'url?limit=10000&mimetype=image/svg+xml' + use: ['url-loader?limit=10000&mimetype=image/svg+xml'] }, { test: require.resolve('codemirror'), - loader: 'expose?CodeMirror' + use: ['expose-loader?CodeMirror'] }, { test: /jsonlint\.js$/, - loader: 'expose?jsonlint' + use: ['expose-loader?jsonlint'] }, { test: require.resolve('colorbrewer'), - loader: 'expose?colorbrewer' + use: ['expose-loader?colorbrewer'] }, { test: /bootstrap.css$/, - loader: StringReplacePlugin.replace({ + use: [StringReplacePlugin.replace({ replacements: [{ pattern: /@import.*fonts.googleapis.com\/css\?family=Lato[^;]*;/g, replacement: () => '@import url(../../typeface-lato/index.css);' }] - }) + })] }]); -loaders = loaders.concat(external.module.loaders); +rules = rules.concat(external.module.rules); -var plugins = base.exposed_plugins; +var plugins = base.plugins; plugins.push(new StringReplacePlugin()); var resolve = { - extensions: ['.js', '.css', '.pug', ''], + extensions: ['.js', '.css', '.pug'], alias: base.resolve.alias }; module.exports = { + /* webpack 4 + mode: 'production', + */ + performance: {hints: false}, cache: true, devtool: 'source-map', context: path.join(__dirname), @@ -62,7 +66,7 @@ module.exports = { filename: '[name].js' }, module: { - loaders: loaders + rules: rules }, resolve: resolve, plugins: plugins diff --git a/webpack-tutorials.config.js b/webpack-tutorials.config.js index 4829f37c17..383cc1ace1 100644 --- a/webpack-tutorials.config.js +++ b/webpack-tutorials.config.js @@ -5,27 +5,27 @@ var path = require('path'); var base = require('./webpack.config'); var external = require('./external.config'); -var loaders = base.module.loaders.concat([{ +var rules = base.module.rules.concat([{ test: /\.pug$/, - loader: 'pug' + use: ['pug-loader'] }, { test: /\.(woff|woff2)(\?v=\d+\.\d+\.\d+)?$/, - loader: 'url?limit=10000&mimetype=application/font-woff' + use: ['url-loader?limit=10000&mimetype=application/font-woff'] }, { test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, - loader: 'url?limit=10000&mimetype=application/octet-stream' + use: ['url-loader?limit=10000&mimetype=application/octet-stream'] }, { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, - loader: 'file' + use: ['file-loader'] }, { test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, - loader: 'url?limit=10000&mimetype=image/svg+xml' + use: ['url-loader?limit=10000&mimetype=image/svg+xml'] }, { test: require.resolve('codemirror'), - loader: 'expose?CodeMirror' + use: ['expose-loader?CodeMirror'] }, { test: /bootstrap.css$/, - loader: StringReplacePlugin.replace({ + use: StringReplacePlugin.replace({ replacements: [{ pattern: /@import.*fonts.googleapis.com\/css\?family=Lato[^;]*;/g, replacement: () => '@import url(../../typeface-lato/index.css);' @@ -33,17 +33,21 @@ var loaders = base.module.loaders.concat([{ }) }]); -loaders = loaders.concat(external.module.loaders); +rules = rules.concat(external.module.rules); -var plugins = base.exposed_plugins; +var plugins = base.plugins; plugins.push(new StringReplacePlugin()); var resolve = { - extensions: ['.js', '.css', '.pug', ''], + extensions: ['.js', '.css', '.pug'], alias: base.resolve.alias }; module.exports = { + /* webpack 4 + mode: 'production', + */ + performance: {hints: false}, cache: true, devtool: 'source-map', context: path.join(__dirname), @@ -56,7 +60,7 @@ module.exports = { filename: '[name].js' }, module: { - loaders: loaders + rules: rules }, resolve: resolve, plugins: plugins diff --git a/webpack.config.js b/webpack.config.js index 9807e5291e..8edc7e9a3c 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,6 +1,7 @@ var path = require('path'); var webpack = require('webpack'); var exec = require('child_process').execSync; +var UglifyJsPlugin = require('uglifyjs-webpack-plugin'); var sha = ''; if (!exec) { @@ -19,6 +20,12 @@ var define_plugin = new webpack.DefinePlugin({ }); module.exports = { + /* webpack 4 + mode: 'production', + */ + performance: {hints: false}, + cache: true, + devtool: 'source-map', context: path.join(__dirname, 'src'), entry: { geo: './index.js', @@ -54,31 +61,54 @@ module.exports = { } }, plugins: [ - define_plugin, - new webpack.optimize.UglifyJsPlugin({ + /* webpack 3 */ + new UglifyJsPlugin({ include: /\.min\.js$/, - minimize: true, - comments: /@(license|copyright)/ - }) + parallel: true, + uglifyOptions: { + compress: true, + comments: /@(license|copyright)/ + }, + sourceMap: true + }), + /* end webpack 3 */ + define_plugin ], + /* webpack 4 + optimization: { + minimizer: [ + new UglifyJsPlugin({ + include: /\.min\.js$/, + parallel: true, + uglifyOptions: { + compress: true, + comments: /@(license|copyright)/ + }, + sourceMap: true + }) + ] + }, + */ module: { - loaders: [{ - test: /\.json$/, - loader: 'json-loader' - }, { + rules: [{ test: /\.styl$/, - loader: 'style-loader!css-loader!stylus-loader' + use: [ + 'style-loader', + 'css-loader', + 'stylus-loader' + ] }, { test: /\.css$/, - loader: 'style-loader!css-loader' + use: [ + 'style-loader', + 'css-loader' + ] }, { test: /vgl\.js$/, - loader: 'expose?vgl!imports?mat4=gl-mat4,vec4=gl-vec4,vec3=gl-vec3,vec2=gl-vec2,$=jquery' + use: [ + 'expose-loader?vgl', + 'imports-loader?mat4=gl-mat4,vec4=gl-vec4,vec3=gl-vec3,vec2=gl-vec2,$=jquery' + ] }] - }, - - // These are plugins that we want to run in Karma as well - exposed_plugins: [ - define_plugin - ] + } };