diff --git a/assets/css/font.css b/assets/css/font.css deleted file mode 100644 index ec3552b0359e0e26812384b3f13c11b1294a24d6..0000000000000000000000000000000000000000 --- a/assets/css/font.css +++ /dev/null @@ -1,74 +0,0 @@ -/* Fonts */ -@font-face { - font-family: "LatoRegular"; - src: url("../fonts/Lato/LatoRegular/LatoRegular.eot"); - src: url("../fonts/Lato/LatoRegular/LatoRegular.eot?#iefix") format("embedded-opentype"), - url("../fonts/Lato/LatoRegular/LatoRegular.woff") format("woff"), - url("../fonts/Lato/LatoRegular/LatoRegular.ttf") format("truetype"); - font-style: normal; - font-weight: normal; -} - -@font-face { - font-family: "LatoBold"; - src: url("../fonts/Lato/LatoBold/LatoBold.eot"); - src: url("../fonts/Lato/LatoBold/LatoBold.eot?#iefix") format("embedded-opentype"), - url("../fonts/Lato/LatoBold/LatoBold.woff") format("woff"), - url("../fonts/Lato/LatoBold/LatoBold.ttf") format("truetype"); - font-style: normal; - font-weight: normal; -} - -@font-face { - font-family: "LatoItalic"; - src: url("../fonts/Lato/LatoItalic/LatoItalic.eot"); - src: url("../fonts/Lato/LatoItalic/LatoItalic.eot?#iefix") format("embedded-opentype"), - url("../fonts/Lato/LatoItalic/LatoItalic.woff") format("woff"), - url("../fonts/Lato/LatoItalic/LatoItalic.ttf") format("truetype"); - font-style: normal; - font-weight: normal; -} - -@font-face { - font-family: "LatoLight"; - src: url("../fonts/Lato/LatoLight/LatoLight.eot"); - src: url("../fonts/Lato/LatoLight/LatoLight.eot?#iefix") format("embedded-opentype"), - url("../fonts/Lato/LatoLight/LatoLight.woff") format("woff"), - url("../fonts/Lato/LatoLight/LatoLight.ttf") format("truetype"); - font-style: normal; - font-weight: normal; -} - -@font-face { - font-family: "LatoBoldItalic"; - src: url("../fonts/Lato/LatoBoldItalic/LatoBoldItalic.eot"); - src: url("../fonts/Lato/LatoBoldItalic/LatoBoldItalic.eot?#iefix") format("embedded-opentype"), - url("../fonts/Lato/LatoBoldItalic/LatoBoldItalic.woff") format("woff"), - url("../fonts/Lato/LatoBoldItalic/LatoBoldItalic.ttf") format("truetype"); - font-style: normal; - font-weight: normal; -} - -@font-face { - font-family: "LatoLightItalic"; - src: url("../fonts/Lato/LatoLightItalic/LatoLightItalic.eot"); - src: url("../fonts/Lato/LatoLightItalic/LatoLightItalic.eot?#iefix") format("embedded-opentype"), - url("../fonts/Lato/LatoLightItalic/LatoLightItalic.woff") format("woff"), - url("../fonts/Lato/LatoLightItalic/LatoLightItalic.ttf") format("truetype"); - font-style: normal; - font-weight: normal; -} - - -@font-face { - font-family: 'AvenirRoman'; - src: url('../fonts/Avenir/AvenirLTStd-Roman.woff') format('woff'); /* Pretty Modern Browsers */ - font-style: normal; - font-weight: normal; -} -@font-face { - font-family: 'AvenirBlack'; - src: url('../fonts/Avenir/AvenirLTStd-Black.woff') format('woff'); /* Pretty Modern Browsers */ - font-style: normal; - font-weight: normal; -} \ No newline at end of file diff --git a/assets/css/global.css b/assets/css/global.css deleted file mode 100644 index 3f13e91857f3a033615bd572b91c747a9e628bc0..0000000000000000000000000000000000000000 --- a/assets/css/global.css +++ /dev/null @@ -1,79 +0,0 @@ -/* global-new */ - -html, -body { - font-size: 16px; - -webkit-font-smoothing: antialiased -} -html > *, -.pure-g [class *= "pure-u"] { - font-family: LatoRegular; - color: #4c4e52 -} - -h1 { - font-size: 48px; - font-weight: 100; - margin: 0 -} -p { - font-size: 14px; - line-height: 1.5em -} -a { - text-decoration: none; - color: #3591ff -} -.text-center { - text-align: center -} -.text-right { - text-align: right -} -.base-container { - width: 1366px; - max-width: 1366px; - min-width: 1366px; - height: 900px; - margin: 0 auto -} -.btn { - display: block; - background-color: #c90010; - border: none; - outline: none; - -webkit-border-radius: 26px; - -moz-border-radius: 26px; - border-radius: 26px; - -webkit-box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.4); - -moz-box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.4); - box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.4); - text-align: center; - text-transform: uppercase; - text-decoration: none; - color: #fff; - height: 52px; - font-size: 24px; - line-height: 50px; -} -.btn.disabled { - background-color: #34373c; - border: none; - outline: none; - color: #777 -} -#logo { - margin: 21px 32px 14px 32px; - background: url("../img/logo.png") no-repeat; - width: 164px; - height: 22px -} -.overlay { - position: fixed; - top: 0; - left: 0; - background: rgba(0, 0, 0, 1); - z-index: 5; - width: 100%; - height: 100%; -} \ No newline at end of file diff --git a/assets/css/index.css b/assets/css/index.css deleted file mode 100644 index a63fbb6f9b0ffa9eefa677c48da95e39f0535ab2..0000000000000000000000000000000000000000 --- a/assets/css/index.css +++ /dev/null @@ -1,3 +0,0 @@ -:global { - @import -} \ No newline at end of file diff --git a/assets/fonts/Avenir/AvenirLTStd-Black.woff b/assets/fonts/Avenir/AvenirLTStd-Black.woff deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Avenir/AvenirLTStd-Heavy.woff b/assets/fonts/Avenir/AvenirLTStd-Heavy.woff deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Avenir/AvenirLTStd-Light.woff b/assets/fonts/Avenir/AvenirLTStd-Light.woff deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Avenir/AvenirLTStd-Medium.woff b/assets/fonts/Avenir/AvenirLTStd-Medium.woff deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Avenir/AvenirLTStd-Roman.woff b/assets/fonts/Avenir/AvenirLTStd-Roman.woff deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Lato/LatoBold/LatoBold.eot b/assets/fonts/Lato/LatoBold/LatoBold.eot deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Lato/LatoBold/LatoBold.ttf b/assets/fonts/Lato/LatoBold/LatoBold.ttf deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Lato/LatoBold/LatoBold.woff b/assets/fonts/Lato/LatoBold/LatoBold.woff deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Lato/LatoBoldItalic/LatoBoldItalic.eot b/assets/fonts/Lato/LatoBoldItalic/LatoBoldItalic.eot deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Lato/LatoBoldItalic/LatoBoldItalic.ttf b/assets/fonts/Lato/LatoBoldItalic/LatoBoldItalic.ttf deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Lato/LatoBoldItalic/LatoBoldItalic.woff b/assets/fonts/Lato/LatoBoldItalic/LatoBoldItalic.woff deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Lato/LatoItalic/LatoItalic.eot b/assets/fonts/Lato/LatoItalic/LatoItalic.eot deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Lato/LatoItalic/LatoItalic.ttf b/assets/fonts/Lato/LatoItalic/LatoItalic.ttf deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Lato/LatoItalic/LatoItalic.woff b/assets/fonts/Lato/LatoItalic/LatoItalic.woff deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Lato/LatoLight/LatoLight.eot b/assets/fonts/Lato/LatoLight/LatoLight.eot deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Lato/LatoLight/LatoLight.ttf b/assets/fonts/Lato/LatoLight/LatoLight.ttf deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Lato/LatoLight/LatoLight.woff b/assets/fonts/Lato/LatoLight/LatoLight.woff deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Lato/LatoLightItalic/LatoLightItalic.eot b/assets/fonts/Lato/LatoLightItalic/LatoLightItalic.eot deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Lato/LatoLightItalic/LatoLightItalic.ttf b/assets/fonts/Lato/LatoLightItalic/LatoLightItalic.ttf deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Lato/LatoLightItalic/LatoLightItalic.woff b/assets/fonts/Lato/LatoLightItalic/LatoLightItalic.woff deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Lato/LatoRegular/LatoRegular.eot b/assets/fonts/Lato/LatoRegular/LatoRegular.eot deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Lato/LatoRegular/LatoRegular.ttf b/assets/fonts/Lato/LatoRegular/LatoRegular.ttf deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/fonts/Lato/LatoRegular/LatoRegular.woff b/assets/fonts/Lato/LatoRegular/LatoRegular.woff deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/img/contact_photo.png b/assets/img/contact_photo.png deleted file mode 100644 index fde119b49e477e151acd6dd6032716e4351c7f4b..0000000000000000000000000000000000000000 Binary files a/assets/img/contact_photo.png and /dev/null differ diff --git a/assets/themes/index.scss b/assets/themes/index.scss deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assets/vendor/n2o/bert.js b/assets/vendor/n2o/bert.js deleted file mode 100644 index e831bed5891c246e0ab31c34149b51e23b80498a..0000000000000000000000000000000000000000 --- a/assets/vendor/n2o/bert.js +++ /dev/null @@ -1,85 +0,0 @@ -try { module.exports = { dec: dec, enc: enc }; } catch (e) { } - -// BERT Encoder - -function uc(u1, u2) { - if (u1.byteLength == 0) return u2; if (u2.byteLength == 0) return u1; - var a = new Uint8Array(u1.byteLength + u2.byteLength); - a.set(u1, 0); a.set(u2, u1.byteLength); return a; -}; -function ar(o) { - return o.v instanceof ArrayBuffer ? new Uint8Array(o.v) : o.v instanceof Uint8Array ? o.v : - Array.isArray(o.v) ? new Uint8Array(o.v) : new Uint8Array(utf8_toByteArray(o.v).v); -} -function fl(a) { - return a.reduce(function (f, t) { - return uc(f, t instanceof Uint8Array ? t : - Array.isArray(t) ? fl(t) : new Uint8Array([t])); - }, new Uint8Array()); -} -function atom(o) { return { t: 100, v: utf8_toByteArray(o).v }; } -function bin(o) { - return { - t: 109, v: o instanceof ArrayBuffer ? - new Uint8Array(o) : o instanceof Uint8Array ? o : utf8_toByteArray(o).v - }; -} -function tuple() { return { t: 104, v: Array.apply(null, arguments) }; } -function list() { return { t: 108, v: Array.apply(null, arguments) }; } -function number(o) { return { t: 98, v: o }; } -function enc(o) { return fl([131, ein(o)]); } -function ein(o) { return Array.isArray(o) ? en_108({ t: 108, v: o }) : eval('en_' + o.t)(o); } -function en_undefined(o) { return [106]; } -function en_98(o) { return [98, o.v >>> 24, (o.v >>> 16) & 255, (o.v >>> 8) & 255, o.v & 255]; } -function en_97(o) { return [97, o.v]; } -function en_106(o) { return [106]; } -function en_100(o) { return [100, o.v.length >>> 8, o.v.length & 255, ar(o)]; } -function en_107(o) { return [107, o.v.length >>> 8, o.v.length & 255, ar(o)]; } -function en_104(o) { - var l = o.v.length, r = []; - for (var i = 0; i < l; i++)r[i] = ein(o.v[i]); return [104, l, r]; -} -function en_109(o) { - var l = o.v instanceof ArrayBuffer ? o.v.byteLength : o.v.length; - return [109, l >>> 24, (l >>> 16) & 255, (l >>> 8) & 255, l & 255, ar(o)]; -} -function en_108(o) { - var l = o.v.length, r = []; for (var i = 0; i < l; i++)r.push(ein(o.v[i])); - return o.v.length == 0 ? [106] : [108, l >>> 24, (l >>> 16) & 255, (l >>> 8) & 255, l & 255, r, 106]; -} - -// BERT Decoder - -function nop(b) { return []; }; -function big(b) { - var sk = b == 1 ? sx.getUint8(ix++) : sx.getInt32((a = ix, ix += 4, a)); - var ret = 0, sig = sx.getUint8(ix++), count = sk; - while (count-- > 0) { - ret = 256 * ret + sx.getUint8(ix + count) - } - ix += sk; - return ret * (sig == 0 ? 1 : -1); -} -function int(b) { return b == 1 ? sx.getUint8(ix++) : sx.getInt32((a = ix, ix += 4, a)); }; -function dec(d) { - sx = new DataView(d); ix = 0; if (sx.getUint8(ix++) !== 131) - throw ("BERT?"); return din(); -}; -function str(b) { - var dv, sz = (b == 2 ? sx.getUint16(ix) : sx.getInt32(ix)); ix += b; - var r = sx.buffer.slice(ix, ix += sz); return b == 2 ? utf8_dec(r) : r; -}; -function run(b) { - var sz = (b == 1 ? sx.getUint8(ix) : sx.getUint32(ix)), r = []; ix += b; - for (var i = 0; i < sz; i++) r.push(din()); if (b == 4) ix++; return r; -}; -function din() { - var c = sx.getUint8(ix++), x; switch (c) { - case 97: x = [int, 1]; break; - case 98: x = [int, 4]; break; case 100: x = [str, 2]; break; - case 110: x = [big, 1]; break; case 111: x = [big, 4]; break; - case 104: x = [run, 1]; break; case 107: x = [str, 2]; break; - case 108: x = [run, 4]; break; case 109: x = [str, 4]; break; - default: x = [nop, 0]; - } return { t: c, v: x[0](x[1]) }; -}; diff --git a/assets/vendor/n2o/bullet.js b/assets/vendor/n2o/bullet.js deleted file mode 100644 index 7a1428338e7c17a4ada3eec741efb07ae3ccc788..0000000000000000000000000000000000000000 --- a/assets/vendor/n2o/bullet.js +++ /dev/null @@ -1,35 +0,0 @@ - -// WebSocket Transport - -$ws = { heart: true, interval: 4000, - creator: function(url) { return window.WebSocket ? new window.WebSocket(url) : false; }, - onheartbeat: function() { // this.channel.send('PING'); - } }; - -// N2O Reliable Connection - -$conn = { onopen: nop, onmessage: nop, onclose: nop, onconnect: nop, - send: function(data) { if (this.port.channel) this.port.channel.send(data); }, - close: function() { if (this.port.channel) this.port.channel.close(); } }; - -ct = 0; -transports = [ $ws ]; -heartbeat = null; -reconnectDelay = 1000; -maxReconnects = 100; - -function nop() { } -function bullet(url) { $conn.url = url; return $conn; } -function xport() { return maxReconnects <= ct ? false : transports[ct++ % transports.length]; } -function reconnect() { setTimeout(function() { connect(); }, reconnectDelay); } -function next() { $conn.port = xport(); return $conn.port ? connect() : false; } -function connect() { - $conn.port.channel = $conn.port.creator($conn.url); - if (!$conn.port.channel) return next(); - $conn.port.channel.onmessage = function(e) { $conn.onmessage(e); }; - $conn.port.channel.onopen = function() { - if ($conn.port.heart) heartbeat = setInterval(function(){$conn.port.onheartbeat();}, $conn.port.interval); - $conn.onopen(); - $conn.onconnect(); }; - $conn.port.channel.onclose = function() { $conn.onclose(); clearInterval(heartbeat); reconnect(); }; - return $conn; } diff --git a/assets/vendor/n2o/ftp.js b/assets/vendor/n2o/ftp.js deleted file mode 100644 index 6970b214ffd6dfb7a3109e12aec8f514572deef1..0000000000000000000000000000000000000000 --- a/assets/vendor/n2o/ftp.js +++ /dev/null @@ -1,85 +0,0 @@ -try { module.exports = { ftp: ftp }; } catch (e) { } - -// N2O File Transfer Protocol - -var ftp = { - queue: [], - init: function (file) { - var item = { - id: performance.now().toString(), - status: 'init', - autostart: ftp.autostart || false, - name: ftp.filename || file.name, - sid: ftp.sid || token(), - meta: ftp.meta || bin(client()), - offset: ftp.offset || 0, - block: 1, - total: file.size, - file: file - }; - ftp.queue.push(item); - ftp.send(item, '', 1); - return item.id; - }, - start: function (id) { - if (ftp.active) { id && (ftp.item(id).autostart = true); return false; } - var item = id ? ftp.item(id) : ftp.next(); - if (item) { ftp.active = true; ftp.send_slice(item); } - }, - stop: function (id) { - var item = ftp.item(id); - var index = ftp.queue.indexOf(item); - ftp.queue.splice(index, 1); - ftp.active = false; - ftp.start(); - }, - send: function (item, data) { - wsn.send(enc(tuple(atom('ftp'), - bin(item.id), - bin(item.sid), - bin(item.name), - item.meta, - number(item.total), - number(item.offset), - number(item.block || data.byteLength), - bin(data), - bin(item.status || 'send') - ))); - }, - send_slice: function (item) { - this.reader = new FileReader(); - this.reader.onloadend = function (e) { - var res = e.target, data = e.target.result; - if (res.readyState === FileReader.DONE && data.byteLength > 0) { - console.log(item); - ftp.send(item, data); - } - }; - this.reader.readAsArrayBuffer(item.file.slice(item.offset, item.offset + item.block)); - }, - item: function (id) { return ftp.queue.find(function (item) { return item && item.id === id; }); }, - next: function () { return ftp.queue.find(function (next) { return next && next.autostart }); } -}; - -$file.do = function (rsp) { - var offset = rsp.v[6].v, block = rsp.v[7].v, status = utf8_dec(rsp.v[9].v); - switch (status) { - case 'init': - if(block == 1) return; - var item = ftp.item(utf8_dec(rsp.v[1].v)) || '0'; - item.offset = offset; - item.block = block; - item.name = utf8_dec(rsp.v[3].v); - item.status = undefined; - if (item.autostart) ftp.start(item.id); - break; - case 'send': - var x = qi('ftp_status'); if (x) x.innerHTML = offset; - var item = ftp.item(utf8_dec(rsp.v[1].v)); - item.offset = offset; - item.block = block; - (block > 0 && ftp.active) ? ftp.send_slice(item) : ftp.stop(item.id) - break; - case 'relay': debugger; if (typeof ftp.relay === 'function') ftp.relay(rsp); break; - } -}; diff --git a/assets/vendor/n2o/mq.js b/assets/vendor/n2o/mq.js deleted file mode 100644 index 09699d51433ea00ca9c7cce9fca3fdd53d79ec2a..0000000000000000000000000000000000000000 --- a/assets/vendor/n2o/mq.js +++ /dev/null @@ -1,56 +0,0 @@ -var match, pl = /\+/g, search = /([^&=]+)=?([^&]*)/g, - decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); }, - query = window.location.search.substring(1), - nodes = 4, - params = {}; while (match = search.exec(query)) params[decode(match[1])] = decode(match[2]); -var l = location.pathname, - x = l.substring(l.lastIndexOf("/") + 1), - ll = x.lastIndexOf("."), - module = x == "" ? "index" : (ll > 0 ? x.substring(0, ll) : x); -var ws = { send: function (payload, qos) { - var message = new Paho.MQTT.Message(payload); - message.destinationName = topic("events"); - message.qos = qos || 2; - mqtt.send(message); } }; - -var subscribeOptions = { - qos: 2, // QoS - invocationContext: { foo: true }, // Passed to success / failure callback - onSuccess: function (x) { console.log("N2O Subscribed"); }, - onFailure: function (m) { console.log("N2O Subscription failed: " + m.errorMessage); }, - timeout: 2 }; - -var options = { - timeout: 2, - userName: module, - password: token(), - cleanSession: false, - onFailure: function (m) { console.log("N2O Connection failed: " + m.errorMessage); }, - onSuccess: function () { console.log("N2O Connected "); - ws.send(enc(tuple(atom('init'),bin(token())))); - } }; - -function gen_client() { return Math.random().toString(36).substring(2) + (new Date()).getTime().toString(36); } -function pageModule() { return module || 'api'; } -function client() { var c = localStorage.getItem("client"), a; - if (null == c) { c = 'emqttd_' + gen_client(); } - localStorage.setItem("client", c); return c; } -function token() { return localStorage.getItem("token") || ''; }; -function topic(prefix) { return prefix + "/1/" + rnd() + "/" + pageModule() + "/anon/" + client() + "/" + token(); } -function rnd() { return Math.floor((Math.random() * nodes)+1); } - - mqtt = new Paho.MQTT.Client(host, 8083, client()); - mqtt.onConnectionLost = function (o) { console.log("connection lost: " + o.errorMessage); }; - mqtt.onMessageArrived = function (m) { - var BERT = m.payloadBytes.buffer.slice(m.payloadBytes.byteOffset, - m.payloadBytes.byteOffset + m.payloadBytes.length); - try { - erlang = dec(BERT); - for (var i = 0; i < $bert.protos.length; i++) { - p = $bert.protos[i]; if (p.on(erlang, p.do).status == "ok") return; - } - } catch (e) { console.log(e); } - }; - -mqtt.connect(options); - diff --git a/assets/vendor/n2o/n2o.js b/assets/vendor/n2o/n2o.js deleted file mode 100644 index ed7029398dcd4cb558849d10b44e10d35fc62925..0000000000000000000000000000000000000000 --- a/assets/vendor/n2o/n2o.js +++ /dev/null @@ -1,65 +0,0 @@ - -// N2O CORE - -var active = false, - debug = false, - session = "site-sid", - protocol = window.location.protocol == 'https:' ? "wss://" : "ws://", - querystring = window.location.pathname + window.location.search, - host = window.location.hostname; - -function qi(name) { return document.getElementById(name); } -function qs(name) { return document.querySelector(name); } -function qn(name) { return document.createElement(name); } -function is(x, num, name) { return x == undefined ? false : (x.t == 106 ? false : (x.v.length === num && x.v[0].v === name)); } -function co(name) { match = document.cookie.match(new RegExp(name + '=([^;]+)')); return match ? match[1] : undefined; } - -function N2O_start() { - wsn = new bullet(protocol + host + (port==""?"":":"+port) + "/ws" + querystring); - wsn.onmessage = function (evt) { // formatters loop - for (var i=0;i 0 || evt.data.size > 0)) { - var r = new FileReader(); - r.addEventListener("loadend", function () { - try { - erlang = dec(r.result); - if (typeof cb == 'function') cb(erlang); - for (var i = 0; i < $bert.protos.length; i++) { - p = $bert.protos[i]; if (p.on(erlang, p.do).status == "ok") return; - } - } catch (e) { console.log(e); } - }); - r.readAsArrayBuffer(evt.data); - return { status: "ok" }; - } else return { status: "error", desc: "data" }; -} - -var protos = [$bert]; diff --git a/assets/vendor/n2o/nitrogen.js b/assets/vendor/n2o/nitrogen.js deleted file mode 100644 index 23775beda33a74660557f546ecf8eb87453cbb35..0000000000000000000000000000000000000000 --- a/assets/vendor/n2o/nitrogen.js +++ /dev/null @@ -1,37 +0,0 @@ -// Nitrogen Compatibility Layer - -function validateSources() { return true; } - -function querySourceRaw(Id) { - var val, el = document.getElementById(Id); - if (!el) return ""; - switch (el.tagName) { - case 'FIELDSET': val = document.querySelector('[id="' + Id + '"] :checked'); - val = val ? val.value : ""; break; - case 'INPUT': - switch (el.getAttribute("type")) { - case 'radio': case 'checkbox': val = el.checked ? el.value : ""; break; - case 'date': val = new Date(Date.parse(el.value)) || ""; break; - case 'calendar': val = pickers[el.id]._d || ""; break; //only 4 nitro #calendar{} - default: var edit = el.contentEditable; - if (edit && edit === 'true') val = el.innerHTML; - else val = el.value; - } - break; - default: var edit = el.contentEditable; - if (edit && edit === 'true') val = el.innerHTML; - else val = el.value; - } - return val; -} - -function querySource(Id) { - var qs = querySourceRaw(Id); - if (qs instanceof Date) { return tuple(number(qs.getFullYear()), number(qs.getMonth() + 1), number(qs.getDate())); } - else { return bin(qs); } -} - -(function () { - window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || - window.webkitRequestAnimationFrame || window.msRequestAnimationFrame; -})(); diff --git a/assets/vendor/n2o/utf8.js b/assets/vendor/n2o/utf8.js deleted file mode 100644 index c06948318f032cddadef2fc661bea8cc6660ea99..0000000000000000000000000000000000000000 --- a/assets/vendor/n2o/utf8.js +++ /dev/null @@ -1,6 +0,0 @@ -try { module.exports = { dec: utf8_dec, enc: utf8_toByteArray }; } catch (e) { } - -// N2O UTF-8 Support -function utf8_toByteArray(str) { return { t: 107, v: (new TextEncoder("utf-8")).encode(str) }; }; -function utf8_dec(ab) { if (!(ab instanceof ArrayBuffer)) ab = new Uint8Array(utf8_toByteArray(ab).v).buffer; - return (new TextDecoder()).decode(ab); } diff --git a/assets/vendor/utils/dashboard.js b/assets/vendor/utils/dashboard.js deleted file mode 100644 index 0fb827003e4989ec3e1fb6e1bfc3983b7ce30d2e..0000000000000000000000000000000000000000 --- a/assets/vendor/utils/dashboard.js +++ /dev/null @@ -1,1774 +0,0 @@ -var recorder, - audio_context, - DashboardWidget, - ChatListWidget, - ProfileViewWidget, - ContactsWidget, - ContactRequestsWidget, - AddContactWidget, - ChatAreaWidget; - -(function () { - var el, t; - DashboardWidget = { - settings: { - panels_options: { - logo_wrap: [], - chats_list: [], - contacts_list_view: [], - new_contact_view: [], - profile_view: [], - photos_list: [], - videos_list: [], - links_list: [], - files_list: [] - }, - vw: 0, - active_chat: 1, - chat_types: [], - message_statuses: [], - contacts: [], - chats: [], - geoIpService: "//freegeoip.net/json/", - minNumberDigits: 10, - minCodeDigits: 6, - }, - elements: { - countryData: [], - addressDropdown: '#country', - codeInput: '#code', - telRealInput: '#number', - telInput: '#full-number', - verify: '#verify', - first_name: "#first_name", - last_name: "#last_name", - sendCodeBtn: '#sendCode', - sendVerifyBtn: '#verifyCode', - doneBtn: '#doneBtn', - - chat: '#chat', - chats: '#chats', - photos: '#photos', - videos: '#videos', - links: '#links', - files: '#files', - - logo_wrap: '#logo_wrap', - chats_list: '#chats_list', - photos_list: '#photos_list', - videos_list: '#vidoes_list', - links_list: '#links_list', - files_list: '#files_list', - }, - titleTemplate: 'NinjaApp | ', - init: function () { - t = this; - el = this.elements; - - this.initSettings(); - this.initDashboard(); - this.initChat(); - - this.initCountry(); - this.initCodePhone(); - - this.bindUIActions(); - - this.initElementMasks(); - //this.initRecording(); - //this.initRecordLog(); - }, - initSettings: function () { - t.calculateVWCoefficient(); - - t.settings.panels_options['logo_wrap']['width'] = t.settings.vw * $('#logo_wrap').width(); - t.settings.panels_options['logo_wrap']['min'] = t.settings.vw * 100; - t.settings.panels_options['logo_wrap']['max'] = t.settings.vw * 3400; - - t.settings.panels_options['chats_list']['width'] = t.settings.vw * $('#chats_list').width(); - t.settings.panels_options['chats_list']['min'] = t.settings.vw * 100; - t.settings.panels_options['chats_list']['max'] = t.settings.vw * 3400; - - t.settings.panels_options['contacts_list_view']['width'] = t.settings.vw * $('#contacts_list_view').width(); - t.settings.panels_options['contacts_list_view']['min'] = t.settings.vw * 100; - t.settings.panels_options['contacts_list_view']['max'] = t.settings.vw * 3400; - - t.settings.panels_options['new_contact_view']['width'] = t.settings.vw * $('#new_contact_view').width(); - t.settings.panels_options['new_contact_view']['min'] = t.settings.vw * 100; - t.settings.panels_options['new_contact_view']['max'] = t.settings.vw * 3400; - - t.settings.panels_options['profile_view']['width'] = t.settings.vw * $('#profile_view').width(); - t.settings.panels_options['profile_view']['min'] = t.settings.vw * 100; - t.settings.panels_options['profile_view']['max'] = t.settings.vw * 3400; - - t.settings.panels_options['photos_list']['width'] = t.settings.vw * $('#photos_list').width(); - t.settings.panels_options['photos_list']['min'] = 70; - t.settings.panels_options['photos_list']['max'] = 90; - - t.settings.panels_options['videos_list']['width'] = t.settings.vw * $('#videos_list').width(); - t.settings.panels_options['videos_list']['min'] = 70; - t.settings.panels_options['videos_list']['max'] = 90; - - t.settings.panels_options['links_list']['width'] = t.settings.vw * $('#links_list').width(); - t.settings.panels_options['links_list']['min'] = 70; - t.settings.panels_options['links_list']['max'] = 90; - - t.settings.panels_options['files_list']['width'] = t.settings.vw * $('#files_list').width(); - t.settings.panels_options['files_list']['min'] = 70; - t.settings.panels_options['files_list']['max'] = 90; - - /* - $(document).keypress(function (e) { - var keycode = (e.keyCode ? e.keyCode : e.which); - if (keycode == '13') { - ChatAreaWidget.displayMessage(); // @TODO: remove from here - } - }); - */ - }, - initDashboard: function () { - //@TODO: need check user session - if (!GlobalWidget.getRosterId()) { - location.replace('/web/welcome.htm'); - } - - //4a. reconnect because was redirect to dashboard (temporary) - mqttOptions.password = token(); - mqttOptions.cleanSession = false; - mqttOptions.onFailure = function (m) { - console.log("%cClient{%s, %s} - connection to backend failed: %s", "color:red", client(), token(), m.errorMessage); - ProfileViewWidget.logout(); - }; - mqttOptions.onSuccess = function () { - console.log("%cClient{%s, %s} - connected to backend", "color:green", client(), token()); - - var msg = enc(encProfile({"phone": GlobalWidget.getPhoneNumber(), "status": "get"})); - ws.send(msg); - }; - delete mqttOptions.mqttVersion; - delete mqttOptions.mqttVersionExplicit; - - mqtt_open(mqttOptions); - }, - calculateVWCoefficient: function () { - t.settings.vw = (100 / $(document).width()); - }, - bindUIActions: function () { - - $('.drag_handle_left').on('mousedown', function (e) { - e.preventDefault(); - - var right_side_bar_id = ''; - right_side_bar_id = $('#chats_list').is(':hidden') ? right_side_bar_id : 'chats_list'; - right_side_bar_id = $('#contacts_list_view').is(':hidden') ? right_side_bar_id : 'contacts_list_view'; - right_side_bar_id = $('#new_contact_view').is(':hidden') ? right_side_bar_id : 'new_contact_view'; - right_side_bar_id = $('#profile_view').is(':hidden') ? right_side_bar_id : 'profile_view'; - - $(document).mousemove(function (e) { - var right_sid_bar_selector = '#' + right_side_bar_id; - var width_start = $(right_sid_bar_selector).width(); - var width = e.pageX - $(right_sid_bar_selector).offset().left; - - t.settings.panels_options[right_side_bar_id]['width'] = width * t.settings.vw; - t.settings.panels_options['logo_wrap']['width'] = width * t.settings.vw; - - var right_side_bar_width = (width * t.settings.vw) + 'vw'; - var chat_width = t.settings.vw * ($('#chat').width() + (width_start - width)) + 'vw'; - var tool_bar_width = t.settings.vw * ($('#tool_bar').width() + (width_start - width)) + 'vw'; - var padding_chat_wrapper = '0vw ' + ((15 - ((t.settings.vw * width) / 2)) < 0 ? 0 : (15 - ((t.settings.vw * width) / 2))) + 'vw'; - - if ((e.pageX * t.settings.vw) > t.settings.panels_options[right_side_bar_id]['min'] && (e.pageX * t.settings.vw) < t.settings.panels_options[right_side_bar_id]['max']) { - $('#logo_wrap').css("width", right_side_bar_width); - $(right_sid_bar_selector).css("width", right_side_bar_width); - $('#chat').css("width", chat_width); - $('#tool_bar').css("width", tool_bar_width); - - $('.chat_wrapper').css("padding", padding_chat_wrapper); - } - }) - }).mouseup(function () { - //console.log('mouseup'); - //$(document).unbind('mousemove'); - }).mouseout(function () { - //console.log('mouseout'); - - //$(document).unbind('mousemove'); - }); - - $(document).on('mouseup', function () { - //console.log('mouseup'); - - $(document).unbind('mousemove'); - }); - - $('.drag_handle').mousedown(function (e) { - e.preventDefault(); - - var right_side_bar_id = ''; - right_side_bar_id = $('#photos_list').is(':hidden') ? right_side_bar_id : 'photos_list'; - right_side_bar_id = $('#videos_list').is(':hidden') ? right_side_bar_id : 'videos_list'; - right_side_bar_id = $('#links_list').is(':hidden') ? right_side_bar_id : 'links_list'; - right_side_bar_id = $('#files_list').is(':hidden') ? right_side_bar_id : 'files_list'; - - var right_sid_bar_selector = '#' + right_side_bar_id; - var vw = (100 / $(document).width()); - $(document).mousemove(function (e) { - e.preventDefault(); - var width_start = $(right_sid_bar_selector).width(); - var width = ($(right_sid_bar_selector).offset().left + $(right_sid_bar_selector).width()) - e.pageX; - - t.settings.panels_options[right_side_bar_id]['width'] = width * t.settings.vw; - - var right_side_bar_width = (width * vw) + 'vw'; - var chat_width = t.settings.vw * ($('#chat').width() + (width_start - width)) + 'vw'; - - if ((e.pageX * t.settings.vw) > t.settings.panels_options[right_side_bar_id]['min'] && (e.pageX * t.settings.vw) < t.settings.panels_options[right_side_bar_id]['max']) { - - $(right_sid_bar_selector).css("width", right_side_bar_width); - $('#chat').css("width", chat_width); - } - }) - }).mouseup(function () { - //$(this).unbind('mousemove'); - }).mouseout(function () { - //$(this).unbind('mousemove'); - }); - - $('#videos').click(function () { - var videos_is_hidden = $('#videos_list').is(':hidden'); - $('#chat').css("width", ''); - $('#tool_bar').css("width", ''); - $('.chat_wrapper').css("padding", ''); - if (videos_is_hidden) { - - $('#logo_wrap').hide(); - - $('#chats_list').hide(); - $('#contacts_list_view').hide(); - $('#new_contact_view').hide(); - $('#profile_view').hide(); - $('.drag_handle_left').hide(); - $('#files_list').hide(); - $('#photos_list').hide(); - $('#links_list').hide(); - - $('#recents').hide('slow'); - $('#favorite').hide('slow'); - $('#family').hide('slow'); - $('#new_chat').hide('slow'); - - $("#videos_list").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var vw = (100 / $(document).width()); - - var chat_width = ((t.settings.vw * $('#chat').width()) - t.settings.panels_options['videos_list']['width']) + 'vw'; - $('#chat').css("width", chat_width); - - var panel_width = t.settings.panels_options['videos_list']['width']; - var padding_chat_wrapper = '0vw ' + ((15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))) + 'vw'; - $('.chat_wrapper').css("padding", padding_chat_wrapper); - - } else { - $('#videos_list').hide(); - } - }); - - $('#files').click(function () { - var files_is_hidden = $('#files_list').is(':hidden'); - $('#chat').css("width", ''); - $('#tool_bar').css("width", ''); - $('.chat_wrapper').css("padding", ''); - if (files_is_hidden) { - - $('#logo_wrap').hide(); - - $('#chats_list').hide(); - $('#contacts_list_view').hide(); - $('#new_contact_view').hide(); - $('#profile_view').hide(); - $('.drag_handle_left').hide(); - $('#videos_list').hide(); - $('#links_list').hide(); - $('#photos_list').hide(); - - $('#recents').hide('slow'); - $('#favorite').hide('slow'); - $('#family').hide('slow'); - $('#new_chat').hide('slow'); - - $("#files_list").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var vw = (100 / $(document).width()); - - var chat_width = ((t.settings.vw * $('#chat').width()) - t.settings.panels_options['files_list']['width']) + 'vw'; - $('#chat').css("width", chat_width); - - var panel_width = t.settings.panels_options['files_list']['width']; - var padding_chat_wrapper = '0vw ' + ((15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))) + 'vw'; - $('.chat_wrapper').css("padding", padding_chat_wrapper); - - } else { - $('#files_list').hide(); - } - }); - - $('#links').click(function () { - $('#chat').css("width", ''); - $('#tool_bar').css("width", ''); - $('.chat_wrapper').css("padding", ''); - var links_is_hidden = $('#links_list').is(':hidden'); - if (links_is_hidden) { - - $('#logo_wrap').hide(); - - $('#chats_list').hide(); - $('#contacts_list_view').hide(); - $('#new_contact_view').hide(); - $('#profile_view').hide(); - $('.drag_handle_left').hide(); - $('#files_list').hide(); - $('#videos_list').hide(); - $('#photos_list').hide(); - - $('#recents').hide('slow'); - $('#favorite').hide('slow'); - $('#family').hide('slow'); - $('#new_chat').hide('slow'); - - $("#links_list").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var vw = (100 / $(document).width()); - - var chat_width = ((t.settings.vw * $('#chat').width()) - t.settings.panels_options['links_list']['width']) + 'vw'; - $('#chat').css("width", chat_width); - - var panel_width = t.settings.panels_options['links_list']['width']; - var padding_chat_wrapper = '0vw ' + ((15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))) + 'vw'; - $('.chat_wrapper').css("padding", padding_chat_wrapper); - - } else { - $('#links_list').hide(); - } - }); - - $('#photos').click(function () { - var photos_is_hidden = $('#photos_list').is(':hidden'); - $('#chat').css("width", ''); - $('#tool_bar').css("width", ''); - $('.chat_wrapper').css("padding", ''); - if (photos_is_hidden) { - - $('#logo_wrap').hide(); - - $('#chats_list').hide(); - $('#contacts_list_view').hide(); - $('#new_contact_view').hide(); - $('#profile_view').hide(); - $('.drag_handle_left').hide(); - $('#videos_list').hide(); - $('#files_list').hide(); - $('#links_list').hide(); - - $('#recents').hide('slow'); - $('#favorite').hide('slow'); - $('#family').hide('slow'); - $('#new_chat').hide('slow'); - - $("#photos_list").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var vw = (100 / $(document).width()); - - var chat_width = ((t.settings.vw * $('#chat').width()) - t.settings.panels_options['photos_list']['width']) + 'vw'; - $('#chat').css("width", chat_width); - - var panel_width = t.settings.panels_options['photos_list']['width']; - var padding_chat_wrapper = '0vw ' + ((15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))) + 'vw'; - $('.chat_wrapper').css("padding", padding_chat_wrapper); - - } else { - $('#photos_list').hide(); - - - } - }); - - $('.chat_contact').click(function () { - var show_chat = $(this).data('id'); - t.settings.chats[t.settings.active_chat].status = 'hidden'; - t.settings.chats[show_chat].status = 'active'; - t.settings.active_chat = show_chat; - - //$('#chat_view').html(t.renderChat(show_chat)); - - //$('.chat_wrapper .view_active').removeClass('view_active').addClass('hidden'); - //$('.chat_wrapper #' + $(this).attr('id') + '_view').removeClass('hidden').addClass('view_active'); - //t.checkChats(); - }); - - /* - $('#send_message').click(function () { - t.sendTextInInput(); - }); - */ - - $('#favorite').click(function () { - console.log("You clicked a favorite!"); - }); - - $('#family').click(function () { - console.log("You clicked a family!"); - }); - - $('#work').click(function () { - console.log("You clicked a work!"); - }); - - $('#new_chat').click(function () { - console.log("You clicked a new_chat!"); - $('#contacts').click(); - }); - - $('#group').click(function () { - console.log("You clicked a group!"); - }); - - $('#calls').click(function () { - console.log("You clicked a calls!"); - }); - - $('#settings').click(function () { - console.log("You clicked a settings!"); - }); - - /* - $('#storage').click(function () { - console.log("You clicked a storage!"); - - var hidden = $('#photos').is(':hidden'); - - if (hidden) { - - $('#photos').slideDown('slow'); - $('#videos').slideDown('slow'); - $('#links').slideDown('slow'); - $('#files').slideDown('slow'); - - } else { - - $('#photos').slideUp('slow'); - $('#videos').slideUp('slow'); - $('#links').slideUp('slow'); - $('#files').slideUp('slow'); - - } - }); - - $('#voice_call').click(function () { - console.log("You clicked a voice_call!"); - }); - - $('#video_call').click(function () { - console.log("You clicked a video_call!"); - }); - - $('#from_pc').click(function () { - console.log("You clicked a from_pc!"); - }); - - $('#location').click(function () { - console.log("You clicked a location!"); - }); - - $('#events').click(function () { - console.log("You clicked a events!"); - }); - */ - - $('#right_bar_arrow_up').click(function () { - console.log("You clicked a right_bar_arrow2!"); - }); - - $('#right_bar_arrow_down').click(function () { - console.log("You clicked a right_bar_arrow2!"); - }); - - $('.right_sidebar').scroll(function (e) { - /*var elem = $(e.currentTarget); - console.log( elem.outerHeight() + "------1" ); - console.log( elem[0].scrollHeight + "------2" ); - console.log( elem.scrollTop() + "------3" ); - console.log( elem[0].scrollHeight + elem.scrollTop() + "------4" ); - if (parseInt(elem[0].scrollHeight - elem.scrollTop()) == parseInt(elem.outerHeight())) - { - $('#right_bar_arrow_up').show(); - $('#overlay_top').show(); - $('#right_bar_arrow_down').hide(); - $('#overlay_bottom').hide(); - - } else if(parseInt(elem.scrollTop()) == 0){ - $('#right_bar_arrow_up').hide(); - $('#overlay_top').hide(); - $('#right_bar_arrow_down').show(); - $('#overlay_bottom').show(); - }*/ - }); - - $(el.telInput).on("countrychange", function (e, countryData) { - $(el.addressDropdown).val(countryData.iso2); - $(el.codeInput).val('+' + countryData.dialCode); - $(el.telRealInput).focus(); - }); - $(el.addressDropdown).on('change', function () { - $(el.telInput).intlTelInput("setCountry", $(this).val()); - }); - $(el.telRealInput).on('keyup', function () { - if ($(this).val().length > t.settings.minNumberDigits) { - $(el.sendCodeBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.sendCodeBtn).addClass('disabled').prop('disabled', true); - } - }); - $(el.verify).on('keyup', function () { - if ($(this).val().length > t.settings.minCodeDigits) { - $(el.sendVerifyBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.sendVerifyBtn).addClass('disabled').prop('disabled', true); - } - }); - $(el.first_name + "," + el.last_name).on('keyup', function () { - if ($(el.first_name).val().length && $(el.last_name).val().length) { - $(el.doneBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.doneBtn).addClass('disabled').prop('disabled', true); - } - }); - }, - initChat: function () { - - t.settings.chat_types[0] = 'chat'; - t.settings.chat_types[1] = 'group_chat'; - t.settings.message_statuses[0] = 'sent'; - t.settings.message_statuses[1] = 'not sent'; - t.settings.message_statuses[2] = 'viewed'; - t.settings.message_statuses[3] = 'not viewed'; - - t.settings.contacts[0] = { - name: 'David Mickelson', - image: 'sender_image' - }; - t.settings.contacts[1] = { - name: 'David Mickelson', - image: 'sender_image' - }; - - var messages_0 = []; - var contacts_0 = []; - var messages_1 = []; - var contacts_1 = []; - var messages_2 = []; - var contacts_2 = []; - - - contacts_0[0] = { - id: 0 - }; - /*contacts_0[1] = { - id: 1 - };*/ - - messages_1[0] = { - type: 'send', - text: "There are many variations of passages of Lorem Ipsum available, " + - "but the majority have suffered alteration in some form, by injected humour. " + - "or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, " + - "you need to be sure there isn't anything embarrassing hidden in the middle of text", - time: '10:00pm', - status: 0 - }; - - messages_1[1] = { - type: 'received', - image: 'sender_image_0', - from: 'David Mickelson', - from_id: 0, - text: "There are many variations of passages of Lorem Ipsum available, " + - "but the majority have suffered alteration in some form, by injected humour. " + - "or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, " + - "you need to be sure there isn't anything embarrassing hidden in the middle of text", - time: '10:01pm', - status: 3 - }; - - contacts_1[0] = { - id: 1 - }; - - messages_2[0] = { - type: 'send', - text: "There are many variations of passages of Lorem Ipsum available, " + - "but the majority have suffered alteration in some form, by injected humour. ", - time: '10:10pm', - status: 0 - }; - messages_2[1] = { - type: 'received', - image: 'sender_image_1', - from: 'Mary', - from_id: 1, - text: "There are many variations of passages of Lorem Ipsum available, " + - "but the majority have suffered alteration in some form, by injected humour. ", - time: '10:11pm', - status: 3 - }; - - contacts_2[0] = { - id: 2 - }; - - t.settings.chats[0] = - { - type: 1, - status: 'hidden', - contacts: contacts_0, - messages: [] - }; - - t.settings.chats[1] = - { - type: 0, - status: 'active', - contacts: contacts_1, - messages: messages_1 - }; - t.settings.chats[2] = - { - type: 0, - status: 'hidden', - contacts: contacts_2, - messages: messages_2 - }; - - $.each(t.settings.chats, function (index, value) { - if (value.status == 'active') { - var chat_html = t.renderChat(index); - //$('#chat_view').html(chat_html); - } - - }); - }, - checkChats: function () { - $.each(t.settings.chats, function (index, value) { - if (value.status == 'active') { - //var chat_html = t.renderChat(index); - //$('#chat_view').html(chat_html); - $.each(value.messages, function (i, msg) { - if (msg.type == 'received') { - msg.status = 2; - } - }); - //notifications_number - $('#chats_list #chat_' + index + ' .notifications_number').text('').hide(); - } else if (value.status == 'hidden') { - var not_viewed_msgs = 0; - $.each(value.messages, function (i, msg) { - if (msg.type == 'received' && msg.status == 3) { - not_viewed_msgs++; - } - - }); - if (not_viewed_msgs > 0) { - $('#chats_list #chat_' + index + ' .notifications_number').text(not_viewed_msgs).show(); - } - } - - }); - }, - renderChat: function (id) { - var chat_html = ''; - $.each(t.settings.chats[id].messages, function (index, value) { - if (value.type == 'send') { - var msg = { - text: value.text, - time: value.time - }; - //chat_html += ChatAreaWidget.renderSentMessage(msg); - } else if (value.type == 'received') { - var msg = { - text: value.text, - image: value.image, - from: value.from, - time: value.time - }; - //chat_html += ChatAreaWidget.renderReceivedMessage(msg); - } - - }); - return chat_html; - }, - getTime: function () { - var date = new Date(); - var hours = date.getHours(); - var minutes = date.getMinutes(); - var ampm = hours >= 12 ? 'pm' : 'am'; - hours = hours % 12; - hours = hours ? hours : 12; // the hour '0' should be '12' - minutes = minutes < 10 ? '0' + minutes : minutes; - var strTime = hours + ':' + minutes + ' ' + ampm; - return strTime; - }, - refresh: function (res) { - var el = ProfileViewWidget.elements; - if (Array.isArray(res)) { - var rosterId = GlobalWidget.getRosterId() || 0; - var userName = res.rosters[rosterId].names; - // DashboardWidget.settings.profile should be array? - DashboardWidget.settings.profile = res; - $(el.firstName).val(userName); - $(el.lastName).val(res.rosters[rosterId].surnames); - document.title = DashboardWidget.settings.titleTemplate + userName - } - }, - incomingMessage: function (msg) { - $.each(t.settings.chats, function (index, value) { - var right_chat = false; - $.each(value.contacts, function (i, contact) { - console.log(contact); - if (contact.id == msg.from_id) { - console.log(index); - right_chat = true; - } - }); - if (right_chat) { - - if (value.status == 'active') { - msg.status = 2; - $('#chat_view').append(t.renderReceivedMessage(msg)); - } else if (value.status == 'hidden') { - msg.status = 3; - } - value.messages.push(msg); - - - } - }); - t.checkChats(); - }, - initCodePhone: function () { - $(el.telInput).intlTelInput({ - allowDropdown: false, - initialCountry: "auto", - geoIpLookup: function () { - $.get(t.settings.geoIpService, function () { - }, "jsonp").always(function (resp) { - var countryCode = (resp && resp.country_code) ? resp.country_code : ""; - $(el.telInput).intlTelInput("setCountry", countryCode.toLowerCase()); - }); - }, - utilsScript: "../../build/js/utils.js" - }); - }, - initCountry: function () { - el.countryData = $.fn.intlTelInput.getCountryData(); - $.each(el.countryData, function (i, country) { - $(el.addressDropdown).append($("").attr("value", country.iso2).text(country.name)); - }); - - $(el.addressDropdown).val($(el.telInput).intlTelInput("getSelectedCountryData").iso2); - }, - initElementMasks: function () { - $(el.codeInput).mask('+0000', {placeholder: "+----"}); - $(el.telRealInput).mask('00 0000 0000', {placeholder: "-- ---- ----"}); - $(el.verify).mask('000 000', {placeholder: "--- ---"}); - }, - initRecording: function () { - - document.getElementById('recording').onmousedown = function (e) { - recorder && recorder.record(); - t.__log('Recording...'); - }; - document.getElementById('recording').onmouseup = function (e) { - recorder && recorder.stop(); - t.__log('Stopped recording.'); - // create WAV download link using audio data blob - t.createDownloadLink(); - recorder.clear(); - }; - }, - __log: function (e, data) { - console.log("\n" + e + " " + (data || '')); - }, - startUserMedia: function (stream) { - var input = audio_context.createMediaStreamSource(stream); - t.__log('Media stream created.'); - - // Uncomment if you want the audio to feedback directly - //input.connect(audio_context.destination); - //__log('Input connected to audio context destination.'); - - recorder = new Recorder(input); - t.__log('Recorder initialised.'); - }, - createDownloadLink: function () { - recorder && recorder.exportWAV(function (blob) { - var url = URL.createObjectURL(blob); - var div_bubble = document.createElement('div'); - var div_text = document.createElement('div'); - var div_time = document.createElement('div'); - var time = t.getTime(); - div_bubble.setAttribute("class", "text_send"); - div_text.setAttribute("class", "text_bubble_send"); - div_time.setAttribute("class", "time_chat"); - div_time.innerHTML = time; - var au = document.createElement('audio'); - var hf = document.createElement('a'); - au.controls = true; - au.src = url; - hf.href = url; - hf.download = new Date().toISOString() + '.wav'; - hf.innerHTML = hf.download; - div_text.appendChild(div_bubble); - div_bubble.appendChild(au); - div_bubble.appendChild(div_time); - //li.appendChild(hf); - document.getElementById('chat_view').appendChild(div_text); - }); - }, - initRecordLog: function () { - window.onload = function init() { - try { - // webkit shim - window.AudioContext = window.AudioContext || window.webkitAudioContext; - navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia; - window.URL = window.URL || window.webkitURL; - - audio_context = new AudioContext; - t.__log('Audio context set up.'); - t.__log('navigator.getUserMedia ' + (navigator.getUserMedia ? 'available.' : 'not present!')); - } catch (e) { - alert('No web audio support in this browser!'); - } - -// navigator.getUserMedia({audio: true}, t.startUserMedia, function (e) { -// t.__log('No live audio input: ' + e); -// }); - }; - }, - } - DashboardWidget.init(); - - /** - * ChatArea Widget - * @type {{elements: {chatView: string, chatPanel: string}, activePhoneId: null, init: init, subscribe: subscribe, bindUIActions: bindUIActions, showChat: showChat, hideChat: hideChat, setTopic: setTopic, getHistory: getHistory}} - */ - ChatAreaWidget = { - elements: { - chatView: '#chat_view', - chatPanel: '#chatPanel', - textInput: '#text_input', - sendMessageBtn: '#send_message', - }, - settings: { - activeChat: { - name: null, - online: 0, - offline: 0, - from: { - names: null, - surnames: null, - phone: null, - phone_id: null, - }, - to: { - names: null, - surnames: null, - phone: null, - phone_id: null, - }, - chatType: null, - }, - historySize: -100 - }, - init: function () { - this.subscribe(); - this.bindUIActions() - }, - subscribe: function () { - GlobalWidget.subscribe('history.get', ChatAreaWidget, this.historyRefresh); - GlobalWidget.subscribe('message.sent', ChatAreaWidget, this.messageSent); - }, - bindUIActions: function () { - var el = this.elements; - - $(el.textInput).keypress(function (e) { - var keycode = (e.keyCode ? e.keyCode : e.which); - if (keycode == '13') { - ChatAreaWidget.sendMessage(); - } - }); - - $(el.sendMessageBtn).on('click', this.sendMessage); - - $(document).ready(function () { - /* Example of sending to middle backend */ - //ws.send(enc(tuple(atom('direct'), tuple(atom('page'), atom('dashboard'))))); - }); - }, - showChat: function () { - var el = this.elements; - - this.setTopic(); - this.getHistory() - $(el.chatView + ', ' + el.chatPanel).removeClass('hidden'); - - }, - hideChat: function () { - var el = this.elements; - }, - setTopic: function () { - var topicName = 'undefined', - topicId; - - switch (this.settings.activeChat.chatType) { - case "p2p": - var from_p = this.settings.activeChat.from.phone_id, - from_f = this.settings.activeChat.from.names, - from_l = this.settings.activeChat.from.surnames, - to_p = this.settings.activeChat.to.phone_id, - to_f = this.settings.activeChat.to.names, - to_l = this.settings.activeChat.to.surnames; - - topicName = from_f + ' ' + from_l + ', ' + to_f + ' ' + to_l; - topicId = from_p + '-' + to_p; - - this.settings.activeChat.name = topicName; - - ChatListWidget.addToChatList({"topicId": topicId, "topicName": topicName, "time": GlobalWidget.convertUnixTime(Date.now())}); - break; - } - - $("#tool_bar .topic .topic_name").html(topicName); - $("#tool_bar .topic").removeClass('hidden'); - }, - getHistory: function () { - var s = this.settings; - - switch (this.settings.activeChat.chatType) { - case "p2p": - var msg = enc(encHistory({ - roster_id: s.activeChat.from.phone_id, - feed: { - tup: "p2p", - from: s.activeChat.from.phone_id, - to: s.activeChat.to.phone_id - }, - size: s.historySize, - entity_id: 0, - status: "get" - })); - ws.send(msg); - break; - } - }, - historyRefresh: function (res) { - var el = ChatAreaWidget.elements, - s = ChatAreaWidget.settings; - var msg_html = ''; - $(el.chatView).html(msg_html); - - if (Array.isArray(res.data)) { - res.data.forEach(function (message, i) { - if ( message.files[0]) { - var msg = { - id: message.id, - from: message.from, - to: message.to, - text: message.files[0].payload, - time: message.created, - mime: message.files[0].mime, - status: message.status - }; - - if (msg.from == s.activeChat.from.phone_id) { - msg_html += ChatAreaWidget.renderSentMessage(msg); - } else { - msg_html += ChatAreaWidget.renderReceivedMessage(msg); - } - } - }); - } - - $(el.chatView).append(msg_html); - $(el.chatView).scrollTop($(el.chatView)[0].scrollHeight); - }, - sendMessage: function () { - var el = this.elements, - s = this.settings; - - //text message - var text = $(el.textInput).val(); - - if (text) { - var msg = enc(encMessage({ - container: "chain", - feed_id: { - tup: "p2p", - from: s.activeChat.from.phone_id, - to: s.activeChat.to.phone_id - }, - from: s.activeChat.from.phone_id, - to: s.activeChat.to.phone_id, - files: [{ - tup: "Desc", - mime: "text", - payload: text, - size: text.length - }], - status: "client" - })); - ws.send(msg); - } - }, - messageSent: function (message) { - var el = ChatAreaWidget.elements, - s = ChatAreaWidget.settings, - msg_html = '', - msg = { - id: message.id, - from: message.from, - to: message.to, - text: message.files[0].payload, - time: message.created, - mime: message.files[0].mime, - status: message.status - }; - - //@TODO: store in some local storage for cache - if (message.from == s.activeChat.from.phone_id) { - msg_html = ChatAreaWidget.renderSentMessage(msg); - $(el.textInput).val(''); - } else { - var from = ContactsWidget.getNameByPhoneID(msg.from), - m = from + ": " + msg.text; - GlobalWidget.sucsessMsg(m); - msg_html = ChatAreaWidget.renderReceivedMessage(msg); - } - - $(el.chatView).append(msg_html).scrollTop($(el.chatView)[0].scrollHeight); - }, - renderSentMessage: function (msg) { - return '
' + - '
' + msg.text + - '
' + GlobalWidget.convertUnixTime(msg.time) + '
' + - '
'; - }, - renderReceivedMessage: function (msg) { - return '
' + - '
' + ContactsWidget.getNameByPhoneID(msg.from) + '
' - + msg.text + - '
' + - '
' + GlobalWidget.convertUnixTime(msg.time) + '
' + - '
'; - }, - }; - ChatAreaWidget.init(); - - /** - * ChatList Widget - * @type {{init: init}} - */ - ChatListWidget = { - elements: { - chats: "#chats", - contacts: "#recents", - listScrollWrapper: "#chats_list_scroll_wrapper", - listScroll: "#chats_list_scroll", - }, - init: function () { - this.subscribe(); - this.bindUIActions() - }, - subscribe: function () { - - }, - bindUIActions: function () { - var el = ChatListWidget.elements; - - $(el.chats).on("click", function () { - //@TODO: need to refactoring this sheet - var hidden = $('#recents').is(':hidden'); - - if (hidden) { - $('#chats').addClass('active selected'); - $('#recents').slideDown("slow"); - $('#favorite').slideDown("slow"); - $('#family').slideDown("slow"); - $('#work').slideDown("slow"); - $('#new_chat').slideDown("slow"); - - //$('#recents').show('slow'); - //$('#favorite').show('slow'); - //$('#family').show('slow'); - ///$('#work').show('slow'); - //$('#new_chat').show('slow'); - } else { - $('#chats').removeClass('active selected'); - $('#recents').slideUp('slow'); - $('#favorite').slideUp('slow'); - $('#family').slideUp('slow'); - $('#work').slideUp('slow'); - $('#new_chat').slideUp('slow'); - } - }); - - $(el.contacts).on("click", function () { - //@TODO: need to refactoring this sheet - var chats_is_hidden = $('#chats_list').is(':hidden'); - $('#tool_bar').css("width", ''); - $('#chat').css("width", ''); - $('.chat_wrapper').css("padding", ''); - if (chats_is_hidden) { - $("#logo_wrap").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var tool_bar_width = ((DashboardWidget.settings.vw * $('#tool_bar').width()) - DashboardWidget.settings.panels_options['chats_list']['width']) + 'vw'; - $('#tool_bar').css("width", tool_bar_width); - - $('#contacts_list_view, #new_contact_view, #profile_view, #videos_list, #files_list, #photos_list, #links_list, #contact_requests_view').hide(); - - $("#chats_list, .drag_handle_left").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var vw = (100 / $(document).width()); - var chat_width = ((DashboardWidget.settings.vw * $('#chat').width()) - DashboardWidget.settings.panels_options['chats_list']['width']) + 'vw'; - $('#chat').css("width", chat_width); - - var panel_width = t.settings.panels_options['chats_list']['width']; - $('#logo_wrap').css("width", panel_width + 'vw'); - - var padding_chat_wrapper = '0vw ' + ((15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))) + 'vw'; - $('.chat_wrapper').css("padding", padding_chat_wrapper); - - ChatListWidget.refreshList(); - } else { - $('#logo_wrap, #chats_list, .drag_handle_left').hide(); - } - }); - }, - getChatList: function () { - var current = localStorage.getItem("chatList") || []; - - return (current.length) ? JSON.parse(current) : []; - }, - addToChatList: function (chat) { - var current = ChatListWidget.getChatList(), - exists = false - - //@TODO: refactor this exp - if (Array.isArray(current)) { - current.forEach(function (value) { - if (value.topicId == chat.topicId) { - exists = true; - } - }); - - if (!exists) { - current.push(chat); - localStorage.setItem("chatList", JSON.stringify(current)); - } - } - - }, - refreshList: function () { - var el = ChatListWidget.elements, - s = ChatListWidget.settings, - chatList = ChatListWidget.getChatList(); - - $(el.listScroll).html(''); - - if (Array.isArray(chatList)) { - $.each(chatList, function (ind, chat) { - $(el.listScroll).append(ChatListWidget.itemView(chat)); - - //@TODO: !!! remove handlers events in loop!!! - $(el.listScroll + ' ' + ' .chat_' + chat.topicId).on("click", function () { - $('.contact_chat_' + chat.topicId).click(); - }); - }); - } - }, - itemView : function(chat) { - var item = ''; - - item += '
\n' + - '
\n' + - '
\n' + - '
\n' + - '
\n' + - '
\n' + - '
' + chat.topicName + '
\n' + - ' \n' + - '
\n' + - '
\n' + - '
\n' + - '
\n' + - ' \n' + - '
' + chat.time + '
\n' + - '
\n' + - '
\n' + - ' \n' + - '
'; - - return item; - } - }; - ChatListWidget.init(); - - /** - * Profile Widget - * @type {{settings: {profileView: string, logoutBtn: string}, init: init, update: update}} - */ - ProfileViewWidget = { - elements: { - profileImg: '#profile_img', - firstName: "#first_name", - lastName: "#last_name", - userName: "#user_name", - phoneNumber: "#phone_number", - profileView: "#profile_view", - editBtn: "#editBtn", - logoutBtn: "#logoutBtn" - }, - settings: { - profile: {} - }, - init: function () { - this.subscribe(); - this.bindUIActions(); - }, - subscribe: function () { - GlobalWidget.subscribe('profile.get', GlobalWidget, this.refresh); - GlobalWidget.subscribe('io.error.nick_taken', GlobalWidget, this.errorNickTaken); - GlobalWidget.subscribe('roster.patch', this, this.profileUpdated); - GlobalWidget.subscribe('io.ok.logout', this, this.logout); - }, - bindUIActions: function () { - var t = ProfileViewWidget, - el = t.elements; - - $(el.profileImg).on("click", function () { - //@TODO: need to refactoring this sheet - var hidden = $('#profile_view').is(':hidden'); - $('#tool_bar').css("width", ''); - $('#chat').css("width", ''); - $('.chat_wrapper').css("padding", ''); - - if (hidden) { - $("#logo_wrap").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var tool_bar_width = ((DashboardWidget.settings.vw * $('#tool_bar').width()) - DashboardWidget.settings.panels_options['profile_view']['width']) + 'vw'; - $('#tool_bar').css("width", tool_bar_width); - - $('#chats_list, #contacts_list_view, #new_contact_view, #videos_list, #files_list, #photos_list, #links_list, #contact_requests_view').hide(); - - - $("#profile_view, .drag_handle_left").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var vw = (100 / $(document).width()); - - var chat_width = ((DashboardWidget.settings.vw * $('#chat').width()) - DashboardWidget.settings.panels_options['profile_view']['width']) + 'vw'; - $('#chat').css("width", chat_width); - - var panel_width = DashboardWidget.settings.panels_options['profile_view']['width']; - $('#logo_wrap').css("width", panel_width + 'vw'); - - var padding_chat_wrapper = '0vw ' + ((15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))) + 'vw'; - console.log(padding_chat_wrapper); - $('.chat_wrapper').css("padding", padding_chat_wrapper); - - } else { - $('#logo_wrap, #profile_view, .drag_handle_left').hide(); - } - }); - $(el.logoutBtn).on('click', function () { - var msg = enc(encAuth({"type": "logout"})); - ws.send(msg); - }); - $(el.editBtn).on('click', function () { - var f = $(el.firstName).val(), - l = $(el.lastName).val(), - un = $(el.userName).val(); - - if (t.profileUpdateValidation(f, l, un)) { - var mes = { - "id": GlobalWidget.getRosterId(), - "names": f, - "surnames": l, - "status": "patch" - }; - - if (typeof un != "undefined" && un != t.settings.profile.rosters[GlobalWidget.getRosterIndex()].nick) { - mes.nick = un; - } - - var msg = enc(encRoster(mes)); - ws.send(msg); - } - }); - }, - profileGet: function () { - var msg = enc(encProfile({"phone": GlobalWidget.getPhoneNumber(), "status": "get"})); - ws.send(msg); - }, - profileUpdated: function () { - var msg = GlobalWidget.messages(1100); - GlobalWidget.sucsessMsg(msg); - }, - profileUpdateValidation: function (firstName, lastName, userName) { - try { - if (!firstName.length) { - throw new Error(GlobalWidget.messages(1101)); - } - if (userName.length > 0 && userName.length < 2) { - throw new Error(GlobalWidget.messages(1103)); - } - - var pattern = /^([a-zA-Z0-9_-]{2,})$/; - if (userName && !pattern.test(userName)) { - throw new Error(GlobalWidget.messages(1104)); - } - } catch (err) { - GlobalWidget.warningMsg(err.message) - return; - } - return true; - }, - errorNickTaken: function () { - GlobalWidget.warningMsg(GlobalWidget.messages(1102)); - }, - refresh: function (res) { - var el = ProfileViewWidget.elements, - s = ProfileViewWidget.settings, - rosInd = GlobalWidget.getRosterIndex(); - - s.profile = res; - - $(el.firstName).val(res.rosters[rosInd].names); - $(el.lastName).val(res.rosters[rosInd].surnames); - $(el.userName).val(res.rosters[rosInd].nick); - $(el.phoneNumber).val(res.phone); - }, - logout: function () { - //@TODO: need to clean needed data - var chatList = localStorage.getItem('chatList'); - - localStorage.clear(); - localStorage.setItem('chatList', chatList); - - location.replace("/web/welcome.htm"); - } - }; - ProfileViewWidget.init(); - - /** - * Contacts - * @type {{elements: {chats: string, contacts: string, newContact: string, contactsList: string, contactRequest: string}, init: init, subscribe: subscribe, bindUIActions: bindUIActions}} - */ - ContactsWidget = { - elements: { - contacts: '#contacts', - newContact: '#new_contact', - contactsList: '#contacts_list', - contactRequest: '#contact_request', - contactsListScroll: '#contacts_list_scroll', - chatContactItem: '.chat_contact', - }, - settings: { - contacts: [] - }, - init: function () { - this.subscribe(); - this.bindUIActions() - }, - subscribe: function () { - GlobalWidget.subscribe('profile.get', GlobalWidget, this.refreshList); - GlobalWidget.subscribe('contact.internal', GlobalWidget, this.contactInternal); - }, - bindUIActions: function () { - var el = ContactsWidget.elements; - - $(el.contacts).on("click", function () { - if ($(el.newContact).is(':hidden')) { - $(el.contacts).addClass('active selected'); - $(el.contactRequest + ',' + el.newContact).removeClass('hidden').slideDown('slow'); - } else { - $(el.newContact).removeClass('active selected'); - $(el.contactRequest, el.newContact).addClass('hidden').slideUp('slow'); - } - - //@TODO: need to refactoring the code below - var hidden = $('#contacts_list_view').is(':hidden'); - $('#tool_bar').css("width", ''); - $('#chat').css("width", ''); - $('.chat_wrapper').css("padding", ''); - - if (hidden) { - $("#logo_wrap").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var tool_bar_width = ((DashboardWidget.settings.vw * $('#tool_bar').width()) - DashboardWidget.settings.panels_options['contacts_list_view']['width']) + 'vw'; - $('#tool_bar').css("width", tool_bar_width); - - $('#chats_list, #new_contact_view, #profile_view, #videos_list, #files_list, #photos_list, #links_list, #contact_requests_view').hide(); - - $("#contacts_list_view").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - $(".drag_handle_left").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var vw = (100 / $(document).width()); - - var chat_width = ((DashboardWidget.settings.vw * $('#chat').width()) - DashboardWidget.settings.panels_options['contacts_list_view']['width']) + 'vw'; - $('#chat').css("width", chat_width); - - var panel_width = DashboardWidget.settings.panels_options['contacts_list_view']['width']; - $('#logo_wrap').css("width", panel_width + 'vw'); - - var padding_chat_wrapper = '0vw ' + ((15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))) + 'vw'; - $('.chat_wrapper').css("padding", padding_chat_wrapper); - - } else { - $('#logo_wrap, #chats_list, #contacts_list_view, .drag_handle_left').hide(); - } - }); - }, - contactInternal: function (res) { - var el = ContactsWidget.elements; - if (typeof res.presence != "undefined") { - $(el.contactsListScroll + ' .contact_' + res.phone_id + ' div.presence').html(res.presence); - } - }, - refreshList: function (res) { - var el = ContactsWidget.elements, - s = ContactsWidget.settings, - rosInd = GlobalWidget.getRosterIndex(), - userlist = res.rosters[rosInd].userlist; - - $(el.contactsListScroll).html(''); - - $.each(userlist, function (ind, contact) { - if (contact.status == "friend") { - s.contacts[contact.phone_id] = contact; - - $(el.contactsListScroll).append(ContactsWidget.itemView(contact)); - - //@TODO: !!! remove handlers events in loop!!! - $(el.contactsListScroll + ' ' + ' .contact_' + contact.phone_id).on("click", function () { - //@TODO: move to separate function - //p2p chat - ChatAreaWidget.settings.activeChat = { - from: { - names: ProfileViewWidget.settings.profile.rosters[GlobalWidget.getRosterIndex()].names, - surnames: ProfileViewWidget.settings.profile.rosters[GlobalWidget.getRosterIndex()].surnames, - phone: GlobalWidget.getPhoneNumber(), - phone_id: GlobalWidget.getPhoneNumberId() - }, - to: { - names: $(this).data('names'), - surnames: $(this).data('surnames'), - phone: $(this).data('phone'), - phone_id: $(this).data('phone-id'), - reader: $(this).data('reader') - }, - chatType: "p2p" - }; - - ChatAreaWidget.showChat(); - }); - } - }) - }, - itemView: function (contact) { - var item = '', - presence = (typeof contact.presence != "undefined") ? contact.presence : '', - names = (typeof contact.names != "undefined") ? contact.names : '', - surnames = (typeof contact.surnames != "undefined") ? contact.surnames : ''; - - var op = '
' + presence + '
'; - - item = '
\n' + - '
\n' + - '
\n' + - '
\n' + - '
\n' + - '
\n' + - '
' + names + ' ' + surnames + '
\n' + - '
+' + GlobalWidget.cleanPhone(contact.phone_id) + '
\n' + - '
\n' + - '
' + op + '
\n' + - '
\n' + - ' \n' + - '
' - - return item; - }, - getNameByPhoneID: function (phoneId) { - var s = ContactsWidget.settings; - - if (typeof s.contacts[phoneId] != "undefined") { - return s.contacts[phoneId].names + ' ' + s.contacts[phoneId].surnames; - } - - return phoneId; - } - }; - ContactsWidget.init(); - - /** - * Contact Request Widget - * @type {{elements: {}, init: init, subscribe: subscribe, bindUIActions: bindUIActions, refreshList: refreshList, itemView: itemView}} - */ - ContactRequestsWidget = { - elements: { - contactRequest: "#contact_request", - contactRequestsScroll: "#contact_requests_scroll", - outcomeFriendRequests: "#outcome_friend_requests", - incomeFriendRequests: "#income_friend_requests", - revokeBtn: "button.revoke", - confirmBtn: "button.confirm", - }, - init: function () { - this.subscribe(); - this.bindUIActions(); - }, - subscribe: function () { - GlobalWidget.subscribe('profile.get', ContactRequestsWidget, this.refreshList); - GlobalWidget.subscribe('contact.authorization', ContactRequestsWidget, this.requestNotification); - GlobalWidget.subscribe('contact.authorization', ContactRequestsWidget, this.addWatingApprovalContact); - GlobalWidget.subscribe('contact.request', ContactRequestsWidget, this.addWatingApprovalContact); - - //@TODO: add supporting a few handler functions - GlobalWidget.subscribe('contact.friend', ContactRequestsWidget, ProfileViewWidget.profileGet); - }, - bindUIActions: function () { - var el = ContactRequestsWidget.elements; - - $(el.contactRequest).on('click', function () { - //@TODO: need to refactor the code bellow - $('#chats_list, #new_contact_view, #profile_view, #videos_list, #files_list, #photos_list, #links_list, #contacts_list_view').hide(); - $("#contact_requests_view, .drag_handle_left").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - }); - - $(el.contactRequestsScroll + ' ' + el.confirmBtn).on("click", function () { - var phone_id = $(this).parent().data('phone-id'); - - //3a. send Friend/Confirm - var msg = enc(encFriend({ - "phone_id": GlobalWidget.getPhoneNumberId(), - "friend_id": phone_id, - "status": "confirm" - })); - - ws.send(msg); - }); - - $(el.contactRequestsScroll + ' ' + el.revokeBtn).on("click", function () { - var phone_id = $(this).parent().data('phone-id') - - //3b. send Friend/Revoke - var msg = enc(encFriend({ - "phone_id": GlobalWidget.getPhoneNumberId(), - "friend_id": phone_id, - "status": "revoke" - })); - - ws.send(msg); - }); - }, - requestNotification: function (res) { - GlobalWidget.sucsessMsg("Friend request from " + res.names + ' ' + res.surnames); - }, - refreshList: function (res) { - var el = ContactRequestsWidget.elements, - rosInd = GlobalWidget.getRosterIndex(), - userlist = res.rosters[rosInd].userlist, - request = '', - authorization = ''; - - $.each(userlist, function (ind, contact) { - if (contact.status == "request") { - request += ContactRequestsWidget.itemView(contact); - } else if (contact.status == "authorization") { - authorization += ContactRequestsWidget.itemView(contact) - } - }) - - if (request) { - $(el.outcomeFriendRequests).html(''); - $(el.outcomeFriendRequests).append(request); - } else { - $(el.outcomeFriendRequests).html("

" + GlobalWidget.t("No Requests") + "

"); - } - - if (authorization) { - $(el.incomeFriendRequests).html(''); - $(el.incomeFriendRequests).append(authorization); - } else { - $(el.incomeFriendRequests).html("

" + GlobalWidget.t("No Requests") + "

"); - } - - //@TODO: need to unbind handlers - ContactRequestsWidget.bindUIActions(); - }, - addWatingApprovalContact: function (res) { - var el = ContactRequestsWidget.elements - $(el.contactRequest).click(); - - //@TODO: need to optimize in order not to send Profile/get request - ProfileViewWidget.profileGet(); - }, - itemView: function (contact) { - var item = '', - names = (typeof contact.names != "undefined") ? contact.names : GlobalWidget.cleanPhone(contact.phone_id), - surnames = (typeof contact.surnames != "undefined") ? contact.surnames : ''; - - var op = (contact.status == "request") ? "waiting" : ' '; - - item = '
\n' + - '
\n' + - '
\n' + - '
\n' + - '
\n' + - '
\n' + - '
' + names + ' ' + surnames + '
\n' + - '
+' + GlobalWidget.cleanPhone(contact.phone_id) + '
\n' + - '
\n' + - '
' + op + '
\n' + - '
\n' + - ' \n' + - '
'; - return item; - } - }; - ContactRequestsWidget.init(); - - /** - * Add Contact Widget - * @type {{elements: {}, init: init, bindUIActions: bindUIActions}} - */ - AddContactWidget = { - elements: { - newContact: "#new_contact", - newContactView: "#new_contact_view", - code: "#new_contact_view #code", - number: "#new_contact_view #number", - addContactBtn: "#new_contact_view #addContactBtn" - }, - init: function () { - this.subscribe(); - this.bindUIActions(); - }, - subscribe: function () { - GlobalWidget.subscribe('io.ok.roster.contact', this, this.friendRequest); - }, - bindUIActions: function () { - var el = this.elements; - - $(el.newContact).on("click", function () { - //@TODO: need to refactor the code below - var hidden = $('#new_contact_view').is(':hidden'); - - $('#tool_bar').css("width", ''); - $('#chat').css("width", ''); - $('.chat_wrapper').css("padding", ''); - if (hidden) { - $("#logo_wrap").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var tool_bar_width = ((DashboardWidget.settings.vw * $('#tool_bar').width()) - DashboardWidget.settings.panels_options['new_contact_view']['width']) + 'vw'; - $('#tool_bar').css("width", tool_bar_width); - - $('#chats_list, #contacts_list_view, #profile_view, #videos_list, #files_list, #photos_list, #links_list, #contact_requests_view').hide(); - - $("#new_contact_view, .drag_handle_left").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var vw = (100 / $(document).width()); - - var chat_width = ((DashboardWidget.settings.vw * $('#chat').width()) - DashboardWidget.settings.panels_options['new_contact_view']['width']) + 'vw'; - $('#chat').css("width", chat_width); - - var panel_width = t.settings.panels_options['new_contact_view']['width']; - $('#logo_wrap').css("width", panel_width + 'vw'); - - var padding_chat_wrapper = '0vw ' + ((15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))) + 'vw'; - console.log(padding_chat_wrapper); - $('.chat_wrapper').css("padding", padding_chat_wrapper); - - } else { - $('#logo_wrap, #new_contact_view, .drag_handle_left').hide(); - } - }); - - $(el.addContactBtn).on('click', function () { - var code = $(el.code).val().replace("+", ""), - phone = $(el.number).val().split(" ").join(""); - - //1. search contact for getting friend_id - var msg = enc(encSearch({ - id: GlobalWidget.getRosterId(), - field: "phone", - type: "==", - value: [code + phone], - status: "contact" - })); - - ws.send(msg); - }); - }, - friendRequest: function (res) { - var el = this.elements; - - if ('userlist' in res.data && typeof res.data.userlist[0] != "undefined") { - var phone_id = res.data.userlist[0].phone_id; - - //2. send Friend/Request - var msg = enc(encFriend({ - "phone_id": GlobalWidget.getPhoneNumber() + '_' + GlobalWidget.getRosterId(), - "friend_id": phone_id, - "status": "request" - })); - - ws.send(msg); - - $(ContactRequestsWidget.elements.contactRequest).click(); - } else { - GlobalWidget.errorMsg("Phone was not found.") - } - } - - }; - AddContactWidget.init(); -})(); diff --git a/assets/vendor/utils/global.js b/assets/vendor/utils/global.js deleted file mode 100644 index c8826afbe1f77912ba0860f7f32f3bbb96bf1999..0000000000000000000000000000000000000000 --- a/assets/vendor/utils/global.js +++ /dev/null @@ -1,132 +0,0 @@ -var GlobalWidget; - -(function () { - var el, t; - GlobalWidget = { - events: {}, - settings: {}, - init: function () { - t = this; - el = this.elements; - - //success - //GlobalWidget.subscribe('io.ok.added', this, this.sucsessMsg); - - //errors - GlobalWidget.subscribe('io.ok.error', this, this.errorMsg); - GlobalWidget.subscribe('io.ok2.error', this, this.errorMsg); - GlobalWidget.subscribe('io.error.invalid_sms_code', this, this.errorMsg); - GlobalWidget.subscribe('io.error.session_not_found', this, this.errorMsg); - GlobalWidget.subscribe('io.error.not_authorized', this, this.errorMsg); - GlobalWidget.subscribe('io.error.roster_not_found', this, this.errorMsg); - }, - subscribe: function (eventName, object, callback) { - this.events[eventName] = this.events[eventName] || []; - this.events[eventName].push({object: object, callback: callback}); - }, - unsubscribe: function (eventName, object, callback) { - if (this.events[eventName]) { - for (var i = 0; i < this.events[eventName].length; i++) { - if (this.events[eventName][i].object === object) { - this.events[eventName].splice(i, 1); - break; - } - } - } - }, - publish: function (eventName, data) { - if (this.events[eventName]) { - //@TODO: add support a few eventName by commas - this.events[eventName].forEach(function (instance) { - instance.callback(data); - }); - } - }, - getRosterId: function () { - return localStorage.getItem('rosterId'); - }, - setRosterId: function (res) { - if (typeof res.rosters[0].id != "undefined") { - localStorage.setItem('rosterId', res.rosters[0].id); - localStorage.setItem('roster', res.rosters[0]); - localStorage.setItem('rosterIndex', "0"); - - if (location.pathname != '/web/dashboard.htm' && res.rosters[0].status == 'patch') { - location.replace("/web/dashboard.htm"); - } - } - }, - getRosterIndex: function () { - return localStorage.getItem('rosterIndex'); - }, - setRosterIndex: function (ind) { - return localStorage.setItem('rosterIndex'); - }, - getPhoneNumber: function () { - return t.getPhoneCode().replace("+", "") + t.getPhone(); - }, - getPhoneNumberId: function () { - return t.getPhoneCode().replace("+", "") + t.getPhone() + '_' + t.getRosterId(); - }, - setPhoneCode: function (phoneCode) { - return localStorage.setItem('phoneCode', phoneCode); - }, - getPhoneCode: function () { - return localStorage.getItem('phoneCode'); - }, - getPhone: function () { - return localStorage.getItem('phone'); - }, - setPhone: function (phone) { - return localStorage.setItem('phone', phone); - }, - cleanPhone: function (phone) { - return phone.substr(0, phone.indexOf('_')); - }, - initNotify: function () { - Notify.Settings = {}; - }, - errorMsg: function (res) { - //@TODO: need to refactioring to msg - var msg = (typeof res.code != "undefined" && (typeof res.code.code != "undefined")) ? res.code.code : res; - Notify.Error(GlobalWidget.t(msg)); - }, - sucsessMsg: function (msg) { - Notify.Success(GlobalWidget.t(msg)); - }, - warningMsg: function (msg) { - Notify.Warning(GlobalWidget.t(msg)); - }, - convertUnixTime(unixtime) { - var u = new Date(unixtime); - - return u.getFullYear() + - '-' + ('0' + u.getMonth()).slice(-2) + - '-' + ('0' + u.getDate()).slice(-2) + - ' ' + ('0' + u.getHours()).slice(-2) + - ':' + ('0' + u.getMinutes()).slice(-2) + - ':' + ('0' + u.getSeconds()).slice(-2); - }, - t: function (msg, lang) { - var lang = lang | "en"; - //@TODO: add translation logic - return msg; - }, - messages: function (code, placeholders) { - var placeholders = placeholders || []; //@TODO: use in in the future - - //@TODO: move to settings file e.g. JSON - var codes = { - 1100: "Profile was updated.", - 1101: "First name is needed so other people know with whom they are talking.", - 1102: "Sorry, this username is already taken.", - 1103: "Username should contain at least 2 symbols.", - 1104: "Sorry, this username is invalid." - }; - - return (typeof codes[code] != "undefined") ? this.t(codes[code]) : this.t("Undefined error"); - }, - }; - - GlobalWidget.init(); -}()); \ No newline at end of file diff --git a/assets/vendor/utils/handlers.js b/assets/vendor/utils/handlers.js deleted file mode 100644 index 1b8d4b620a12ae2dfa8e68d42a794b0c0a017482..0000000000000000000000000000000000000000 --- a/assets/vendor/utils/handlers.js +++ /dev/null @@ -1,181 +0,0 @@ -/** - * NYNJA PROTOCOL HANDLERS - */ - -/** - * IO: Exceptions and Effects Protocol - * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/IO.md - */ -var $io = {}; $io.on = function onio(r, cb) { - if (is(r, lenio(), 'io')) { - try { - var res = decio(r); - var e = 'io.' + res.code.tup; - - if (typeof res.code.code != 'undefined') { - e += '.' + res.code.code; - } else if (typeof res.data.tup != "undefined") { - //console.log(res.data); - if (res.data.tup == "Roster" && typeof res.data.status != "undefined") { - e += '.' + res.data.tup.toLowerCase() + '.' + res.data.status; - } - } - - console.log("Subscribe event: " + e); - //console.log(r); - //console.log(res); - - GlobalWidget.publish(e, res); - return { status: "ok" }; - } catch (e) { - console.log(e); - return { status: '' }; - } - } else return { status: '' }; -}; - -/** - * SERVER protocol for getting response from middleware - * @type {{}} - */ -var $server = {}; $server.on = function onserver(r, cb) { - if (is(r, 2, 'server')) { - console.log(r['v'][1]); - if (typeof cb == 'function') cb(r); return { status: "ok" }; - } else return { status: '' }; -} - -/** - * ROSTER: Managing Contact and Chat Lists - * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/ROSTER.md - */ -var $roster = {}; $roster.on = function onroster(r, cb) { - if (is(r, lenRoster(), 'Roster')) { - var res = decRoster(r), - e = 'roster.' + res.status; - - console.log("Subscribe event: " + e); - GlobalWidget.publish(e, res); - - if (typeof cb == 'function') cb(r); return { status: "ok" }; - } else return { status: '' }; -}; - -/** - * PROFILE: Managing Phone Accounts - * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/PROFILE.md - * - * Example: - * {'Profile',<<"380509826188">>, - [{'Service',<<"107644">>,vox, - {'Vox',<<"107644">>,<<"User380509826188-fajz">>, - <<"qrfap5uf">>}, - added}], - [{'Roster',1,[],[],[],[], - [{'Contact',<<"380509826188_1">>,[],[],[],[],[],[],0,[], - 1507034024571,online,friend}], - [],[],[],<<"380509826188">>,[],0,[]}], - [],1507034024571,online,init} - - */ -var $profile = {}; $profile.on = function onprofile(r, cb) { - if (is(r, lenProfile(), 'Profile')) { - var res = decProfile(r), - e = 'profile.' + res.status; - - console.log("Subscribe event: " + e); - //console.log(r); - //console.log(res); - - GlobalWidget.publish(e, res); - - if (typeof cb == 'function') cb(r); return { status: "ok" }; - } else return { status: '' }; -}; - -/** - * PERSON: External Settings - * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/PERSON.md - */ -var $person = {}; $person.on = function onperson(r, cb) { - if (is(r, lenPerson(), 'Person')) { - - var res = decPerson(r), - e = 'person.' + res.status; - - console.log("Subscribe event: " + e); - //console.log(r); - //console.log(res); - - GlobalWidget.publish(e, res); - - if (typeof cb == 'function') cb(r); return { status: "ok" }; - } else return { status: '' }; -}; - -/** - * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/ROSTER.md - */ -var $contact = {}; $contact.on = function oncontact(r, cb) { - if (is(r, lenContact(), 'Contact')) { - var res = decContact(r), - e = 'contact.' + res.status; - - console.log("Subscribe event: " + e); - - GlobalWidget.publish(e, res); - - if (typeof cb == 'function') cb(r); return { status: "ok" }; - } else return { status: '' }; -}; - -/** - * Friend - * @type {{}} - */ -var $friend = {}; $friend.on = function onfriend(r, cb) { - if (is(r, lenFriend(), 'Friend')) { - var res = decFriend(r), - e = 'friend.' + res.status; - - console.log("Subscribe event: " + e); - - GlobalWidget.publish(e, res); - - if (typeof cb == 'function') cb(r); return { status: "ok" }; - } else return { status: '' }; -}; - -/** - * MESSAGE: Retrieve History - * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/MESSAGE.md - */ -var $history = {}; $history.on = function onhistory(r, cb) { - if (is(r, lenHistory(), 'History')) { - var res = decHistory(r), - e = 'history.' + res.status; - - console.log("Subscribe event: " + e); - - GlobalWidget.publish(e, res); - - if (typeof cb == 'function') cb(r); return { status: "ok" }; - } else return { status: '' }; -}; - -/** - * MESSAGE: Sending and Receiving Messages - * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/MESSAGE.md - */ -var $message = {}; $message.on = function onmessage(r, cb) { - if (is(r, lenMessage(), 'Message')) { - var res = decMessage(r), - e = 'message.' + res.status; - - console.log("Subscribe event: " + e); - - GlobalWidget.publish(e, res); - - if (typeof cb == 'function') cb(r); return { status: "ok" }; - } else return { status: '' }; -}; \ No newline at end of file diff --git a/assets/vendor/utils/json-bert-old.js b/assets/vendor/utils/json-bert-old.js deleted file mode 100644 index 2a63b44c1ea9885af7867b240a6a2b73c1e87f73..0000000000000000000000000000000000000000 --- a/assets/vendor/utils/json-bert-old.js +++ /dev/null @@ -1,1019 +0,0 @@ -function clean(r) { for(var k in r) if(!r[k]) delete r[k]; return r; } -function check_len(x) { try { return (eval('len'+utf8_dec(x.v[0].v))() == x.v.length) ? true : false } -catch (e) { return false; } } - -function scalar(data) { - var res = undefined; - switch (typeof data) { - case 'string': res = bin(data); break; case 'number': res = number(data); break; - default: console.log('Strange data: ' + data); } - return res; }; -function nil() { return {t: 106, v: undefined}; }; - -function decode(x) { - if (typeof x == "undefined"){ //@TODO: need to add this condition to generator of models - return x; - } else if (x.t == 108) { - var r = []; x.v.forEach(function(y) { r.push(decode(y)) }); return r; - } else if (x.t == 109) { - return utf8_dec(x.v); - } else if (x.t == 104 && check_len(x)) { - return eval('dec'+x.v[0].v)(x); - } else if (x.t == 104) { - var r=[]; x.v.forEach(function(a){r.push(decode(a))}); - return Object.assign({tup:'$'}, r); - } else return x.v; -} - -function encode(x) { - if (Array.isArray(x)) { - var r = []; x.forEach(function(y) { r.push(encode(y)) }); return {t:108,v:r}; - } else if (typeof x == 'object') { - switch (x.tup) { - case '$': delete x['tup']; var r=[]; - Object.keys(x).map(function(p){return x[p];}).forEach(function(a){r.push(encode(a))}); - return {t:104, v:r}; - default: return eval('enc'+x.tup)(x); } - } else return scalar(x); -} - -function encwriter(d) { - var tup = atom('writer'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - var cache = 'cache' in d && d.cache ? encode(d.cache) : nil(); - var args = 'args' in d && d.args ? encode(d.args) : nil(); - var first = 'first' in d && d.first ? encode(d.first) : nil(); - return tuple(tup,id,count,cache,args,first); } - -function lenwriter() { return 6; } -function decwriter(d) { - var r={}; r.tup = 'writer'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.count = d && d.v[2] ? d.v[2].v : undefined; - r.cache = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; - r.first = d && d.v[5] ? decode(d.v[5].v) : undefined; - return clean(r); } - -function encreader(d) { - var tup = atom('reader'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var pos = 'pos' in d && d.pos ? number(d.pos) : nil(); - var cache = 'cache' in d && d.cache ? number(d.cache) : nil(); - var args = 'args' in d && d.args ? encode(d.args) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); - return tuple(tup,id,pos,cache,args,feed,dir); } - -function lenreader() { return 7; } -function decreader(d) { - var r={}; r.tup = 'reader'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.pos = d && d.v[2] ? d.v[2].v : undefined; - r.cache = d && d.v[3] ? d.v[3].v : undefined; - r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; - r.feed = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.dir = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); } - -function enccur(d) { - var tup = atom('cur'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var bot = 'bot' in d && d.bot ? number(d.bot) : nil(); - var dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); - var reader = 'reader' in d && d.reader ? encode(d.reader) : nil(); - var writer = 'writer' in d && d.writer ? encode(d.writer) : nil(); - var args = []; if ('args' in d && d.args) - { d.args.forEach(function(x){ - args.push(encode(x))}); - args={t:108,v:args}; } else { args = nil() }; - return tuple(tup,id,top,bot,dir,reader,writer,args); } - -function lencur() { return 8; } -function deccur(d) { - var r={}; r.tup = 'cur'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.bot = d && d.v[3] ? d.v[3].v : undefined; - r.dir = d && d.v[4] ? decode(d.v[4]) : undefined; - r.reader = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.writer = d && d.v[6] ? decode(d.v[6].v) : undefined; - r.args = []; - (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach(function(x){r.args.push(decode(x))}) : - r.args = undefined; - return clean(r); } - -function enciter(d) { - var tup = atom('iter'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - return tuple(tup,id,container,feed,next,prev); } - -function leniter() { return 6; } -function deciter(d) { - var r={}; r.tup = 'iter'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.next = d && d.v[4] ? d.v[4].v : undefined; - r.prev = d && d.v[5] ? d.v[5].v : undefined; - return clean(r); } - -function enccontainer(d) { - var tup = atom('container'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,id,top,rear,count); } - -function lencontainer() { return 5; } -function deccontainer(d) { - var r={}; r.tup = 'container'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); } - -function enciterator(d) { - var tup = atom('iterator'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - return tuple(tup,id,container,feed_id,prev,next,feeds); } - -function leniterator() { return 7; } -function deciterator(d) { - var r={}; r.tup = 'iterator'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : - r.feeds = undefined; - return clean(r); } - -function enclog(d) { - var tup = atom('log'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,id,top,rear,count); } - -function lenlog() { return 5; } -function declog(d) { - var r={}; r.tup = 'log'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); } - -function encoperation(d) { - var tup = atom('operation'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - return tuple(tup,id,container,feed_id,prev,next,feeds); } - -function lenoperation() { return 7; } -function decoperation(d) { - var r={}; r.tup = 'operation'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : - r.feeds = undefined; - return clean(r); } - -function encerror(d) { - var tup = atom('error'); - var code = 'code' in d && d.code ? encode(d.code) : nil(); - return tuple(tup,code); } - -function lenerror() { return 2; } -function decerror(d) { - var r={}; r.tup = 'error'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - return clean(r); } - -function encok(d) { - var tup = atom('ok'); - var code = 'code' in d && d.code ? encode(d.code) : nil(); - return tuple(tup,code); } - -function lenok() { return 2; } -function decok(d) { - var r={}; r.tup = 'ok'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - return clean(r); } - -function encerror2(d) { - var tup = atom('error2'); - var code = 'code' in d && d.code ? atom(d.code) : nil(); - var src = 'src' in d && d.src ? encode(d.src) : nil(); - return tuple(tup,code,src); } - -function lenerror2() { return 3; } -function decerror2(d) { - var r={}; r.tup = 'error2'; - r.code = d && d.v[1] ? d.v[1].v : undefined; - r.src = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); } - -function encok2(d) { - var tup = atom('ok2'); - var code = 'code' in d && d.code ? atom(d.code) : nil(); - var src = 'src' in d && d.src ? encode(d.src) : nil(); - return tuple(tup,code,src); } - -function lenok2() { return 3; } -function decok2(d) { - var r={}; r.tup = 'ok2'; - r.code = d && d.v[1] ? d.v[1].v : undefined; - r.src = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); } - -function encio(d) { - var tup = atom('io'); - var code = 'code' in d && d.code ? encode(d.code) : nil(); - var data = 'data' in d && d.data ? encode(d.data) : nil(); - return tuple(tup,code,data); } - -function lenio() { return 3; } -function decio(d) { - var r={}; r.tup = 'io'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - r.data = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); } - -function encchain(d) { - var tup = atom('chain'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,id,top,rear,count); } - -function lenchain() { return 5; } -function decchain(d) { - var r={}; r.tup = 'chain'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); } - -function encpush(d) { - var tup = atom('push'); - var model = 'model' in d && d.model ? bin(d.model) : nil(); - var type = 'type' in d && d.type ? bin(d.type) : nil(); - var title = 'title' in d && d.title ? bin(d.title) : nil(); - var alert = 'alert' in d && d.alert ? bin(d.alert) : nil(); - var badge = 'badge' in d && d.badge ? number(d.badge) : nil(); - var sound = 'sound' in d && d.sound ? bin(d.sound) : nil(); - return tuple(tup,model,type,title,alert,badge,sound); } - -function lenpush() { return 7; } -function decpush(d) { - var r={}; r.tup = 'push'; - r.model = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.type = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.title = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.alert = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.badge = d && d.v[5] ? d.v[5].v : undefined; - r.sound = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - return clean(r); } - -function encSearch(d) { - var tup = atom('Search'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var ref = 'ref' in d && d.ref ? bin(d.ref) : nil(); - var field = 'field' in d && d.field ? bin(d.field) : nil(); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var value = 'value' in d && d.value ? encode(d.value) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,ref,field,type,value,status); } - -function lenSearch() { return 7; } -function decSearch(d) { - var r={}; r.tup = 'Search'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.ref = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.field = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.type = d && d.v[4] ? decode(d.v[4]) : undefined; - r.value = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.status = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); } - -function encp2p(d) { - var tup = atom('p2p'); - var from = 'from' in d && d.from ? bin(d.from) : nil(); - var to = 'to' in d && d.to ? bin(d.to) : nil(); - return tuple(tup,from,to); } - -function lenp2p() { return 3; } -function decp2p(d) { - var r={}; r.tup = 'p2p'; - r.from = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.to = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - return clean(r); } - -function encmuc(d) { - var tup = atom('muc'); - var name = 'name' in d && d.name ? bin(d.name) : nil(); - return tuple(tup,name); } - -function lenmuc() { return 2; } -function decmuc(d) { - var r={}; r.tup = 'muc'; - r.name = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - return clean(r); } - -function encCDR(d) { - var tup = atom('CDR'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var from = 'from' in d && d.from ? bin(d.from) : nil(); - var to = 'to' in d && d.to ? bin(d.to) : nil(); - var start = 'start' in d && d.start ? number(d.start) : nil(); - var stop = 'stop' in d && d.stop ? number(d.stop) : nil(); - var type = 'type' in d && d.type ? encode(d.type) : nil(); - var desc = 'desc' in d && d.desc ? bin(d.desc) : nil(); - var bill = 'bill' in d && d.bill ? number(d.bill) : nil(); - var tariff = 'tariff' in d && d.tariff ? bin(d.tariff) : nil(); - return tuple(tup,id,container,feed,next,prev,from,to,start,stop,type, - desc,bill,tariff); } - -function lenCDR() { return 14; } -function decCDR(d) { - var r={}; r.tup = 'CDR'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.next = d && d.v[4] ? d.v[4].v : undefined; - r.prev = d && d.v[5] ? d.v[5].v : undefined; - r.from = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.to = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.start = d && d.v[8] ? d.v[8].v : undefined; - r.stop = d && d.v[9] ? d.v[9].v : undefined; - r.type = d && d.v[10] ? decode(d.v[10]) : undefined; - r.desc = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.bill = d && d.v[12] ? d.v[12].v : undefined; - r.tariff = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; - return clean(r); } - -function encMember(d) { - var tup = atom('Member'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? encode(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - var names = 'names' in d && d.names ? bin(d.names) : nil(); - var surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - var alias = 'alias' in d && d.alias ? bin(d.alias) : nil(); - var email = 'email' in d && d.email ? bin(d.email) : nil(); - var vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); - var reader = 'reader' in d && d.reader ? number(d.reader) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,container,feed_id,prev,next,feeds,phone_id,avatar,names,surnames, - alias,email,vox_id,reader,update,presence,status); } - -function lenMember() { return 18; } -function decMember(d) { - var r={}; r.tup = 'Member'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? decode(d.v[2]) : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : - r.feeds = undefined; - r.phone_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.avatar = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; - r.names = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; - r.surnames = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.alias = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.email = d && d.v[12] ? utf8_dec(d.v[12].v) : undefined; - r.vox_id = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; - r.reader = d && d.v[14] ? d.v[14].v : undefined; - r.update = d && d.v[15] ? d.v[15].v : undefined; - r.presence = d && d.v[16] ? decode(d.v[16]) : undefined; - r.status = d && d.v[17] ? decode(d.v[17]) : undefined; - return clean(r); } - -function encCursor(d) { - var tup = atom('Cursor'); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - var position = 'position' in d && d.position ? number(d.position) : nil(); - return tuple(tup,feed,roster_id,position); } - -function lenCursor() { return 4; } -function decCursor(d) { - var r={}; r.tup = 'Cursor'; - r.feed = d && d.v[1] ? decode(d.v[1]) : undefined; - r.roster_id = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.position = d && d.v[3] ? d.v[3].v : undefined; - return clean(r); } - -function encPerson(d) { - var tup = atom('Person'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var phonelist = []; if ('phonelist' in d && d.phonelist) - { d.phonelist.forEach(function(x){ - phonelist.push(encode(x))}); - phonelist={t:108,v:phonelist}; } else { phonelist = nil() }; - var alias = []; if ('alias' in d && d.alias) - { d.alias.forEach(function(x){ - alias.push(encode(x))}); - alias={t:108,v:alias}; } else { alias = nil() }; - var localize = []; if ('localize' in d && d.localize) - { d.localize.forEach(function(x){ - localize.push(encode(x))}); - localize={t:108,v:localize}; } else { localize = nil() }; - var NotificationSettings = []; if ('NotificationSettings' in d && d.NotificationSettings) - { d.NotificationSettings.forEach(function(x){ - NotificationSettings.push(encode(x))}); - NotificationSettings={t:108,v:NotificationSettings}; } else { NotificationSettings = nil() }; - var SoundSettings = []; if ('SoundSettings' in d && d.SoundSettings) - { d.SoundSettings.forEach(function(x){ - SoundSettings.push(encode(x))}); - SoundSettings={t:108,v:SoundSettings}; } else { SoundSettings = nil() }; - var ThemeID = 'ThemeID' in d && d.ThemeID ? bin(d.ThemeID) : nil(); - var BlockUsers = []; if ('BlockUsers' in d && d.BlockUsers) - { d.BlockUsers.forEach(function(x){ - BlockUsers.push(encode(x))}); - BlockUsers={t:108,v:BlockUsers}; } else { BlockUsers = nil() }; - var balance = 'balance' in d && d.balance ? number(d.balance) : nil(); - var isParticipants = []; if ('isParticipants' in d && d.isParticipants) - { d.isParticipants.forEach(function(x){ - isParticipants.push(encode(x))}); - isParticipants={t:108,v:isParticipants}; } else { isParticipants = nil() }; - var status = 'status' in d && d.status ? encode(d.status) : nil(); - return tuple(tup,id,phonelist,alias,localize,NotificationSettings,SoundSettings,ThemeID,BlockUsers,balance,isParticipants,status); } - -function lenPerson() { return 12; } -function decPerson(d) { - var r={}; r.tup = 'Person'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.phonelist = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.phonelist.push(decode(x))}) : - r.phonelist = undefined; - r.alias = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.alias.push(decode(x))}) : - r.alias = undefined; - r.localize = []; - (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach(function(x){r.localize.push(decode(x))}) : - r.localize = undefined; - r.NotificationSettings = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach(function(x){r.NotificationSettings.push(decode(x))}) : - r.NotificationSettings = undefined; - r.SoundSettings = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.SoundSettings.push(decode(x))}) : - r.SoundSettings = undefined; - r.ThemeID = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.BlockUsers = []; - (d && d.v[8] && d.v[8].v) ? - d.v[8].v.forEach(function(x){r.BlockUsers.push(decode(x))}) : - r.BlockUsers = undefined; - r.balance = d && d.v[9] ? d.v[9].v : undefined; - r.isParticipants = []; - (d && d.v[10] && d.v[10].v) ? - d.v[10].v.forEach(function(x){r.isParticipants.push(decode(x))}) : - r.isParticipants = undefined; - r.status = d && d.v[11] ? decode(d.v[11]) : undefined; - return clean(r); } - -function encDesc(d) { - var tup = atom('Desc'); - var mime = 'mime' in d && d.mime ? bin(d.mime) : nil(); - var payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); - var size = 'size' in d && d.size ? number(d.size) : nil(); - var filename = 'filename' in d && d.filename ? bin(d.filename) : nil(); - var info = 'info' in d && d.info ? bin(d.info) : nil(); - return tuple(tup,mime,payload,size,filename,info); } - -function lenDesc() { return 6; } -function decDesc(d) { - var r={}; r.tup = 'Desc'; - r.mime = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.size = d && d.v[3] ? d.v[3].v : undefined; - r.filename = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.info = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - return clean(r); } - -function encMessage(d) { - var tup = atom('Message'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - //var container = 'container' in d && d.container ? encode(d.container) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var msg_id = 'msg_id' in d && d.msg_id ? bin(d.msg_id) : nil(); - var from = 'from' in d && d.from ? bin(d.from) : nil(); - var to = 'to' in d && d.to ? bin(d.to) : nil(); - var created = 'created' in d && d.created ? encode(d.created) : nil(); - var files = []; if ('files' in d && d.files) - { d.files.forEach(function(x){ - files.push(encode(x))}); - files={t:108,v:files}; } else { files = nil() }; - var type = 'type' in d && d.type ? encode(d.type) : nil(); - var edit_msg = 'edit_msg' in d && d.edit_msg ? number(d.edit_msg) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,container,feed_id,prev,next,msg_id,from,to,created,files, - type,edit_msg,status); } - -function lenMessage() { return 14; } -function decMessage(d) { - var r={}; r.tup = 'Message'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? decode(d.v[2]) : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.msg_id = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.from = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.to = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; - r.created = d && d.v[9] ? decode(d.v[9]) : undefined; - r.files = []; - (d && d.v[10] && d.v[10].v) ? - d.v[10].v.forEach(function(x){r.files.push(decode(x))}) : - r.files = undefined; - r.type = d && d.v[11] ? decode(d.v[11]) : undefined; - r.edit_msg = d && d.v[12] ? d.v[12].v : undefined; - r.status = d && d.v[13] ? decode(d.v[13]) : undefined; - return clean(r); } - -function encRoom(d) { - var tup = atom('Room'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var description = 'description' in d && d.description ? bin(d.description) : nil(); - var settings = []; if ('settings' in d && d.settings) - { d.settings.forEach(function(x){ - settings.push(encode(x))}); - settings={t:108,v:settings}; } else { settings = nil() }; - var members = []; if ('members' in d && d.members) - { d.members.forEach(function(x){ - members.push(encode(x))}); - members={t:108,v:members}; } else { members = nil() }; - var admins = []; if ('admins' in d && d.admins) - { d.admins.forEach(function(x){ - admins.push(encode(x))}); - admins={t:108,v:admins}; } else { admins = nil() }; - var data = []; if ('data' in d && d.data) - { d.data.forEach(function(x){ - data.push(encode(x))}); - data={t:108,v:data}; } else { data = nil() }; - var type = 'type' in d && d.type ? encode(d.type) : nil(); - var tos = 'tos' in d && d.tos ? bin(d.tos) : nil(); - var unread = 'unread' in d && d.unread ? number(d.unread) : nil(); - var last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var created = 'created' in d && d.created ? number(d.created) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,name,description,settings,members,admins,data,type,tos,unread, - last_msg,update,created,status); } - -function lenRoom() { return 15; } -function decRoom(d) { - var r={}; r.tup = 'Room'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.description = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.settings = []; - (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach(function(x){r.settings.push(decode(x))}) : - r.settings = undefined; - r.members = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach(function(x){r.members.push(decode(x))}) : - r.members = undefined; - r.admins = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.admins.push(decode(x))}) : - r.admins = undefined; - r.data = []; - (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach(function(x){r.data.push(decode(x))}) : - r.data = undefined; - r.type = d && d.v[8] ? decode(d.v[8]) : undefined; - r.tos = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; - r.unread = d && d.v[10] ? d.v[10].v : undefined; - r.last_msg = d && d.v[11] ? decode(d.v[11]) : undefined; - r.update = d && d.v[12] ? d.v[12].v : undefined; - r.created = d && d.v[13] ? d.v[13].v : undefined; - r.status = d && d.v[14] ? decode(d.v[14]) : undefined; - return clean(r); } - -function encTag(d) { - var tup = atom('Tag'); - var roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var color = 'color' in d && d.color ? bin(d.color) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,roster_id,name,color,status); } - -function lenTag() { return 5; } -function decTag(d) { - var r={}; r.tup = 'Tag'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.color = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.status = d && d.v[4] ? decode(d.v[4]) : undefined; - return clean(r); } - -function encStar(d) { - var tup = atom('Star'); - var roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - var message = 'message' in d && d.message ? encode(d.message) : nil(); - var tags = []; if ('tags' in d && d.tags) - { d.tags.forEach(function(x){ - tags.push(encode(x))}); - tags={t:108,v:tags}; } else { tags = nil() }; - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,roster_id,message,tags,status); } - -function lenStar() { return 5; } -function decStar(d) { - var r={}; r.tup = 'Star'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.message = d && d.v[2] ? decode(d.v[2]) : undefined; - r.tags = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.tags.push(decode(x))}) : - r.tags = undefined; - r.status = d && d.v[4] ? decode(d.v[4]) : undefined; - return clean(r); } - -function encHistory(d) { - var tup = atom('History'); - var roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - var contact_id = 'contact_id' in d && d.contact_id ? bin(d.contact_id) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var size = 'size' in d && d.size ? number(d.size) : nil(); - var data = []; if ('data' in d && d.data) - { d.data.forEach(function(x){ - data.push(encode(x))}); - data={t:108,v:data}; } else { data = nil() }; - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,roster_id,contact_id,feed,size,data,status); } - -function lenHistory() { return 7; } -function decHistory(d) { - var r={}; r.tup = 'History'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.contact_id = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.feed = d && d.v[3] ? decode(d.v[3]) : undefined; - r.size = d && d.v[4] ? d.v[4].v : undefined; - r.data = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach(function(x){r.data.push(decode(x))}) : - r.data = undefined; - r.status = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); } - -function encTyping(d) { - var tup = atom('Typing'); - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var comments = 'comments' in d && d.comments ? encode(d.comments) : nil(); - return tuple(tup,phone_id,comments); } - -function lenTyping() { return 3; } -function decTyping(d) { - var r={}; r.tup = 'Typing'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.comments = d && d.v[2] ? decode(d.v[2].v) : undefined; - return clean(r); } - -function encContact(d) { - var tup = atom('Contact'); - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - var names = 'names' in d && d.names ? bin(d.names) : nil(); - var surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - var nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); - var email = 'email' in d && d.email ? bin(d.email) : nil(); - var vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); - var reader = 'reader' in d && d.reader ? number(d.reader) : nil(); - var unread = 'unread' in d && d.unread ? number(d.unread) : nil(); - var last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,phone_id,avatar,names,surnames,nick,email,vox_id,reader,unread,last_msg, - update,presence,status); } - -function lenContact() { return 14; } -function decContact(d) { - var r={}; r.tup = 'Contact'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.avatar = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.names = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.surnames = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.email = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.vox_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.reader = d && d.v[8] ? d.v[8].v : undefined; - r.unread = d && d.v[9] ? d.v[9].v : undefined; - r.last_msg = d && d.v[10] ? decode(d.v[10]) : undefined; - r.update = d && d.v[11] ? d.v[11].v : undefined; - r.presence = d && d.v[12] ? d.v[12].v : undefined; - r.status = d && d.v[13] ? decode(d.v[13]) : undefined; - return clean(r); } - -function encAuth(d) { - var tup = atom('Auth'); - var client_id = 'client_id' in d && d.client_id ? bin(d.client_id) : nil(); - var dev_key = 'dev_key' in d && d.dev_key ? bin(d.dev_key) : nil(); - var user_id = 'user_id' in d && d.user_id ? bin(d.user_id) : nil(); - var phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - var token = 'token' in d && d.token ? bin(d.token) : nil(); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var sms_code = 'sms_code' in d && d.sms_code ? bin(d.sms_code) : nil(); - var attempts = 'attempts' in d && d.attempts ? number(d.attempts) : nil(); - var services = []; if ('services' in d && d.services) - { d.services.forEach(function(x){ - services.push(encode(x))}); - services={t:108,v:services}; } else { services = nil() }; - var push = 'push' in d && d.push ? bin(d.push) : nil(); - var os = 'os' in d && d.os ? encode(d.os) : nil(); - var created = 'created' in d && d.created ? encode(d.created) : nil(); - var last_online = 'last_online' in d && d.last_online ? number(d.last_online) : nil(); - return tuple(tup,client_id,dev_key,user_id,phone,token,type,sms_code,attempts,services,push, - os,created,last_online); } - -function lenAuth() { return 14; } -function decAuth(d) { - var r={}; r.tup = 'Auth'; - r.client_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.dev_key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.user_id = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.phone = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.token = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.type = d && d.v[6] ? d.v[6].v : undefined; - r.sms_code = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.attempts = d && d.v[8] ? d.v[8].v : undefined; - r.services = []; - (d && d.v[9] && d.v[9].v) ? - d.v[9].v.forEach(function(x){r.services.push(decode(x))}) : - r.services = undefined; - r.push = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.os = d && d.v[11] ? decode(d.v[11]) : undefined; - r.created = d && d.v[12] ? decode(d.v[12]) : undefined; - r.last_online = d && d.v[13] ? d.v[13].v : undefined; - return clean(r); } - -function encService(d) { - var tup = atom('Service'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var data = 'data' in d && d.data ? encode(d.data) : nil(); - var login = 'login' in d && d.login ? bin(d.login) : nil(); - var password = 'password' in d && d.password ? bin(d.password) : nil(); - var expiration = 'expiration' in d && d.expiration ? number(d.expiration) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,type,data,login,password,expiration,status); } - -function lenService() { return 8; } -function decService(d) { - var r={}; r.tup = 'Service'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.type = d && d.v[2] ? decode(d.v[2]) : undefined; - r.data = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.login = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.password = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.expiration = d && d.v[6] ? d.v[6].v : undefined; - r.status = d && d.v[7] ? decode(d.v[7]) : undefined; - return clean(r); } - -function encRoster(d) { - var tup = atom('Roster'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var names = 'names' in d && d.names ? bin(d.names) : nil(); - var surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - var email = 'email' in d && d.email ? bin(d.email) : nil(); - var nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); - var userlist = []; if ('userlist' in d && d.userlist) - { d.userlist.forEach(function(x){ - userlist.push(encode(x))}); - userlist={t:108,v:userlist}; } else { userlist = nil() }; - var roomlist = []; if ('roomlist' in d && d.roomlist) - { d.roomlist.forEach(function(x){ - roomlist.push(encode(x))}); - roomlist={t:108,v:roomlist}; } else { roomlist = nil() }; - var favorite = []; if ('favorite' in d && d.favorite) - { d.favorite.forEach(function(x){ - favorite.push(encode(x))}); - favorite={t:108,v:favorite}; } else { favorite = nil() }; - var tags = []; if ('tags' in d && d.tags) - { d.tags.forEach(function(x){ - tags.push(encode(x))}); - tags={t:108,v:tags}; } else { tags = nil() }; - var phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - var avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,names,surnames,email,nick,userlist,roomlist,favorite,tags,phone, - avatar,update,status); } - -function lenRoster() { return 14; } -function decRoster(d) { - var r={}; r.tup = 'Roster'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.names = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.surnames = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.email = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.userlist = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.userlist.push(decode(x))}) : - r.userlist = undefined; - r.roomlist = []; - (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach(function(x){r.roomlist.push(decode(x))}) : - r.roomlist = undefined; - r.favorite = []; - (d && d.v[8] && d.v[8].v) ? - d.v[8].v.forEach(function(x){r.favorite.push(decode(x))}) : - r.favorite = undefined; - r.tags = []; - (d && d.v[9] && d.v[9].v) ? - d.v[9].v.forEach(function(x){r.tags.push(decode(x))}) : - r.tags = undefined; - r.phone = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.avatar = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.update = d && d.v[12] ? d.v[12].v : undefined; - r.status = d && d.v[13] ? decode(d.v[13]) : undefined; - return clean(r); } - -function encFeature(d) { - var tup = atom('Feature'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var key = 'key' in d && d.key ? bin(d.key) : nil(); - var value = 'value' in d && d.value ? bin(d.value) : nil(); - var group = 'group' in d && d.group ? bin(d.group) : nil(); - return tuple(tup,id,key,value,group); } - -function lenFeature() { return 5; } -function decFeature(d) { - var r={}; r.tup = 'Feature'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.value = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.group = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - return clean(r); } - -function encProfile(d) { - var tup = atom('Profile'); - var phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - var services = []; if ('services' in d && d.services) - { d.services.forEach(function(x){ - services.push(encode(x))}); - services={t:108,v:services}; } else { services = nil() }; - var rosters = []; if ('rosters' in d && d.rosters) - { d.rosters.forEach(function(x){ - rosters.push(encode(x))}); - rosters={t:108,v:rosters}; } else { rosters = nil() }; - var settings = []; if ('settings' in d && d.settings) - { d.settings.forEach(function(x){ - settings.push(encode(x))}); - settings={t:108,v:settings}; } else { settings = nil() }; - var update = 'update' in d && d.update ? number(d.update) : nil(); - var balance = 'balance' in d && d.balance ? number(d.balance) : nil(); - var presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,phone,services,rosters,settings,update,balance,presence,status); } - -function lenProfile() { return 9; } -function decProfile(d) { - var r={}; r.tup = 'Profile'; - r.phone = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.services = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.services.push(decode(x))}) : - r.services = undefined; - r.rosters = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.rosters.push(decode(x))}) : - r.rosters = undefined; - r.settings = []; - (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach(function(x){r.settings.push(decode(x))}) : - r.settings = undefined; - r.update = d && d.v[5] ? d.v[5].v : undefined; - r.balance = d && d.v[6] ? d.v[6].v : undefined; - r.presence = d && d.v[7] ? d.v[7].v : undefined; - r.status = d && d.v[8] ? d.v[8].v : undefined; - return clean(r); } - -function encLoc(d) { - var tup = atom('Loc'); - var x = 'x' in d && d.x ? bin(d.x) : nil(); - var y = 'y' in d && d.y ? bin(d.y) : nil(); - var z = 'z' in d && d.z ? bin(d.z) : nil(); - return tuple(tup,x,y,z); } - -function lenLoc() { return 4; } -function decLoc(d) { - var r={}; r.tup = 'Loc'; - r.x = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.y = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.z = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - return clean(r); } - -function encFriend(d) { - var tup = atom('Friend'); - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var friend_id = 'friend_id' in d && d.friend_id ? bin(d.friend_id) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,phone_id,friend_id,status); } - -function lenFriend() { return 4; } -function decFriend(d) { - var r={}; r.tup = 'Friend'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.friend_id = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.status = d && d.v[3] ? decode(d.v[3]) : undefined; - return clean(r); } - -function encIndex(d) { - var tup = atom('Index'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var roster = []; if ('roster' in d && d.roster) - { d.roster.forEach(function(x){ - roster.push(encode(x))}); - roster={t:108,v:roster}; } else { roster = nil() }; - return tuple(tup,id,roster); } - -function lenIndex() { return 3; } -function decIndex(d) { - var r={}; r.tup = 'Index'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.roster = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.roster.push(decode(x))}) : - r.roster = undefined; - return clean(r); } - -function encTest(d) { - var tup = atom('Test'); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,type,count); } - -function lenTest() { return 3; } -function decTest(d) { - var r={}; r.tup = 'Test'; - r.type = d && d.v[1] ? decode(d.v[1]) : undefined; - r.count = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); } diff --git a/assets/vendor/utils/json-bert-test.js b/assets/vendor/utils/json-bert-test.js deleted file mode 100644 index cd30810dcbe0c648f5f0e8ec6e9aaf9ea93c5f26..0000000000000000000000000000000000000000 --- a/assets/vendor/utils/json-bert-test.js +++ /dev/null @@ -1,28 +0,0 @@ -function check() { - var res = true; - //@TODO: MORE TEST DATA - testData = [ - 1, - [1, 2, 3], - "string", - {tup: 'io', code: 'login', data: {tup: '$', 0: 'Auth', 1: 12}}, - {tup: 'io', code: 'login', data: {tup: 'Auth'}}, - {tup: 'io', code: 'login', data: {tup: '$', 0: 'пизда', 1: 12}}, - {tup: 'Roster', userlist: [{tup: 'Contact'}], status: 'get'}, - {tup: 'p2p', from: 'хуй', to: 'пизда'}, - {tup: 'Profile', accounts: [1], status: 'maxim'} - ]; - testData.forEach(function (o) { - var o = JSON.stringify(o); - var d = JSON.stringify(decode(dec(enc(encode(o)).buffer))).replace(/\\/g, ''); - - if (JSON.stringify(o) != JSON.stringify(decode(dec(enc(encode(o)).buffer)))) { - console.log("Original: " + o + " <=> Decode: " + d + " %c [Error]", "color: red"); - res = false; - } else { - console.log("Data: " + o + " %c [OK]", "color: green"); - } - }); - - return res; -} diff --git a/assets/vendor/utils/json-bert.js b/assets/vendor/utils/json-bert.js deleted file mode 100644 index 14edf5e13f1b37438c1875362777a8cd1ac75163..0000000000000000000000000000000000000000 --- a/assets/vendor/utils/json-bert.js +++ /dev/null @@ -1,1521 +0,0 @@ -function clean(r) { for(var k in r) if(!r[k]) delete r[k]; return r; } -function check_len(x) { try { return (eval('len'+utf8_dec(x.v[0].v))() == x.v.length) ? true : false } - catch (e) { return false; } } - -function scalar(data) { - var res = undefined; - switch (typeof data) { - case 'string': res = bin(data); break; case 'number': res = number(data); break; - default: console.log('Strange data: ' + data); } - return res; }; -function nil() { return {t: 106, v: undefined}; }; - -function decode(x) { - if (x == undefined) { - return []; - } else if (x.t == 108) { - var r = []; x.v.forEach(function(y) { r.push(decode(y)) }); return r; - } else if (x.t == 109) { - return utf8_dec(x.v); - } else if (x.t == 104 && check_len(x)) { - return eval('dec'+x.v[0].v)(x); - } else if (x.t == 104) { - var r=[]; x.v.forEach(function(a){r.push(decode(a))}); - return Object.assign({tup:'$'}, r); - } else return x.v; -} - -function encode(x) { - if (Array.isArray(x)) { - var r = []; x.forEach(function(y) { r.push(encode(y)) }); return {t:108,v:r}; - } else if (typeof x == 'object') { - switch (x.tup) { - case '$': delete x['tup']; var r=[]; - Object.keys(x).map(function(p){return x[p];}).forEach(function(a){r.push(encode(a))}); - return {t:104, v:r}; - default: return eval('enc'+x.tup)(x); } - } else return scalar(x); -} - -function encwriter(d) { - var tup = atom('writer'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - var cache = 'cache' in d && d.cache ? encode(d.cache) : nil(); - var args = 'args' in d && d.args ? encode(d.args) : nil(); - var first = 'first' in d && d.first ? encode(d.first) : nil(); - return tuple(tup,id,count,cache,args,first); } - -function lenwriter() { return 6; } -function decwriter(d) { - var r={}; r.tup = 'writer'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.count = d && d.v[2] ? d.v[2].v : undefined; - r.cache = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; - r.first = d && d.v[5] ? decode(d.v[5].v) : undefined; - return clean(r); } - -function encreader(d) { - var tup = atom('reader'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var pos = 'pos' in d && d.pos ? number(d.pos) : nil(); - var cache = 'cache' in d && d.cache ? number(d.cache) : nil(); - var args = 'args' in d && d.args ? encode(d.args) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); - return tuple(tup,id,pos,cache,args,feed,dir); } - -function lenreader() { return 7; } -function decreader(d) { - var r={}; r.tup = 'reader'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.pos = d && d.v[2] ? d.v[2].v : undefined; - r.cache = d && d.v[3] ? d.v[3].v : undefined; - r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; - r.feed = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.dir = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); } - -function enccur(d) { - var tup = atom('cur'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var bot = 'bot' in d && d.bot ? number(d.bot) : nil(); - var dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); - var reader = 'reader' in d && d.reader ? encode(d.reader) : nil(); - var writer = 'writer' in d && d.writer ? encode(d.writer) : nil(); - var args = []; if ('args' in d && d.args) - { d.args.forEach(function(x){ - args.push(encode(x))}); - args={t:108,v:args}; } else { args = nil() }; - return tuple(tup,id,top,bot,dir,reader,writer,args); } - -function lencur() { return 8; } -function deccur(d) { - var r={}; r.tup = 'cur'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.bot = d && d.v[3] ? d.v[3].v : undefined; - r.dir = d && d.v[4] ? decode(d.v[4]) : undefined; - r.reader = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.writer = d && d.v[6] ? decode(d.v[6].v) : undefined; - r.args = []; - (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach(function(x){r.args.push(decode(x))}) : - r.args = undefined; - return clean(r); } - -function enciter(d) { - var tup = atom('iter'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - return tuple(tup,id,container,feed,next,prev); } - -function leniter() { return 6; } -function deciter(d) { - var r={}; r.tup = 'iter'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.next = d && d.v[4] ? d.v[4].v : undefined; - r.prev = d && d.v[5] ? d.v[5].v : undefined; - return clean(r); } - -function enccontainer(d) { - var tup = atom('container'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,id,top,rear,count); } - -function lencontainer() { return 5; } -function deccontainer(d) { - var r={}; r.tup = 'container'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); } - -function enciterator(d) { - var tup = atom('iterator'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - return tuple(tup,id,container,feed_id,prev,next,feeds); } - -function leniterator() { return 7; } -function deciterator(d) { - var r={}; r.tup = 'iterator'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : - r.feeds = undefined; - return clean(r); } - -function enclog(d) { - var tup = atom('log'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,id,top,rear,count); } - -function lenlog() { return 5; } -function declog(d) { - var r={}; r.tup = 'log'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); } - -function encoperation(d) { - var tup = atom('operation'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - return tuple(tup,id,container,feed_id,prev,next,feeds); } - -function lenoperation() { return 7; } -function decoperation(d) { - var r={}; r.tup = 'operation'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : - r.feeds = undefined; - return clean(r); } - -function encchain(d) { - var tup = atom('chain'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,id,top,rear,count); } - -function lenchain() { return 5; } -function decchain(d) { - var r={}; r.tup = 'chain'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); } - -function encpush(d) { - var tup = atom('push'); - var model = 'model' in d && d.model ? bin(d.model) : nil(); - var type = 'type' in d && d.type ? bin(d.type) : nil(); - var title = 'title' in d && d.title ? bin(d.title) : nil(); - var alert = 'alert' in d && d.alert ? bin(d.alert) : nil(); - var badge = 'badge' in d && d.badge ? number(d.badge) : nil(); - var sound = 'sound' in d && d.sound ? bin(d.sound) : nil(); - return tuple(tup,model,type,title,alert,badge,sound); } - -function lenpush() { return 7; } -function decpush(d) { - var r={}; r.tup = 'push'; - r.model = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.type = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.title = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.alert = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.badge = d && d.v[5] ? d.v[5].v : undefined; - r.sound = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - return clean(r); } - -function encSearch(d) { - var tup = atom('Search'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var ref = 'ref' in d && d.ref ? bin(d.ref) : nil(); - var field = 'field' in d && d.field ? bin(d.field) : nil(); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var value = 'value' in d && d.value ? encode(d.value) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,ref,field,type,value,status); } - -function lenSearch() { return 7; } -function decSearch(d) { - var r={}; r.tup = 'Search'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.ref = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.field = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.type = d && d.v[4] ? decode(d.v[4]) : undefined; - r.value = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.status = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); } - -function encp2p(d) { - var tup = atom('p2p'); - var from = 'from' in d && d.from ? bin(d.from) : nil(); - var to = 'to' in d && d.to ? bin(d.to) : nil(); - return tuple(tup,from,to); } - -function lenp2p() { return 3; } -function decp2p(d) { - var r={}; r.tup = 'p2p'; - r.from = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.to = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - return clean(r); } - -function encmuc(d) { - var tup = atom('muc'); - var name = 'name' in d && d.name ? bin(d.name) : nil(); - return tuple(tup,name); } - -function lenmuc() { return 2; } -function decmuc(d) { - var r={}; r.tup = 'muc'; - r.name = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - return clean(r); } - -function encCDR(d) { - var tup = atom('CDR'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var from = 'from' in d && d.from ? bin(d.from) : nil(); - var to = 'to' in d && d.to ? bin(d.to) : nil(); - var start = 'start' in d && d.start ? number(d.start) : nil(); - var stop = 'stop' in d && d.stop ? number(d.stop) : nil(); - var type = 'type' in d && d.type ? encode(d.type) : nil(); - var desc = 'desc' in d && d.desc ? bin(d.desc) : nil(); - var bill = 'bill' in d && d.bill ? number(d.bill) : nil(); - var tariff = 'tariff' in d && d.tariff ? bin(d.tariff) : nil(); - return tuple(tup,id,container,feed,next,prev,from,to,start,stop,type, - desc,bill,tariff); } - -function lenCDR() { return 14; } -function decCDR(d) { - var r={}; r.tup = 'CDR'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.next = d && d.v[4] ? d.v[4].v : undefined; - r.prev = d && d.v[5] ? d.v[5].v : undefined; - r.from = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.to = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.start = d && d.v[8] ? d.v[8].v : undefined; - r.stop = d && d.v[9] ? d.v[9].v : undefined; - r.type = d && d.v[10] ? decode(d.v[10]) : undefined; - r.desc = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.bill = d && d.v[12] ? d.v[12].v : undefined; - r.tariff = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; - return clean(r); } - -function encFeature(d) { - var tup = atom('Feature'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var key = 'key' in d && d.key ? bin(d.key) : nil(); - var value = 'value' in d && d.value ? bin(d.value) : nil(); - var group = 'group' in d && d.group ? bin(d.group) : nil(); - return tuple(tup,id,key,value,group); } - -function lenFeature() { return 5; } -function decFeature(d) { - var r={}; r.tup = 'Feature'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.value = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.group = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - return clean(r); } - -function encMember(d) { - var tup = atom('Member'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? encode(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - var names = 'names' in d && d.names ? bin(d.names) : nil(); - var surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - var alias = 'alias' in d && d.alias ? bin(d.alias) : nil(); - var email = 'email' in d && d.email ? bin(d.email) : nil(); - var vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); - var reader = 'reader' in d && d.reader ? number(d.reader) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var settings = []; if ('settings' in d && d.settings) - { d.settings.forEach(function(x){ - settings.push(encode(x))}); - settings={t:108,v:settings}; } else { settings = nil() }; - var presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,container,feed_id,prev,next,feeds,phone_id,avatar,names,surnames, - alias,email,vox_id,reader,update,settings,presence,status); } - -function lenMember() { return 19; } -function decMember(d) { - var r={}; r.tup = 'Member'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? decode(d.v[2]) : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : - r.feeds = undefined; - r.phone_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.avatar = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; - r.names = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; - r.surnames = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.alias = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.email = d && d.v[12] ? utf8_dec(d.v[12].v) : undefined; - r.vox_id = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; - r.reader = d && d.v[14] ? d.v[14].v : undefined; - r.update = d && d.v[15] ? d.v[15].v : undefined; - r.settings = []; - (d && d.v[16] && d.v[16].v) ? - d.v[16].v.forEach(function(x){r.settings.push(decode(x))}) : - r.settings = undefined; - r.presence = d && d.v[17] ? decode(d.v[17]) : undefined; - r.status = d && d.v[18] ? decode(d.v[18]) : undefined; - return clean(r); } - -function encPerson(d) { - var tup = atom('Person'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var phonelist = []; if ('phonelist' in d && d.phonelist) - { d.phonelist.forEach(function(x){ - phonelist.push(encode(x))}); - phonelist={t:108,v:phonelist}; } else { phonelist = nil() }; - var alias = []; if ('alias' in d && d.alias) - { d.alias.forEach(function(x){ - alias.push(encode(x))}); - alias={t:108,v:alias}; } else { alias = nil() }; - var localize = []; if ('localize' in d && d.localize) - { d.localize.forEach(function(x){ - localize.push(encode(x))}); - localize={t:108,v:localize}; } else { localize = nil() }; - var NotificationSettings = []; if ('NotificationSettings' in d && d.NotificationSettings) - { d.NotificationSettings.forEach(function(x){ - NotificationSettings.push(encode(x))}); - NotificationSettings={t:108,v:NotificationSettings}; } else { NotificationSettings = nil() }; - var SoundSettings = []; if ('SoundSettings' in d && d.SoundSettings) - { d.SoundSettings.forEach(function(x){ - SoundSettings.push(encode(x))}); - SoundSettings={t:108,v:SoundSettings}; } else { SoundSettings = nil() }; - var ThemeID = 'ThemeID' in d && d.ThemeID ? bin(d.ThemeID) : nil(); - var BlockUsers = []; if ('BlockUsers' in d && d.BlockUsers) - { d.BlockUsers.forEach(function(x){ - BlockUsers.push(encode(x))}); - BlockUsers={t:108,v:BlockUsers}; } else { BlockUsers = nil() }; - var balance = 'balance' in d && d.balance ? number(d.balance) : nil(); - var isParticipants = []; if ('isParticipants' in d && d.isParticipants) - { d.isParticipants.forEach(function(x){ - isParticipants.push(encode(x))}); - isParticipants={t:108,v:isParticipants}; } else { isParticipants = nil() }; - var status = 'status' in d && d.status ? encode(d.status) : nil(); - return tuple(tup,id,phonelist,alias,localize,NotificationSettings,SoundSettings,ThemeID,BlockUsers,balance,isParticipants,status); } - -function lenPerson() { return 12; } -function decPerson(d) { - var r={}; r.tup = 'Person'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.phonelist = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.phonelist.push(decode(x))}) : - r.phonelist = undefined; - r.alias = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.alias.push(decode(x))}) : - r.alias = undefined; - r.localize = []; - (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach(function(x){r.localize.push(decode(x))}) : - r.localize = undefined; - r.NotificationSettings = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach(function(x){r.NotificationSettings.push(decode(x))}) : - r.NotificationSettings = undefined; - r.SoundSettings = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.SoundSettings.push(decode(x))}) : - r.SoundSettings = undefined; - r.ThemeID = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.BlockUsers = []; - (d && d.v[8] && d.v[8].v) ? - d.v[8].v.forEach(function(x){r.BlockUsers.push(decode(x))}) : - r.BlockUsers = undefined; - r.balance = d && d.v[9] ? d.v[9].v : undefined; - r.isParticipants = []; - (d && d.v[10] && d.v[10].v) ? - d.v[10].v.forEach(function(x){r.isParticipants.push(decode(x))}) : - r.isParticipants = undefined; - r.status = d && d.v[11] ? decode(d.v[11]) : undefined; - return clean(r); } - -function encDesc(d) { - var tup = atom('Desc'); - var mime = 'mime' in d && d.mime ? bin(d.mime) : nil(); - var payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); - var size = 'size' in d && d.size ? number(d.size) : nil(); - var filename = 'filename' in d && d.filename ? bin(d.filename) : nil(); - var info = 'info' in d && d.info ? bin(d.info) : nil(); - return tuple(tup,mime,payload,size,filename,info); } - -function lenDesc() { return 6; } -function decDesc(d) { - var r={}; r.tup = 'Desc'; - r.mime = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.size = d && d.v[3] ? d.v[3].v : undefined; - r.filename = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.info = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - return clean(r); } - -function encMessage(d) { - var tup = atom('Message'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? encode(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var msg_id = 'msg_id' in d && d.msg_id ? bin(d.msg_id) : nil(); - var from = 'from' in d && d.from ? bin(d.from) : nil(); - var to = 'to' in d && d.to ? bin(d.to) : nil(); - var created = 'created' in d && d.created ? encode(d.created) : nil(); - var files = []; if ('files' in d && d.files) - { d.files.forEach(function(x){ - files.push(encode(x))}); - files={t:108,v:files}; } else { files = nil() }; - var type = 'type' in d && d.type ? encode(d.type) : nil(); - var edit_msg = 'edit_msg' in d && d.edit_msg ? number(d.edit_msg) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,container,feed_id,prev,next,msg_id,from,to,created,files, - type,edit_msg,status); } - -function lenMessage() { return 14; } -function decMessage(d) { - var r={}; r.tup = 'Message'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? decode(d.v[2]) : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.msg_id = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.from = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.to = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; - r.created = d && d.v[9] ? decode(d.v[9]) : undefined; - r.files = []; - (d && d.v[10] && d.v[10].v) ? - d.v[10].v.forEach(function(x){r.files.push(decode(x))}) : - r.files = undefined; - r.type = d && d.v[11] ? decode(d.v[11]) : undefined; - r.edit_msg = d && d.v[12] ? d.v[12].v : undefined; - r.status = d && d.v[13] ? decode(d.v[13]) : undefined; - return clean(r); } - -function encRoom(d) { - var tup = atom('Room'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var description = 'description' in d && d.description ? bin(d.description) : nil(); - var settings = []; if ('settings' in d && d.settings) - { d.settings.forEach(function(x){ - settings.push(encode(x))}); - settings={t:108,v:settings}; } else { settings = nil() }; - var members = []; if ('members' in d && d.members) - { d.members.forEach(function(x){ - members.push(encode(x))}); - members={t:108,v:members}; } else { members = nil() }; - var admins = []; if ('admins' in d && d.admins) - { d.admins.forEach(function(x){ - admins.push(encode(x))}); - admins={t:108,v:admins}; } else { admins = nil() }; - var data = []; if ('data' in d && d.data) - { d.data.forEach(function(x){ - data.push(encode(x))}); - data={t:108,v:data}; } else { data = nil() }; - var type = 'type' in d && d.type ? encode(d.type) : nil(); - var tos = 'tos' in d && d.tos ? bin(d.tos) : nil(); - var tos_update = 'tos_update' in d && d.tos_update ? number(d.tos_update) : nil(); - var unread = 'unread' in d && d.unread ? number(d.unread) : nil(); - var last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var created = 'created' in d && d.created ? number(d.created) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,name,description,settings,members,admins,data,type,tos,tos_update, - unread,last_msg,update,created,status); } - -function lenRoom() { return 16; } -function decRoom(d) { - var r={}; r.tup = 'Room'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.description = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.settings = []; - (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach(function(x){r.settings.push(decode(x))}) : - r.settings = undefined; - r.members = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach(function(x){r.members.push(decode(x))}) : - r.members = undefined; - r.admins = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.admins.push(decode(x))}) : - r.admins = undefined; - r.data = []; - (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach(function(x){r.data.push(decode(x))}) : - r.data = undefined; - r.type = d && d.v[8] ? decode(d.v[8]) : undefined; - r.tos = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; - r.tos_update = d && d.v[10] ? d.v[10].v : undefined; - r.unread = d && d.v[11] ? d.v[11].v : undefined; - r.last_msg = d && d.v[12] ? decode(d.v[12]) : undefined; - r.update = d && d.v[13] ? d.v[13].v : undefined; - r.created = d && d.v[14] ? d.v[14].v : undefined; - r.status = d && d.v[15] ? decode(d.v[15]) : undefined; - return clean(r); } - -function encTag(d) { - var tup = atom('Tag'); - var roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var color = 'color' in d && d.color ? bin(d.color) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,roster_id,name,color,status); } - -function lenTag() { return 5; } -function decTag(d) { - var r={}; r.tup = 'Tag'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.color = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.status = d && d.v[4] ? decode(d.v[4]) : undefined; - return clean(r); } - -function encStar(d) { - var tup = atom('Star'); - var roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - var message = 'message' in d && d.message ? encode(d.message) : nil(); - var tags = []; if ('tags' in d && d.tags) - { d.tags.forEach(function(x){ - tags.push(encode(x))}); - tags={t:108,v:tags}; } else { tags = nil() }; - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,roster_id,message,tags,status); } - -function lenStar() { return 5; } -function decStar(d) { - var r={}; r.tup = 'Star'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.message = d && d.v[2] ? decode(d.v[2]) : undefined; - r.tags = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.tags.push(decode(x))}) : - r.tags = undefined; - r.status = d && d.v[4] ? decode(d.v[4]) : undefined; - return clean(r); } - -function encHistory(d) { - var tup = atom('History'); - var roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var size = 'size' in d && d.size ? number(d.size) : nil(); - var entity_id = 'entity_id' in d && d.entity_id ? number(d.entity_id) : nil(); - var data = []; if ('data' in d && d.data) - { d.data.forEach(function(x){ - data.push(encode(x))}); - data={t:108,v:data}; } else { data = nil() }; - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,roster_id,feed,size,entity_id,data,status); } - -function lenHistory() { return 7; } -function decHistory(d) { - var r={}; r.tup = 'History'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.feed = d && d.v[2] ? decode(d.v[2]) : undefined; - r.size = d && d.v[3] ? d.v[3].v : undefined; - r.entity_id = d && d.v[4] ? d.v[4].v : undefined; - r.data = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach(function(x){r.data.push(decode(x))}) : - r.data = undefined; - r.status = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); } - -function encTyping(d) { - var tup = atom('Typing'); - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var comments = 'comments' in d && d.comments ? encode(d.comments) : nil(); - return tuple(tup,phone_id,comments); } - -function lenTyping() { return 3; } -function decTyping(d) { - var r={}; r.tup = 'Typing'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.comments = d && d.v[2] ? decode(d.v[2].v) : undefined; - return clean(r); } - -function encContact(d) { - var tup = atom('Contact'); - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - var names = 'names' in d && d.names ? bin(d.names) : nil(); - var surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - var nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); - var email = 'email' in d && d.email ? bin(d.email) : nil(); - var vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); - var reader = 'reader' in d && d.reader ? number(d.reader) : nil(); - var unread = 'unread' in d && d.unread ? number(d.unread) : nil(); - var last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var settings = []; if ('settings' in d && d.settings) - { d.settings.forEach(function(x){ - settings.push(encode(x))}); - settings={t:108,v:settings}; } else { settings = nil() }; - var presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,phone_id,avatar,names,surnames,nick,email,vox_id,reader,unread,last_msg, - update,settings,presence,status); } - -function lenContact() { return 15; } -function decContact(d) { - var r={}; r.tup = 'Contact'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.avatar = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.names = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.surnames = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.email = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.vox_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.reader = d && d.v[8] ? d.v[8].v : undefined; - r.unread = d && d.v[9] ? d.v[9].v : undefined; - r.last_msg = d && d.v[10] ? decode(d.v[10]) : undefined; - r.update = d && d.v[11] ? d.v[11].v : undefined; - r.settings = []; - (d && d.v[12] && d.v[12].v) ? - d.v[12].v.forEach(function(x){r.settings.push(decode(x))}) : - r.settings = undefined; - r.presence = d && d.v[13] ? d.v[13].v : undefined; - r.status = d && d.v[14] ? decode(d.v[14]) : undefined; - return clean(r); } - -function encAuth(d) { - var tup = atom('Auth'); - var client_id = 'client_id' in d && d.client_id ? bin(d.client_id) : nil(); - var dev_key = 'dev_key' in d && d.dev_key ? bin(d.dev_key) : nil(); - var user_id = 'user_id' in d && d.user_id ? bin(d.user_id) : nil(); - var phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - var token = 'token' in d && d.token ? bin(d.token) : nil(); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var sms_code = 'sms_code' in d && d.sms_code ? bin(d.sms_code) : nil(); - var attempts = 'attempts' in d && d.attempts ? number(d.attempts) : nil(); - var services = []; if ('services' in d && d.services) - { d.services.forEach(function(x){ - services.push(encode(x))}); - services={t:108,v:services}; } else { services = nil() }; - var push = 'push' in d && d.push ? bin(d.push) : nil(); - var os = 'os' in d && d.os ? encode(d.os) : nil(); - var created = 'created' in d && d.created ? encode(d.created) : nil(); - var last_online = 'last_online' in d && d.last_online ? number(d.last_online) : nil(); - return tuple(tup,client_id,dev_key,user_id,phone,token,type,sms_code,attempts,services,push, - os,created,last_online); } - -function lenAuth() { return 14; } -function decAuth(d) { - var r={}; r.tup = 'Auth'; - r.client_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.dev_key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.user_id = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.phone = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.token = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.type = d && d.v[6] ? d.v[6].v : undefined; - r.sms_code = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.attempts = d && d.v[8] ? d.v[8].v : undefined; - r.services = []; - (d && d.v[9] && d.v[9].v) ? - d.v[9].v.forEach(function(x){r.services.push(decode(x))}) : - r.services = undefined; - r.push = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.os = d && d.v[11] ? decode(d.v[11]) : undefined; - r.created = d && d.v[12] ? decode(d.v[12]) : undefined; - r.last_online = d && d.v[13] ? d.v[13].v : undefined; - return clean(r); } - -function encService(d) { - var tup = atom('Service'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var data = 'data' in d && d.data ? encode(d.data) : nil(); - var login = 'login' in d && d.login ? bin(d.login) : nil(); - var password = 'password' in d && d.password ? bin(d.password) : nil(); - var expiration = 'expiration' in d && d.expiration ? number(d.expiration) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,type,data,login,password,expiration,status); } - -function lenService() { return 8; } -function decService(d) { - var r={}; r.tup = 'Service'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.type = d && d.v[2] ? decode(d.v[2]) : undefined; - r.data = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.login = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.password = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.expiration = d && d.v[6] ? d.v[6].v : undefined; - r.status = d && d.v[7] ? decode(d.v[7]) : undefined; - return clean(r); } - -function encRoster(d) { - var tup = atom('Roster'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var names = 'names' in d && d.names ? bin(d.names) : nil(); - var surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - var email = 'email' in d && d.email ? bin(d.email) : nil(); - var nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); - var userlist = []; if ('userlist' in d && d.userlist) - { d.userlist.forEach(function(x){ - userlist.push(encode(x))}); - userlist={t:108,v:userlist}; } else { userlist = nil() }; - var roomlist = []; if ('roomlist' in d && d.roomlist) - { d.roomlist.forEach(function(x){ - roomlist.push(encode(x))}); - roomlist={t:108,v:roomlist}; } else { roomlist = nil() }; - var favorite = []; if ('favorite' in d && d.favorite) - { d.favorite.forEach(function(x){ - favorite.push(encode(x))}); - favorite={t:108,v:favorite}; } else { favorite = nil() }; - var tags = []; if ('tags' in d && d.tags) - { d.tags.forEach(function(x){ - tags.push(encode(x))}); - tags={t:108,v:tags}; } else { tags = nil() }; - var phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - var avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,names,surnames,email,nick,userlist,roomlist,favorite,tags,phone, - avatar,update,status); } - -function lenRoster() { return 14; } -function decRoster(d) { - var r={}; r.tup = 'Roster'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.names = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.surnames = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.email = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.userlist = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.userlist.push(decode(x))}) : - r.userlist = undefined; - r.roomlist = []; - (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach(function(x){r.roomlist.push(decode(x))}) : - r.roomlist = undefined; - r.favorite = []; - (d && d.v[8] && d.v[8].v) ? - d.v[8].v.forEach(function(x){r.favorite.push(decode(x))}) : - r.favorite = undefined; - r.tags = []; - (d && d.v[9] && d.v[9].v) ? - d.v[9].v.forEach(function(x){r.tags.push(decode(x))}) : - r.tags = undefined; - r.phone = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.avatar = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.update = d && d.v[12] ? d.v[12].v : undefined; - r.status = d && d.v[13] ? decode(d.v[13]) : undefined; - return clean(r); } - -function encProfile(d) { - var tup = atom('Profile'); - var phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - var services = []; if ('services' in d && d.services) - { d.services.forEach(function(x){ - services.push(encode(x))}); - services={t:108,v:services}; } else { services = nil() }; - var rosters = []; if ('rosters' in d && d.rosters) - { d.rosters.forEach(function(x){ - rosters.push(encode(x))}); - rosters={t:108,v:rosters}; } else { rosters = nil() }; - var settings = []; if ('settings' in d && d.settings) - { d.settings.forEach(function(x){ - settings.push(encode(x))}); - settings={t:108,v:settings}; } else { settings = nil() }; - var update = 'update' in d && d.update ? number(d.update) : nil(); - var balance = 'balance' in d && d.balance ? number(d.balance) : nil(); - var presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,phone,services,rosters,settings,update,balance,presence,status); } - -function lenProfile() { return 9; } -function decProfile(d) { - var r={}; r.tup = 'Profile'; - r.phone = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.services = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.services.push(decode(x))}) : - r.services = undefined; - r.rosters = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.rosters.push(decode(x))}) : - r.rosters = undefined; - r.settings = []; - (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach(function(x){r.settings.push(decode(x))}) : - r.settings = undefined; - r.update = d && d.v[5] ? d.v[5].v : undefined; - r.balance = d && d.v[6] ? d.v[6].v : undefined; - r.presence = d && d.v[7] ? d.v[7].v : undefined; - r.status = d && d.v[8] ? d.v[8].v : undefined; - return clean(r); } - -function encLoc(d) { - var tup = atom('Loc'); - var x = 'x' in d && d.x ? bin(d.x) : nil(); - var y = 'y' in d && d.y ? bin(d.y) : nil(); - var z = 'z' in d && d.z ? bin(d.z) : nil(); - return tuple(tup,x,y,z); } - -function lenLoc() { return 4; } -function decLoc(d) { - var r={}; r.tup = 'Loc'; - r.x = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.y = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.z = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - return clean(r); } - -function encFriend(d) { - var tup = atom('Friend'); - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var friend_id = 'friend_id' in d && d.friend_id ? bin(d.friend_id) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,phone_id,friend_id,status); } - -function lenFriend() { return 4; } -function decFriend(d) { - var r={}; r.tup = 'Friend'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.friend_id = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.status = d && d.v[3] ? decode(d.v[3]) : undefined; - return clean(r); } - -function encCallMember(d) { - var tup = atom('CallMember'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? encode(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? bin(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var contact = 'contact' in d && d.contact ? encode(d.contact) : nil(); - var start = 'start' in d && d.start ? number(d.start) : nil(); - var stop = 'stop' in d && d.stop ? number(d.stop) : nil(); - var type = 'type' in d && d.type ? encode(d.type) : nil(); - var desc = 'desc' in d && d.desc ? bin(d.desc) : nil(); - var tariff = 'tariff' in d && d.tariff ? bin(d.tariff) : nil(); - var bill = 'bill' in d && d.bill ? number(d.bill) : nil(); - var duration = 'duration' in d && d.duration ? number(d.duration) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,container,feed_id,prev,next,contact,start,stop,type,desc, - tariff,bill,duration,status); } - -function lenCallMember() { return 15; } -function decCallMember(d) { - var r={}; r.tup = 'CallMember'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? decode(d.v[2]) : undefined; - r.feed_id = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.contact = d && d.v[6] ? decode(d.v[6]) : undefined; - r.start = d && d.v[7] ? d.v[7].v : undefined; - r.stop = d && d.v[8] ? d.v[8].v : undefined; - r.type = d && d.v[9] ? decode(d.v[9]) : undefined; - r.desc = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.tariff = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.bill = d && d.v[12] ? d.v[12].v : undefined; - r.duration = d && d.v[13] ? d.v[13].v : undefined; - r.status = d && d.v[14] ? decode(d.v[14]) : undefined; - return clean(r); } - -function encCall(d) { - var tup = atom('Call'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var from = 'from' in d && d.from ? bin(d.from) : nil(); - var members = []; if ('members' in d && d.members) - { d.members.forEach(function(x){ - members.push(encode(x))}); - members={t:108,v:members}; } else { members = nil() }; - var start = 'start' in d && d.start ? number(d.start) : nil(); - var stop = 'stop' in d && d.stop ? number(d.stop) : nil(); - var vox_url = 'vox_url' in d && d.vox_url ? bin(d.vox_url) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,from,members,start,stop,vox_url,status); } - -function lenCall() { return 8; } -function decCall(d) { - var r={}; r.tup = 'Call'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.from = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.members = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.members.push(decode(x))}) : - r.members = undefined; - r.start = d && d.v[4] ? d.v[4].v : undefined; - r.stop = d && d.v[5] ? d.v[5].v : undefined; - r.vox_url = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.status = d && d.v[7] ? decode(d.v[7]) : undefined; - return clean(r); } - -function encIndex(d) { - var tup = atom('Index'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var roster = []; if ('roster' in d && d.roster) - { d.roster.forEach(function(x){ - roster.push(encode(x))}); - roster={t:108,v:roster}; } else { roster = nil() }; - return tuple(tup,id,roster); } - -function lenIndex() { return 3; } -function decIndex(d) { - var r={}; r.tup = 'Index'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.roster = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.roster.push(decode(x))}) : - r.roster = undefined; - return clean(r); } - -function encerror(d) { - var tup = atom('error'); - var code = 'code' in d && d.code ? encode(d.code) : nil(); - return tuple(tup,code); } - -function lenerror() { return 2; } -function decerror(d) { - var r={}; r.tup = 'error'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - return clean(r); } - -function encok(d) { - var tup = atom('ok'); - var code = 'code' in d && d.code ? encode(d.code) : nil(); - return tuple(tup,code); } - -function lenok() { return 2; } -function decok(d) { - var r={}; r.tup = 'ok'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - return clean(r); } - -function encerror2(d) { - var tup = atom('error2'); - var code = 'code' in d && d.code ? atom(d.code) : nil(); - var src = 'src' in d && d.src ? encode(d.src) : nil(); - return tuple(tup,code,src); } - -function lenerror2() { return 3; } -function decerror2(d) { - var r={}; r.tup = 'error2'; - r.code = d && d.v[1] ? d.v[1].v : undefined; - r.src = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); } - -function encok2(d) { - var tup = atom('ok2'); - var code = 'code' in d && d.code ? atom(d.code) : nil(); - var src = 'src' in d && d.src ? encode(d.src) : nil(); - return tuple(tup,code,src); } - -function lenok2() { return 3; } -function decok2(d) { - var r={}; r.tup = 'ok2'; - r.code = d && d.v[1] ? d.v[1].v : undefined; - r.src = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); } - -function encio(d) { - var tup = atom('io'); - var code = 'code' in d && d.code ? encode(d.code) : nil(); - var data = 'data' in d && d.data ? encode(d.data) : nil(); - return tuple(tup,code,data); } - -function lenio() { return 3; } -function decio(d) { - var r={}; r.tup = 'io'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - r.data = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); } - -function encmax_tour(d) { - var tup = atom('max_tour'); - var count = 'count' in d && d.count ? number(d.count) : nil(); - var joined = 'joined' in d && d.joined ? number(d.joined) : nil(); - return tuple(tup,count,joined); } - -function lenmax_tour() { return 3; } -function decmax_tour(d) { - var r={}; r.tup = 'max_tour'; - r.count = d && d.v[1] ? d.v[1].v : undefined; - r.joined = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); } - -function encjoin_application(d) { - var tup = atom('join_application'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var data = 'data' in d && d.data ? encode(d.data) : nil(); - return tuple(tup,id,name,data); } - -function lenjoin_application() { return 4; } -function decjoin_application(d) { - var r={}; r.tup = 'join_application'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.data = d && d.v[3] ? decode(d.v[3].v) : undefined; - return clean(r); } - -function enctour_list(d) { - var tup = atom('tour_list'); - var users = []; if ('users' in d && d.users) - { d.users.forEach(function(x){ - users.push(encode(x))}); - users={t:108,v:users}; } else { users = nil() }; - return tuple(tup,users); } - -function lentour_list() { return 2; } -function dectour_list(d) { - var r={}; r.tup = 'tour_list'; - r.users = []; - (d && d.v[1] && d.v[1].v) ? - d.v[1].v.forEach(function(x){r.users.push(decode(x))}) : - r.users = undefined; - return clean(r); } - -function enctask(d) { - var tup = atom('task'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,roles,module); } - -function lentask() { return 4; } -function dectask(d) { - var r={}; r.tup = 'task'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.module = d && d.v[3] ? d.v[3].v : undefined; - return clean(r); } - -function encuserTask(d) { - var tup = atom('userTask'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,roles,module); } - -function lenuserTask() { return 4; } -function decuserTask(d) { - var r={}; r.tup = 'userTask'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.module = d && d.v[3] ? d.v[3].v : undefined; - return clean(r); } - -function encserviceTask(d) { - var tup = atom('serviceTask'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,roles,module); } - -function lenserviceTask() { return 4; } -function decserviceTask(d) { - var r={}; r.tup = 'serviceTask'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.module = d && d.v[3] ? d.v[3].v : undefined; - return clean(r); } - -function encreceiveTask(d) { - var tup = atom('receiveTask'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,roles,module); } - -function lenreceiveTask() { return 4; } -function decreceiveTask(d) { - var r={}; r.tup = 'receiveTask'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.module = d && d.v[3] ? d.v[3].v : undefined; - return clean(r); } - -function encmessageEvent(d) { - var tup = atom('messageEvent'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); - var timeout = 'timeout' in d && d.timeout ? encode(d.timeout) : nil(); - return tuple(tup,name,payload,timeout); } - -function lenmessageEvent() { return 4; } -function decmessageEvent(d) { - var r={}; r.tup = 'messageEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.timeout = d && d.v[3] ? decode(d.v[3].v) : undefined; - return clean(r); } - -function encboundaryEvent(d) { - var tup = atom('boundaryEvent'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); - var timeout = 'timeout' in d && d.timeout ? encode(d.timeout) : nil(); - var timeDate = 'timeDate' in d && d.timeDate ? bin(d.timeDate) : nil(); - var timeDuration = 'timeDuration' in d && d.timeDuration ? bin(d.timeDuration) : nil(); - var timeCycle = 'timeCycle' in d && d.timeCycle ? bin(d.timeCycle) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,payload,timeout,timeDate,timeDuration,timeCycle,module); } - -function lenboundaryEvent() { return 8; } -function decboundaryEvent(d) { - var r={}; r.tup = 'boundaryEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.timeout = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.timeDate = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.timeDuration = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.timeCycle = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.module = d && d.v[7] ? d.v[7].v : undefined; - return clean(r); } - -function enctimeoutEvent(d) { - var tup = atom('timeoutEvent'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); - var timeout = 'timeout' in d && d.timeout ? encode(d.timeout) : nil(); - var timeDate = 'timeDate' in d && d.timeDate ? bin(d.timeDate) : nil(); - var timeDuration = 'timeDuration' in d && d.timeDuration ? bin(d.timeDuration) : nil(); - var timeCycle = 'timeCycle' in d && d.timeCycle ? bin(d.timeCycle) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,payload,timeout,timeDate,timeDuration,timeCycle,module); } - -function lentimeoutEvent() { return 8; } -function dectimeoutEvent(d) { - var r={}; r.tup = 'timeoutEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.timeout = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.timeDate = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.timeDuration = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.timeCycle = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.module = d && d.v[7] ? d.v[7].v : undefined; - return clean(r); } - -function encbeginEvent(d) { - var tup = atom('beginEvent'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,module); } - -function lenbeginEvent() { return 3; } -function decbeginEvent(d) { - var r={}; r.tup = 'beginEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.module = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); } - -function encendEvent(d) { - var tup = atom('endEvent'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,module); } - -function lenendEvent() { return 3; } -function decendEvent(d) { - var r={}; r.tup = 'endEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.module = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); } - -function encsequenceFlow(d) { - var tup = atom('sequenceFlow'); - var source = 'source' in d && d.source ? atom(d.source) : nil(); - var target = 'target' in d && d.target ? atom(d.target) : nil(); - return tuple(tup,source,target); } - -function lensequenceFlow() { return 3; } -function decsequenceFlow(d) { - var r={}; r.tup = 'sequenceFlow'; - r.source = d && d.v[1] ? d.v[1].v : undefined; - r.target = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); } - -function enchist(d) { - var tup = atom('hist'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var task = 'task' in d && d.task ? atom(d.task) : nil(); - var time = 'time' in d && d.time ? encode(d.time) : nil(); - return tuple(tup,id,container,feed_id,prev,next,feeds,name,task,time); } - -function lenhist() { return 10; } -function dechist(d) { - var r={}; r.tup = 'hist'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : - r.feeds = undefined; - r.name = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.task = d && d.v[8] ? d.v[8].v : undefined; - r.time = d && d.v[9] ? decode(d.v[9].v) : undefined; - return clean(r); } - -function encprocess(d) { - var tup = atom('process'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var roles = []; if ('roles' in d && d.roles) - { d.roles.forEach(function(x){ - roles.push(encode(x))}); - roles={t:108,v:roles}; } else { roles = nil() }; - var tasks = []; if ('tasks' in d && d.tasks) - { d.tasks.forEach(function(x){ - tasks.push(encode(x))}); - tasks={t:108,v:tasks}; } else { tasks = nil() }; - var events = []; if ('events' in d && d.events) - { d.events.forEach(function(x){ - events.push(encode(x))}); - events={t:108,v:events}; } else { events = nil() }; - var hist = 'hist' in d && d.hist ? encode(d.hist) : nil(); - var flows = []; if ('flows' in d && d.flows) - { d.flows.forEach(function(x){ - flows.push(encode(x))}); - flows={t:108,v:flows}; } else { flows = nil() }; - var rules = 'rules' in d && d.rules ? encode(d.rules) : nil(); - var docs = []; if ('docs' in d && d.docs) - { d.docs.forEach(function(x){ - docs.push(encode(x))}); - docs={t:108,v:docs}; } else { docs = nil() }; - var options = 'options' in d && d.options ? encode(d.options) : nil(); - var task = 'task' in d && d.task ? atom(d.task) : nil(); - var timer = 'timer' in d && d.timer ? bin(d.timer) : nil(); - var notifications = 'notifications' in d && d.notifications ? encode(d.notifications) : nil(); - var result = 'result' in d && d.result ? bin(d.result) : nil(); - var started = 'started' in d && d.started ? bin(d.started) : nil(); - var beginEvent = 'beginEvent' in d && d.beginEvent ? atom(d.beginEvent) : nil(); - var endEvent = 'endEvent' in d && d.endEvent ? atom(d.endEvent) : nil(); - return tuple(tup,id,container,feed_id,prev,next,feeds,name,roles,tasks,events, - hist,flows,rules,docs,options,task,timer,notifications,result,started,beginEvent,endEvent); } - -function lenprocess() { return 23; } -function decprocess(d) { - var r={}; r.tup = 'process'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : - r.feeds = undefined; - r.name = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.roles = []; - (d && d.v[8] && d.v[8].v) ? - d.v[8].v.forEach(function(x){r.roles.push(decode(x))}) : - r.roles = undefined; - r.tasks = []; - (d && d.v[9] && d.v[9].v) ? - d.v[9].v.forEach(function(x){r.tasks.push(decode(x))}) : - r.tasks = undefined; - r.events = []; - (d && d.v[10] && d.v[10].v) ? - d.v[10].v.forEach(function(x){r.events.push(decode(x))}) : - r.events = undefined; - r.hist = d && d.v[11] ? decode(d.v[11]) : undefined; - r.flows = []; - (d && d.v[12] && d.v[12].v) ? - d.v[12].v.forEach(function(x){r.flows.push(decode(x))}) : - r.flows = undefined; - r.rules = d && d.v[13] ? decode(d.v[13]) : undefined; - r.docs = []; - (d && d.v[14] && d.v[14].v) ? - d.v[14].v.forEach(function(x){r.docs.push(decode(x))}) : - r.docs = undefined; - r.options = d && d.v[15] ? decode(d.v[15].v) : undefined; - r.task = d && d.v[16] ? d.v[16].v : undefined; - r.timer = d && d.v[17] ? utf8_dec(d.v[17].v) : undefined; - r.notifications = d && d.v[18] ? decode(d.v[18].v) : undefined; - r.result = d && d.v[19] ? utf8_dec(d.v[19].v) : undefined; - r.started = d && d.v[20] ? utf8_dec(d.v[20].v) : undefined; - r.beginEvent = d && d.v[21] ? d.v[21].v : undefined; - r.endEvent = d && d.v[22] ? d.v[22].v : undefined; - return clean(r); } - -function enccomplete(d) { - var tup = atom('complete'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - return tuple(tup,id); } - -function lencomplete() { return 2; } -function deccomplete(d) { - var r={}; r.tup = 'complete'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - return clean(r); } - -function encproc(d) { - var tup = atom('proc'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - return tuple(tup,id); } - -function lenproc() { return 2; } -function decproc(d) { - var r={}; r.tup = 'proc'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - return clean(r); } - -function enchisto(d) { - var tup = atom('histo'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - return tuple(tup,id); } - -function lenhisto() { return 2; } -function dechisto(d) { - var r={}; r.tup = 'histo'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - return clean(r); } - -function enccreate(d) { - var tup = atom('create'); - var proc = 'proc' in d && d.proc ? encode(d.proc) : nil(); - var docs = []; if ('docs' in d && d.docs) - { d.docs.forEach(function(x){ - docs.push(encode(x))}); - docs={t:108,v:docs}; } else { docs = nil() }; - return tuple(tup,proc,docs); } - -function lencreate() { return 3; } -function deccreate(d) { - var r={}; r.tup = 'create'; - r.proc = d && d.v[1] ? decode(d.v[1]) : undefined; - r.docs = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.docs.push(decode(x))}) : - r.docs = undefined; - return clean(r); } - -function encamend(d) { - var tup = atom('amend'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var docs = []; if ('docs' in d && d.docs) - { d.docs.forEach(function(x){ - docs.push(encode(x))}); - docs={t:108,v:docs}; } else { docs = nil() }; - return tuple(tup,id,docs); } - -function lenamend() { return 3; } -function decamend(d) { - var r={}; r.tup = 'amend'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.docs = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.docs.push(decode(x))}) : - r.docs = undefined; - return clean(r); } - -function encJob(d) { - var tup = atom('Job'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var proc = 'proc' in d && d.proc ? encode(d.proc) : nil(); - var docs = []; if ('docs' in d && d.docs) - { d.docs.forEach(function(x){ - docs.push(encode(x))}); - docs={t:108,v:docs}; } else { docs = nil() }; - var time = 'time' in d && d.time ? number(d.time) : nil(); - var events = []; if ('events' in d && d.events) - { d.events.forEach(function(x){ - events.push(encode(x))}); - events={t:108,v:events}; } else { events = nil() }; - var status = 'status' in d && d.status ? encode(d.status) : nil(); - return tuple(tup,id,proc,docs,time,events,status); } - -function lenJob() { return 7; } -function decJob(d) { - var r={}; r.tup = 'Job'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.proc = d && d.v[2] ? decode(d.v[2]) : undefined; - r.docs = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.docs.push(decode(x))}) : - r.docs = undefined; - r.time = d && d.v[4] ? d.v[4].v : undefined; - r.events = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach(function(x){r.events.push(decode(x))}) : - r.events = undefined; - r.status = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); } - -function encTest(d) { - var tup = atom('Test'); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,type,count); } - -function lenTest() { return 3; } -function decTest(d) { - var r={}; r.tup = 'Test'; - r.type = d && d.v[1] ? decode(d.v[1]) : undefined; - r.count = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); } - diff --git a/assets/vendor/utils/recorder.js b/assets/vendor/utils/recorder.js deleted file mode 100644 index 0fcb6b3cab6fec39a990eeab05a522bbb0bbd1eb..0000000000000000000000000000000000000000 --- a/assets/vendor/utils/recorder.js +++ /dev/null @@ -1,357 +0,0 @@ -(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Recorder = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o").attr("value", country.iso2).text(country.name)); - }); - - $(el.addressDropdown).val($(el.telInput).intlTelInput("getSelectedCountryData").iso2); - }, - initElementMasks: function () { - $(el.codeInput).mask('+0000', {placeholder: "+----"}); - $(el.telRealInput).mask('00 0000 0000', {placeholder: "-- ---- ----"}); - $(el.verify).mask('000 000', {placeholder: "--- ---"}); - }, - bindUIActions: function () { - $(el.telInput).on("countrychange", function (e, countryData) { - $(el.addressDropdown).val(countryData.iso2); - $(el.codeInput).val('+' + countryData.dialCode); - $(el.telRealInput).focus(); - }); - $(el.addressDropdown).on('change', function () { - $(el.telInput).intlTelInput("setCountry", $(this).val()); - }); - $(el.telRealInput).on('keyup', function () { - if ($(this).val().length > t.settings.minNumberDigits) { - $(el.sendCodeBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.sendCodeBtn).addClass('disabled').prop('disabled', true); - } - }).on('keypress', function (e) { - if (e.which == 13) { - $(el.sendCodeBtn).click(); - } - }); - $(el.verify).on('keyup', function () { - if ($(this).val().length > t.settings.minCodeDigits) { - $(el.sendVerifyBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.sendVerifyBtn).addClass('disabled').prop('disabled', true); - } - }).on('keypress', function (e) { - if (e.which == 13) { - $(el.sendVerifyBtn).click(); - } - }).on('focus', function () { - if (!$(el.timerBlock).hasClass('started')) { - if (verifyAttempt <= t.settings.voiceLinkAfter) { - $(el.timerBlock).addClass('started').timer([el.resendSms]); - verifyAttempt++; - } else { - $(el.timerBlock).addClass('started').timer([el.voiceCall]); - } - } - }); - - $(el.sendCodeBtn).on('click', function () { - var code = $(el.codeInput).val().replace("+", ""), - phone = $(el.telRealInput).val().split(" ").join(""); - - if (!$(this).hasClass('disabled') && code && phone) { - GlobalWidget.setPhoneCode("+" + code); - GlobalWidget.setPhone(phone); - $(el.codeInput2).val(GlobalWidget.getPhoneCode()); - $(el.telRealInput2).val(GlobalWidget.getPhone()); - - //1 - send sms - var msg = enc(encAuth({ - "type": "reg", "token": token(), "phone": GlobalWidget.getPhoneNumber(), - "client_id": client("reg_"), "dev_key": devKey() - })); - ws.send(msg); - } - }); - $(el.sendVerifyBtn).on('click', function () { - //2a - verify - var phone = GlobalWidget.getPhoneNumber(), - verifyCode = $(el.verify).val().split(" ").join(""), - msg = enc(encAuth({ - "type": "verify", "phone": phone, "token": token(), - "dev_key": devKey(), "sms_code": verifyCode - })); - ws.send(msg); - }); - $(el.resendSms).on('click', function (e) { - e.preventDefault(); - - $(el.timerMsg).removeClass('hidden'); - $(el.resendSms).addClass('hidden'); - $(el.timerBlock).removeClass('started'); - $(el.verify).val('').focus(); - - //2b - resend code - var msg = enc(encAuth({ - "type": "resend", "token": token(), "phone": GlobalWidget.getPhoneNumber(), - "client_id": client("reg_"), "dev_key": devKey() - })); - ws.send(msg); - }); - $(el.voiceCall).on('click', function (e) { - e.preventDefault(); - - $(el.timerMsg).removeClass('hidden'); - $(el.resendSms).addClass('hidden'); - $(el.timerBlock).removeClass('started'); - $(el.verify).val('').focus(); - - //2c - get code via voice call - var msg = enc(encAuth({ - "type": "voice", "token": token(), "phone": GlobalWidget.getPhoneNumber(), - "client_id": client("reg_"), "dev_key": devKey(), "services": ["ua"] - })); - ws.send(msg); - }); - - }, - nextStep: function (nextStep) { - var curStep = Number(nextStep) - 1; - localStorage.setItem('currentStep', nextStep); - - $(el.step + curStep).addClass("disabled completed").removeClass("active"); - $(el.step + nextStep).addClass("active").removeClass("disabled"); - - if (nextStep == 2) { - $(el.verify).focus(); - } - }, - smsSent: function () { - $(el.codeInput2).val(GlobalWidget.getPhoneCode()); - $(el.telRealInput2).val(GlobalWidget.getPhone()); - t.nextStep(2); - }, - login: function (res) { - if (res.code.src) { - console.log(res.code.src); - localStorage.setItem("client", res.code.src[0]); - localStorage.setItem("token", res.code.src[1]); - localStorage.removeItem('currentStep'); - - //3a. close "reg" connection - mqtt_close(); - - setTimeout(function () { - //3b. connect with gotten token - mqttOptions.password = token(); - mqttOptions.cleanSession = false; - delete mqttOptions.mqttVersion; - delete mqttOptions.mqttVersionExplicit; - - mqtt_open(mqttOptions); - }, 200); - } - }, - toDashboard: function (res) { - localStorage.removeItem('currentStep'); - location.replace("/web/dashboard.htm"); - } - }; - SignInWidget.init(); -})(); diff --git a/assets/vendor/utils/signup.js b/assets/vendor/utils/signup.js deleted file mode 100644 index f7dcde50210d5f8abbc54ada5308f7c3522944fd..0000000000000000000000000000000000000000 --- a/assets/vendor/utils/signup.js +++ /dev/null @@ -1,353 +0,0 @@ -var SignUpWidget; - -(function () { - var el, t, com, verifyAttempt = 0; - SignUpWidget = { - settings: { - geoIpService: "//freegeoip.net/json/", - minNumberDigits: 10, - minCodeDigits: 6, - voiceLinkAfter: 3 - }, - elements: { - countryData: [], - addressDropdown: '#country', - codeInput: '#code', - codeInput2: '#code2', - telRealInput: '#number', - telRealInput2: '#number2', - telInput: '#full-number', - verify: '#verify', - timerBlock: '#timer', - timerMsg: '#timerMsg', - resendSms: '#resendSms', - voiceCall: '#voiceCall', - first_name: "#first_name", - last_name: "#last_name", - sendCodeBtn: '#sendCode', - sendVerifyBtn: '#verifyCode', - doneBtn: '#doneBtn', - step: '#step', - stepClass: ".step", - termsLink: '.terms', - popup: '.n-popup', - popupText: '.n-text', - overlay: '.overlay', - close: '.close', - logo: '#logo' - }, - init: function () { - t = this; - el = this.elements; - com = this.components; - this.subscribe(); - this.initCurrentStep(); - this.initCountry(); - this.initCodePhone(); - this.bindUIActions(); - this.initElementMasks(); - }, - subscribe: function () { - GlobalWidget.subscribe('profile.init', GlobalWidget, GlobalWidget.setRosterId); - GlobalWidget.subscribe('roster.patch', this, this.toDashboard); - GlobalWidget.subscribe('io.ok.sms_sent', this, this.smsSent); - GlobalWidget.subscribe('io.ok2.login', this, this.login); - }, - initCurrentStep: function () { - if (t.getRosterId()) { - location.replace('/web/dashboard.htm'); - } - }, - initCodePhone: function () { - var countries = []; - $(el.telInput).intlTelInput({ - allowDropdown: false, - initialCountry: "auto", - geoIpLookup: function () { - $.get(t.settings.geoIpService, function () { - }, "jsonp").always(function (resp) { - var countryCode = (resp && resp.country_code) ? resp.country_code.toLowerCase() : ""; - if (countryCode) { - SignUpWidget.setCountryMask(countryCode); - } - - var countries = []; - $.each($.fn.intlTelInput.getCountryData(), function(key, item) { - typeof item === "object" ? countries.push(item) : null; - - if(item.iso2 === countryCode) { - Provider.registerInstance("current_country", item); - populateUI(item); - } - }); - Provider.registerInstance("countries", countries); - }); - - function populateUI(data) { - var searchCountry = com.country_search; - $(searchCountry.type + searchCountry.alias).val(searchCountry.data.escape(data.name)); - $(el.codeInput).val("+" + data.dialCode); - $(el.telInput).val(data.name); - } - }, - }); - }, - initCountry: function () { - el.countryData = $.fn.intlTelInput.getCountryData(); - var countries = el.countryData; - render(el.countryData); - $('#country-search').on('keyup', function(evt) { - var keyCodes = Provider.getInstance('key_codes'); - $('.countries-dropdown-wrapper').addClass('active'); - - evt.keyCode !== keyCodes.up.code && evt.keyCode !== keyCodes.down.code - ? rerender($(this).val()) - : null; - }); - - function filterCountries(input) { - var reg = new RegExp(input.split('').join('\\w*').replace(/\W/, ""), 'i'); - !input ? countries = el.countryData : null; - return countries.filter(function(country) { - if (typeof country === 'object' - && "name" in country - && country.name.match(reg)) { - return country; - } - }); - } - - function rerender(val) { - countries = filterCountries(val); - render(countries); - } - - function render() { - $(el.addressDropdown).html(""); - $.each(countries, function (i, country) { - var listItem = "
  • "; - if(country.iso2 === Provider.getMutable("selected_id")) { - listItem = "
  • "; - } - $(el.addressDropdown) - .append($(listItem) - .attr("id", country.iso2) - .attr("data-code", country.dialCode) - .text(country.name.toUpperCase())); - countries.push(country.name); - }); - } - - }, - initElementMasks: function () { - $(el.codeInput).mask('+0000', {placeholder: "+————"}); - $(el.verify).mask('000000', {placeholder: "——————"}); - }, - setCountryMask: function(iso) { - /** - * number format: E164: 0, INTERNATIONAL: 1, NATIONAL: 2, RFC3966: 3 - * number type: FIXED_LINE: 0, MOBILE: 1, FIXED_LINE_OR_MOBILE: 2, TOLL_FREE: 3, PREMIUM_RATE: 4 ... - */ - var maskExample = intlTelInputUtils.getExampleNumber(iso, 1, 1); - var maskPattern = maskExample.replace( /\d/g, "0" ); - var maskPlaceholder = maskPattern.replace( /0/g, "—" ); - t.settings.minNumberDigits = (maskPlaceholder.replace(/[ , (, )]/g, "").length - 1); - $(el.telRealInput).mask(maskPattern, {placeholder: maskPlaceholder}); - }, - bindUIActions: function () { - $(el.logo).on('click', function () { - location.replace('/web/welcome.htm'); - }); - $(el.termsLink).on('click', function (e) { - e.preventDefault(); - $(el.popupText).load('/web/terms.htm'); - $(el.popup).removeClass('hidden'); - $(el.overlay).removeClass('hidden'); - }); - $(el.overlay + ', ' + el.close).on('click', function () { - $(el.popupText).html(''); - $(el.popup).addClass('hidden'); - $(el.overlay).addClass('hidden'); - }); - $(el.telInput).on("countrychange", function (e, countryData) { - $(el.addressDropdown).val(countryData.iso2); - $(el.codeInput).val('+' + countryData.dialCode); - $(el.telRealInput).focus(); - SignUpWidget.setCountryMask(countryData.iso2); - }); - $(el.addressDropdown).on('change', function () { - $(el.telInput).intlTelInput("setCountry", $(this).val()); - }); - $(el.telRealInput).on('keyup', function () { - if ($(this).val().length > t.settings.minNumberDigits) { - $(el.sendCodeBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.sendCodeBtn).addClass('disabled').prop('disabled', true); - } - }).on('keypress', function (e) { - if (e.which == 13) { - $(el.sendCodeBtn).click(); - } - }); - $(el.verify).on('keyup', function () { - if ($(this).val().length >= t.settings.minCodeDigits) { - $(el.sendVerifyBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.sendVerifyBtn).addClass('disabled').prop('disabled', true); - } - }).on('keypress', function (e) { - if (e.which == 13) { - $(el.sendVerifyBtn).click(); - } - }).on('focus', function () { - t.startTimer(); - }); - $(el.sendCodeBtn).on('click', function () { - var code = $(el.codeInput).val().replace("+", ""), - phone = $(el.telRealInput).val().split(" ").join(""); - - if (!$(this).hasClass('disabled') && code && phone) { - GlobalWidget.setPhoneCode("+" + code); - GlobalWidget.setPhone(phone); - $(el.codeInput2).val(GlobalWidget.getPhoneCode()); - $(el.telRealInput2).val(GlobalWidget.getPhone()); - - //1 - send sms - var msg = enc(encAuth({ - "type": "reg", "token": "", "phone": GlobalWidget.getPhoneNumber(), - "client_id": client("reg_"), "dev_key": devKey() - })); - ws.send(msg); - } - }); - $(el.sendVerifyBtn).on('click', function () { - //2a - verify - var phone = GlobalWidget.getPhoneNumber(), - verifyCode = $(el.verify).val().split(" ").join(""), - msg = enc(encAuth({ - "type": "verify", "phone": phone, "token": token(), - "dev_key": devKey(), "sms_code": verifyCode - })); - ws.send(msg); - }); - $(el.resendSms).on('click', function (e) { - e.preventDefault(); - - $(el.timerMsg).removeClass('hidden'); - $(el.resendSms).addClass('hidden'); - $(el.timerBlock).removeClass('started'); - $(el.verify).val('').focus(); - - //2b - resend code - var msg = enc(encAuth({ - "type": "resend", "token": token(), "phone": GlobalWidget.getPhoneNumber(), - "client_id": client("reg_"), "dev_key": devKey() - })); - ws.send(msg); - }); - $(el.voiceCall).on('click', function (e) { - e.preventDefault(); - - $(el.timerMsg).removeClass('hidden'); - $(el.resendSms).addClass('hidden'); - $(el.timerBlock).removeClass('started'); - $(el.verify).val('').focus(); - - //2c - get code via voice call - var msg = enc(encAuth({ - "type": "voice", "token": token(), "phone": GlobalWidget.getPhoneNumber(), - "client_id": client("reg_"), "dev_key": devKey(), "services": ["ua"] - })); - ws.send(msg); - }); - $(el.first_name + "," + el.last_name).on('keyup', function () { - if ($(el.first_name).val().length) { - $(el.doneBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.doneBtn).addClass('disabled').prop('disabled', true); - } - }).on('keypress', function (e) { - if (e.which == 13) { - $(el.doneBtn).click(); - } - }); - $(el.doneBtn).click(function () { - var f = $(el.first_name).val(), - l = $(el.last_name).val(); - - if (f) { - //4. update roster - var msg = enc(encRoster({ - "id": t.getRosterId(), - "names": f, - "surnames": l, - "phone": GlobalWidget.getPhoneNumber(), - "status": "patch" - })); - ws.send(msg); - } - }); - }, - startTimer: function () { - if (!$(el.timerBlock).hasClass('started')) { - if (verifyAttempt <= t.settings.voiceLinkAfter) { - $(el.timerBlock).addClass('started').timer([el.resendSms]); - verifyAttempt++; - } else { - $(el.timerBlock).addClass('started').timer([el.voiceCall]); - } - } - }, - currentStep: function () { - return localStorage.getItem('currentStep'); - }, - nextStep: function (nextStep) { - var curStep = Number(nextStep) - 1; - localStorage.setItem('currentStep', nextStep); - - $(el.step + curStep).addClass("disabled completed hidden"); - $(el.step + nextStep).addClass("active").removeClass("disabled hidden"); - - if (nextStep == 2) { - $(el.verify).focus(); - } - }, - getRosterId: function () { - //@TODO: need to remove this function - return localStorage.getItem('rosterId'); - }, - smsSent: function () { - t.nextStep(2); - }, - login: function (res) { - if (typeof res.code.src != "undefined") { - localStorage.setItem("client", res.code.src[0]); - localStorage.setItem("token", res.code.src[1]); - localStorage.removeItem('currentStep'); - - //3a. close "reg" connection - mqtt_close(); - - setTimeout(function () { - //3b. connect with gotten token - mqttOptions.password = token(); - mqttOptions.cleanSession = false; - delete mqttOptions.mqttVersion; - delete mqttOptions.mqttVersionExplicit; - mqtt_open(mqttOptions); - - SignUpWidget.nextStep(3); - }, 200); - } - }, - toDashboard: function (res) { - location.replace("/web/dashboard.htm"); - } - }; - - $(document).ready(function () { - SignUpWidget.components = Provider.getInstance("components") - SignUpWidget.init(); - }); - -})(); diff --git a/assets/vendor/utils/spa_mq.js b/assets/vendor/utils/spa_mq.js deleted file mode 100644 index df171ba459d45ed9a1bddfe83e3801f48369ff1d..0000000000000000000000000000000000000000 --- a/assets/vendor/utils/spa_mq.js +++ /dev/null @@ -1,122 +0,0 @@ - var mqtt = '', - nodes = 4, - mqttOptions = { - timeout: 2, - userName: "api", - password: token(), - cleanSession: true, - onFailure: function (m) { - console.log("%cClient{%s, %s} - connection to backend failed: %s", "color:red", client(), token(), m.errorMessage); - }, - onSuccess: function () { - console.log("%cClient{%s, %s} - connected to backend", "color:green", client(), token()); - } - }, - ws = { - send: function (payload, qos) { - var message = new Paho.MQTT.Message(payload); - message.destinationName = topic("events"); - message.qos = qos || 2; - binPayload(payload); - - if (!mqtt.isConnected()) { - //@TODO: check this reconnect - //console.log('MQTT Reconnect') - //mqtt_open(mqttOptions); - } - mqtt.send(message); - } - }; - -function gen_client() { - return Math.random().toString(36).substring(2) + (new Date()).getTime().toString(36); -} - -function client(prefix) { - var prefix = prefix || "emqttd_"; - var c = localStorage.getItem("client"); - var d = devKey() || gen_client(); - if (null == c) { - c = prefix + d; - } - localStorage.setItem("client", c); - localStorage.setItem("devKey", d); - return c; -} - -function token() { - return localStorage.getItem("token") || ''; -} - -function devKey() { - return localStorage.getItem("devKey") || ''; -} - -function vsn() { - return 1; -} - -function topic(prefix) { - return prefix + "/" + vsn() + "/" + rnd() + "/api/anon/" + client("reg_") + "/" + token(); -} - -function rnd() { - return Math.floor((Math.random() * nodes) + 1); -} - -function binMsg(BERT) { - var mas = new Uint8Array(BERT); - var s = "<< rp(binary_to_term(<<"; - for (var i =0; i 0) { - timerId = setTimeout(counter, 1000); - } else { - el.parent().addClass('hidden'), - $.each(show_elements, function(k,v){ - $(v).removeClass('hidden'); - }); - el.text(start_value), - clearTimeout(timerId); - } - }, 1000); - }; -})(jQuery); \ No newline at end of file diff --git a/assets/vendor/utils/voximplant.js b/assets/vendor/utils/voximplant.js deleted file mode 100644 index df9764fcc83acfd33957d94b24f8914222d591b5..0000000000000000000000000000000000000000 --- a/assets/vendor/utils/voximplant.js +++ /dev/null @@ -1,84 +0,0 @@ -var initialized = false, - loggedIn = false, - connected = false, - voxImplant = VoxImplant.getInstance(); - -// Add event listeners -voxImplant.addEventListener(VoxImplant.Events.SDKReady, handleSDKReady); -voxImplant.addEventListener(VoxImplant.Events.ConnectionEstablished, handleConnectionEstablished); -voxImplant.addEventListener(VoxImplant.Events.AuthResult, handleAuthResult); - -function handleSDKReady() { - initialized = true; - logMessage("VoxImplant SDK ready"); - // Connection with VoxImplant Cloud can be established now - voxImplant.connect(); -} - -function handleConnectionEstablished() { - connected = true; - logMessage("Connection established"); - login(); -} - -function handleAuthResult(e) { - logMessage("AuthResult: "+e.result); - if (e.result) { - // Logged in successfully - loggedIn = true; - makeCall(); - } else { - logMessage("Authorization failed. Please specify correct username and password"); - } -} - -function login(){ - // Authorization required before we can use other functions - var host = '@test.nynja.voximplant.com', - email = 'befaster', //localStorage.getItem('username'), - password = 'd423327D'; //localStorage.getItem('password'); - - - - voxImplant.login(email + host, password); -} - -function logMessage(msg) { - document.getElementById("log").innerHTML += msg + "\n"; -} - -function makeCall(username){ - // Number isn't important - our simple VoxEngine script will just playback the audio file - var call = voxImplant.call(username); - - // Add event listeners for call events - call.addEventListener(VoxImplant.CallEvents.Connected, handleCallConnected); - call.addEventListener(VoxImplant.CallEvents.Failed, handleCallFailed); - call.addEventListener(VoxImplant.CallEvents.Disconnected, handleCallDisconnected); -} - -function handleCallConnected() { - logMessage("Call Connected"); -} - -function handleCallFailed(e) { - logMessage("Call Failed. Code: "+e.code+" Reason: "+e.reason); -} - -function handleCallDisconnected() { - logMessage("Call Disconnected"); -} - -function testCall() { - // Initialize SDK if not it's not initialized yet - if (!initialized) voxImplant.init(); - else { - // Establish connection with VoxImplant Cloud if it's not established yet - if (!voxImplant.connected()) voxImplant.connect(); - else { - // Login if not logged in yet, otherwise - make a call - if (!loggedIn) login(); - else makeCall(); - } - } -} \ No newline at end of file diff --git a/assets/vendor/utils/welcome.js b/assets/vendor/utils/welcome.js deleted file mode 100644 index b55a3c6808fea827e598659d83e6026b63733a42..0000000000000000000000000000000000000000 --- a/assets/vendor/utils/welcome.js +++ /dev/null @@ -1,36 +0,0 @@ -var WelcomeWidget; - -(function (document) { - WelcomeWidget = { - settings: {}, - elements: { - termsLink: '.terms', - popup: '.n-popup', - popupText: '.n-text', - overlay: '.overlay', - close: '.close' - }, - init: function () { - t = this; - el = this.elements; - this.bindUIActions(); - }, - bindUIActions: function () { - $(el.termsLink).on('click', function (e) { - e.preventDefault(); - $(el.popupText).load('/web/terms.htm'); - $(el.popup).removeClass('hidden'); - $(el.overlay).removeClass('hidden'); - }); - $(el.overlay + ', ' + el.close).on('click', function () { - $(el.popupText).html(''); - $(el.popup).addClass('hidden'); - $(el.overlay).addClass('hidden'); - }); - } - }; - - $(document).ready(function () { - WelcomeWidget.init(); - }); -})(document); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 1563731483faebc44ed47b8ffb256c10bb25e21e..0000000000000000000000000000000000000000 --- a/package-lock.json +++ /dev/null @@ -1,17343 +0,0 @@ -{ - "name": "nynja", - "version": "0.4.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@types/jss": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.3.1.tgz", - "integrity": "sha512-BSH5LOI6Ud5VuVYn77N5UCMaxyFvPhekO37up3/982Z79v+4R2aDWQFd7zMr++aqW5kA7UnYa3g1WgRtgXb43w==" - }, - "@types/react": { - "version": "16.0.40", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.0.40.tgz", - "integrity": "sha512-OZi2OPNI1DGwnC3Fgbr1CcYfOD6V0pbv+aehXdvuFE+L+sipWjividsasuqFW/G0CZrZ81Ao+9IzjvkRDWCE9Q==" - }, - "@types/react-transition-group": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.7.tgz", - "integrity": "sha512-aTbd37E2XJ5Zi/lRrXo74RMhZikS/r5a06EStXEdapy4pqzvPrdY9BpWGNSpnyp8oNaggL0duljNdC8T0dRIUA==", - "requires": { - "@types/react": "16.0.40" - } - }, - "abab": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", - "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", - "dev": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=", - "dev": true - }, - "accepts": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", - "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", - "dev": true, - "requires": { - "mime-types": "2.1.17", - "negotiator": "0.6.1" - } - }, - "acorn": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz", - "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==", - "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", - "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", - "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-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", - "dev": true, - "requires": { - "acorn": "3.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=", - "dev": true - } - } - }, - "add-px-to-style": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/add-px-to-style/-/add-px-to-style-1.0.0.tgz", - "integrity": "sha1-0ME1RB+oAUqBN5BFMQlvZ/KPJjo=" - }, - "after": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.1.tgz", - "integrity": "sha1-q11PuIP1loFtNRX495HAr0ht1ic=", - "dev": true - }, - "ajv": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.3.tgz", - "integrity": "sha1-wG9Zh3jETGsWGrr+NGa4GtGBTtI=", - "dev": true, - "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.0.0", - "json-schema-traverse": "0.3.1", - "json-stable-stringify": "1.0.1" - } - }, - "ajv-keywords": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", - "dev": true - }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, - "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" - } - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi-escapes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", - "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==", - "dev": true - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=", - "dev": true, - "requires": { - "color-convert": "1.9.0" - } - }, - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha1-VT3Lj5HjyImEXf26NMd3IbkLnXo=", - "dev": true, - "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" - } - }, - "append-transform": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", - "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", - "dev": true, - "requires": { - "default-require-extensions": "1.0.0" - } - }, - "argparse": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", - "dev": true, - "requires": { - "sprintf-js": "1.0.3" - } - }, - "aria-query": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-0.7.1.tgz", - "integrity": "sha1-Jsu1r/ZBRLCoJb4YRuCxbPoAsR4=", - "dev": true, - "requires": { - "ast-types-flow": "0.0.7", - "commander": "2.11.0" - } - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "1.1.0" - } - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", - "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-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", - "dev": true - }, - "array-filter": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", - "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "array-includes": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", - "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", - "dev": true, - "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.9.0" - } - }, - "array-map": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", - "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=", - "dev": true - }, - "array-reduce": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", - "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "1.0.3" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "arraybuffer.slice": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", - "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "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.0" - } - }, - "assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", - "dev": true, - "requires": { - "util": "0.10.3" - } - }, - "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 - }, - "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-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", - "dev": true - }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true - }, - "async-each-series": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", - "integrity": "sha1-dhfBkXQB/Yykooqtzj266Yr+tDI=", - "dev": true - }, - "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha1-ePrtjD0HSrgfIrTphdeehzj3IPg=" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "atob": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz", - "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=", - "dev": true - }, - "autoprefixer": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.1.2.tgz", - "integrity": "sha1-++rwfUj9h44Ggr98vurecorbKxg=", - "dev": true, - "requires": { - "browserslist": "2.5.0", - "caniuse-lite": "1.0.30000744", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "6.0.13", - "postcss-value-parser": "3.3.0" - } - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true - }, - "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", - "dev": true - }, - "axobject-query": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-0.1.0.tgz", - "integrity": "sha1-YvWdvFnJ+SQnWco0mWDnov48NsA=", - "dev": true, - "requires": { - "ast-types-flow": "0.0.7" - } - }, - "babel-cli": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.24.1.tgz", - "integrity": "sha1-IHzXBbumFImy6kG1MSNBz2rKIoM=", - "dev": true, - "requires": { - "babel-core": "6.26.0", - "babel-polyfill": "6.26.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "chokidar": "1.7.0", - "commander": "2.11.0", - "convert-source-map": "1.5.0", - "fs-readdir-recursive": "1.0.0", - "glob": "7.1.2", - "lodash": "4.17.5", - "output-file-sync": "1.1.2", - "path-is-absolute": "1.0.1", - "slash": "1.0.0", - "source-map": "0.5.7", - "v8flags": "2.1.1" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - } - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "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 - } - } - }, - "babel-core": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", - "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.0", - "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.0", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.5", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.7", - "slash": "1.0.0", - "source-map": "0.5.7" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "babel-eslint": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.2.3.tgz", - "integrity": "sha1-sv4tgBJkcPXBlELcdXJTqJdxCCc=", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0" - } - }, - "babel-generator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", - "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", - "dev": true, - "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.5", - "source-map": "0.5.7", - "trim-right": "1.0.1" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "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-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "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": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-builder-react-jsx": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", - "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "esutils": "2.0.2" - }, - "dependencies": { - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - } - } - }, - "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", - "lodash": "4.17.5" - } - }, - "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-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.5" - } - }, - "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", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "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" - } - }, - "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-jest": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-20.0.3.tgz", - "integrity": "sha1-5KA7E9wQOJ4UD8ZF0J/8TO0wFnE=", - "dev": true, - "requires": { - "babel-core": "6.26.0", - "babel-plugin-istanbul": "4.1.5", - "babel-preset-jest": "20.0.3" - } - }, - "babel-loader": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.4.tgz", - "integrity": "sha512-/hbyEvPzBJuGpk9o80R0ZyTej6heEOr59GoEUtn8qFKbnx4cJm9FWES6J/iv644sYgrtVw9JJQkjaLW/bqb5gw==", - "dev": true, - "requires": { - "find-cache-dir": "1.0.0", - "loader-utils": "1.1.0", - "mkdirp": "0.5.1" - } - }, - "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-istanbul": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz", - "integrity": "sha1-Z2DN2Xf0EdPhdbsGTyvDJ9mbK24=", - "dev": true, - "requires": { - "find-up": "2.1.0", - "istanbul-lib-instrument": "1.8.0", - "test-exclude": "4.1.1" - } - }, - "babel-plugin-jest-hoist": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-20.0.3.tgz", - "integrity": "sha1-r+3IU70/jcNUjqZx++adA8wsF2c=", - "dev": true - }, - "babel-plugin-react-transform": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-react-transform/-/babel-plugin-react-transform-2.0.2.tgz", - "integrity": "sha1-UVu/qZaJOYEULZCx+bFjXeKZUQk=", - "dev": true, - "requires": { - "lodash": "4.17.5" - } - }, - "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 - }, - "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 - }, - "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 - }, - "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 - }, - "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 - }, - "babel-plugin-syntax-do-expressions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz", - "integrity": "sha1-V0d1YTmqJtOQ0JQQsDdEugfkeW0=", - "dev": true - }, - "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 - }, - "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 - }, - "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 - }, - "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 - }, - "babel-plugin-syntax-function-bind": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz", - "integrity": "sha1-SMSV8Xe98xqYHnMvVa3AvdJgH0Y=", - "dev": true - }, - "babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", - "dev": true - }, - "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 - }, - "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 - }, - "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": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-generators": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "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": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "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": { - "babel-plugin-syntax-class-constructor-call": "6.18.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "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": { - "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" - } - }, - "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": { - "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" - } - }, - "babel-plugin-transform-decorators-legacy": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz", - "integrity": "sha1-dBtY9sW86eYCfgiC2cmU8E82aSU=", - "dev": true, - "requires": { - "babel-plugin-syntax-decorators": "6.13.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "babel-plugin-transform-do-expressions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz", - "integrity": "sha1-KMyvkoEtlJws0SgfaQyP3EaK6bs=", - "dev": true, - "requires": { - "babel-plugin-syntax-do-expressions": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "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": { - "babel-runtime": "6.26.0" - } - }, - "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": { - "babel-runtime": "6.26.0" - } - }, - "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": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.5" - } - }, - "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": { - "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" - } - }, - "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": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "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": { - "babel-runtime": "6.26.0" - } - }, - "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": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "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" - } - }, - "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" - } - }, - "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": { - "babel-runtime": "6.26.0" - } - }, - "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": { - "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", - "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", - "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" - } - }, - "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": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "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" - } - }, - "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": { - "babel-helper-replace-supers": "6.24.1", - "babel-runtime": "6.26.0" - } - }, - "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": { - "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" - } - }, - "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": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "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": { - "babel-runtime": "6.26.0" - } - }, - "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": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "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": { - "babel-runtime": "6.26.0" - } - }, - "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": { - "babel-runtime": "6.26.0" - } - }, - "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": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" - } - }, - "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": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "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": { - "babel-plugin-syntax-export-extensions": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "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": { - "babel-plugin-syntax-flow": "6.18.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-function-bind": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz", - "integrity": "sha1-xvuOlqwpajELjPjqQBRiQH3fapc=", - "dev": true, - "requires": { - "babel-plugin-syntax-function-bind": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "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": { - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-react-constant-elements": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-constant-elements/-/babel-plugin-transform-react-constant-elements-6.23.0.tgz", - "integrity": "sha1-LxGb9NLN1F65uqrldAU8YE9hR90=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-react-display-name": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", - "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-react-jsx": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", - "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", - "dev": true, - "requires": { - "babel-helper-builder-react-jsx": "6.26.0", - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-react-jsx-self": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", - "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", - "dev": true, - "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-react-jsx-source": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", - "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", - "dev": true, - "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.6.tgz", - "integrity": "sha1-w9IP9Ol/sI+mPoapey2qtq02Whk=", - "dev": true, - "requires": { - "babel-traverse": "6.26.0" - } - }, - "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": { - "regenerator-transform": "0.10.1" - } - }, - "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": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-polyfill": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", - "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "core-js": "2.5.3", - "regenerator-runtime": "0.10.5" - }, - "dependencies": { - "core-js": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", - "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", - "dev": true - }, - "regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", - "dev": true - } - } - }, - "babel-preset-env": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.0.tgz", - "integrity": "sha1-LeHHgqeAoKXWBdGZyVdZbaQ8ROQ=", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-to-generator": "6.24.1", - "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.0", - "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-exponentiation-operator": "6.24.1", - "babel-plugin-transform-regenerator": "6.26.0", - "browserslist": "2.5.0", - "invariant": "2.2.2", - "semver": "5.4.1" - } - }, - "babel-preset-flow": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", - "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", - "dev": true, - "requires": { - "babel-plugin-transform-flow-strip-types": "6.22.0" - } - }, - "babel-preset-jest": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-20.0.3.tgz", - "integrity": "sha1-y6yq3stdaJyh4d4TYOv8ZoYsF4o=", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "20.0.3" - } - }, - "babel-preset-react": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", - "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", - "dev": true, - "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-plugin-transform-react-display-name": "6.25.0", - "babel-plugin-transform-react-jsx": "6.24.1", - "babel-plugin-transform-react-jsx-self": "6.22.0", - "babel-plugin-transform-react-jsx-source": "6.22.0", - "babel-preset-flow": "6.23.0" - } - }, - "babel-preset-react-hmre": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/babel-preset-react-hmre/-/babel-preset-react-hmre-1.1.1.tgz", - "integrity": "sha1-0hbmDLW41Mhz4Z7Q9U6v8UN7xJI=", - "dev": true, - "requires": { - "babel-plugin-react-transform": "2.0.2", - "react-transform-catch-errors": "1.0.2", - "react-transform-hmr": "1.0.4", - "redbox-react": "1.5.0" - } - }, - "babel-preset-stage-0": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz", - "integrity": "sha1-VkLRUEL5E4TX5a+LyIsduVsDnmo=", - "dev": true, - "requires": { - "babel-plugin-transform-do-expressions": "6.22.0", - "babel-plugin-transform-function-bind": "6.22.0", - "babel-preset-stage-1": "6.24.1" - } - }, - "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": { - "babel-plugin-transform-class-constructor-call": "6.24.1", - "babel-plugin-transform-export-extensions": "6.22.0", - "babel-preset-stage-2": "6.24.1" - } - }, - "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": { - "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" - } - }, - "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": { - "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" - } - }, - "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": { - "babel-core": "6.26.0", - "babel-runtime": "6.26.0", - "core-js": "2.5.1", - "home-or-tmp": "2.0.0", - "lodash": "4.17.5", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" - }, - "dependencies": { - "babel-core": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", - "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.0", - "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.0", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.5", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.7", - "slash": "1.0.0", - "source-map": "0.5.7" - } - }, - "core-js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", - "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 - } - } - }, - "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=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.1" - }, - "dependencies": { - "core-js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" - } - } - }, - "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": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.5" - } - }, - "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": { - "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.2", - "lodash": "4.17.5" - } - }, - "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.5", - "to-fast-properties": "1.0.3" - }, - "dependencies": { - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - } - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=", - "dev": true - }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "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": { - "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 - }, - "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" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "base16": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", - "integrity": "sha1-4pf2DX7BAUp6lxo568ipjAtoHnA=", - "dev": true - }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true - }, - "base64-js": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", - "integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==", - "dev": true - }, - "base64id": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz", - "integrity": "sha1-As4P3u4M709ACA4ec+g08LG/zj8=", - "dev": true - }, - "batch": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz", - "integrity": "sha1-PzQU84AyF0O/wQQvmoP/HVgk1GQ=", - "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" - } - }, - "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": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=", - "dev": true - }, - "binary-extensions": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.10.0.tgz", - "integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=", - "dev": true - }, - "bl": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", - "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", - "requires": { - "readable-stream": "2.3.3" - } - }, - "blob": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", - "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", - "dev": true - }, - "bluebird": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=", - "dev": true - }, - "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 - }, - "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.1", - "http-errors": "1.6.2", - "iconv-lite": "0.4.19", - "on-finished": "2.3.0", - "qs": "6.5.1", - "raw-body": "2.3.2", - "type-is": "1.6.15" - }, - "dependencies": { - "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.3.1" - } - }, - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=", - "dev": true - }, - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", - "dev": true - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "2.1.1", - "deep-equal": "1.0.1", - "dns-equal": "1.0.0", - "dns-txt": "2.0.2", - "multicast-dns": "6.2.3", - "multicast-dns-service-types": "1.1.0" - }, - "dependencies": { - "array-flatten": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", - "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", - "dev": true - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "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" - } - }, - "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" - } - }, - "brcast": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/brcast/-/brcast-3.0.1.tgz", - "integrity": "sha1-YlaoNJsg3p7tRCV6myTXFJPNSN0=" - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browser-resolve": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", - "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=", - "dev": true, - "requires": { - "resolve": "1.1.7" - } - }, - "browser-sync": { - "version": "2.18.12", - "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.18.12.tgz", - "integrity": "sha1-u6oKF6lh4rXwqOdg5pUCcYZmR3k=", - "dev": true, - "requires": { - "browser-sync-client": "2.5.1", - "browser-sync-ui": "0.6.3", - "bs-recipes": "1.3.4", - "chokidar": "1.7.0", - "connect": "3.5.0", - "dev-ip": "1.0.1", - "easy-extender": "2.3.2", - "eazy-logger": "3.0.2", - "emitter-steward": "1.0.0", - "fs-extra": "3.0.1", - "http-proxy": "1.15.2", - "immutable": "3.8.1", - "localtunnel": "1.8.2", - "micromatch": "2.3.11", - "opn": "4.0.2", - "portscanner": "2.1.1", - "qs": "6.2.1", - "resp-modifier": "6.0.2", - "rx": "4.1.0", - "serve-index": "1.8.0", - "serve-static": "1.12.2", - "server-destroy": "1.0.1", - "socket.io": "1.6.0", - "socket.io-client": "1.6.0", - "ua-parser-js": "0.7.12", - "yargs": "6.4.0" - }, - "dependencies": { - "ua-parser-js": { - "version": "0.7.12", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.12.tgz", - "integrity": "sha1-BMgamb3V3FImPqKdJMa/jUgYpLs=", - "dev": true - } - } - }, - "browser-sync-client": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.5.1.tgz", - "integrity": "sha1-7BrWmknC4tS2RbGLHAbCmz2a+Os=", - "dev": true, - "requires": { - "etag": "1.8.1", - "fresh": "0.3.0" - } - }, - "browser-sync-ui": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-0.6.3.tgz", - "integrity": "sha1-ZApTfBgGiTA9W+krxHa568RBwLw=", - "dev": true, - "requires": { - "async-each-series": "0.1.1", - "connect-history-api-fallback": "1.3.0", - "immutable": "3.8.1", - "server-destroy": "1.0.1", - "stream-throttle": "0.1.3", - "weinre": "2.0.0-pre-I0Z7U9OV" - } - }, - "browserify-aes": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", - "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", - "dev": true, - "requires": { - "buffer-xor": "1.0.3", - "cipher-base": "1.0.4", - "create-hash": "1.1.3", - "evp_bytestokey": "1.0.3", - "inherits": "2.0.3", - "safe-buffer": "5.1.1" - } - }, - "browserify-cipher": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", - "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", - "dev": true, - "requires": { - "browserify-aes": "1.1.1", - "browserify-des": "1.0.0", - "evp_bytestokey": "1.0.3" - } - }, - "browserify-des": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", - "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", - "dev": true, - "requires": { - "cipher-base": "1.0.4", - "des.js": "1.0.0", - "inherits": "2.0.3" - } - }, - "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" - } - }, - "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.1.3", - "create-hmac": "1.1.6", - "elliptic": "6.4.0", - "inherits": "2.0.3", - "parse-asn1": "5.1.0" - } - }, - "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" - } - }, - "browserslist": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.5.0.tgz", - "integrity": "sha512-6Vw1LIigGw8zCK0gxczksUMZlO+oPUwBazAztMmFL/F8D5wB0qCuxRJGYgYM3JzaO0v2ZMRIg+nnnOgNsPGHeA==", - "dev": true, - "requires": { - "caniuse-lite": "1.0.30000744", - "electron-to-chromium": "1.3.24" - } - }, - "bs-recipes": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz", - "integrity": "sha1-DS1NSKcYyMBEdp/cT4lZLci2lYU=", - "dev": true - }, - "bser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", - "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", - "dev": true, - "requires": { - "node-int64": "0.4.0" - } - }, - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "dev": true, - "requires": { - "base64-js": "1.2.3", - "ieee754": "1.1.8", - "isarray": "1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - } - } - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "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 - }, - "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": { - "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": { - "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 - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "callback-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/callback-stream/-/callback-stream-1.1.0.tgz", - "integrity": "sha1-RwGlEmbwbgbqpx/BcjOCLYdfSQg=", - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.3" - } - }, - "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": { - "callsites": "0.2.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 - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "requires": { - "no-case": "2.3.2", - "upper-case": "1.1.3" - } - }, - "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": { - "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 - } - } - }, - "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": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000744", - "lodash.memoize": "4.1.2", - "lodash.uniq": "4.5.0" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "1.0.30000744", - "electron-to-chromium": "1.3.24" - } - } - } - }, - "caniuse-db": { - "version": "1.0.30000744", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000744.tgz", - "integrity": "sha1-AHWP991fcTjTShVgjcz3Glllb/4=", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30000744", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000744.tgz", - "integrity": "sha1-hg+lyDujT+YZOX1gfzC7R0ghZxs=", - "dev": true - }, - "caseless": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", - "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", - "dev": true - }, - "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": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" - } - }, - "chain-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chain-function/-/chain-function-1.0.0.tgz", - "integrity": "sha1-DUqzfn4Y6tC9xHuSB2QRjOWHM9w=" - }, - "chalk": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz", - "integrity": "sha1-2+xJQ20q4V9TYRTnbRRlbNvA9E0=", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" - } - }, - "change-emitter": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz", - "integrity": "sha1-6LL+PX8at9aaMhma/5HqaTFAlRU=" - }, - "chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", - "dev": true - }, - "charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", - "dev": true - }, - "cheerio": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", - "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", - "dev": true, - "requires": { - "css-select": "1.2.0", - "dom-serializer": "0.1.0", - "entities": "1.1.1", - "htmlparser2": "3.9.2", - "lodash.assignin": "4.2.0", - "lodash.bind": "4.2.1", - "lodash.defaults": "4.2.0", - "lodash.filter": "4.6.0", - "lodash.flatten": "4.4.0", - "lodash.foreach": "4.5.0", - "lodash.map": "4.6.0", - "lodash.merge": "4.6.0", - "lodash.pick": "4.4.0", - "lodash.reduce": "4.6.0", - "lodash.reject": "4.6.0", - "lodash.some": "4.6.0" - } - }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "dev": true, - "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "fsevents": "1.1.3", - "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" - } - }, - "ci-info": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.1.tgz", - "integrity": "sha512-vHDDF/bP9RYpTWtUhpJRhCFdvvp3iDWvEbuDbWgvjUrNGV1MXJrE0MPcwGtEled04m61iwdBLUIHZtDgzWS4ZQ==", - "dev": true - }, - "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": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" - } - }, - "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": "sha1-TzZ0WzIAhJJVf0ZBLWbVDLmbzlE=", - "dev": true, - "requires": { - "chalk": "1.1.3" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - } - }, - "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 - } - } - }, - "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": { - "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" - } - }, - "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.5" - } - } - } - }, - "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.5" - } - } - } - }, - "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" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "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 - } - } - }, - "classnames": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz", - "integrity": "sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0=" - }, - "clean-css": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.9.tgz", - "integrity": "sha1-Nc7ornaHpJuYA09w3gDE7dOCYwE=", - "dev": true, - "requires": { - "source-map": "0.5.7" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "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" - } - }, - "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 - }, - "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" - } - }, - "clone": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", - "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", - "dev": true - }, - "clone-deep": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.3.0.tgz", - "integrity": "sha1-NIxhrpzb4O3+BT2R/0zFIdeQ7eg=", - "dev": true, - "requires": { - "for-own": "1.0.0", - "is-plain-object": "2.0.4", - "kind-of": "3.2.2", - "shallow-clone": "0.1.2" - }, - "dependencies": { - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "1.0.2" - } - } - } - }, - "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": { - "q": "1.5.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 - }, - "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": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" - } - }, - "color": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", - "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", - "dev": true, - "requires": { - "clone": "1.0.2", - "color-convert": "1.9.0", - "color-string": "0.3.0" - } - }, - "color-convert": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", - "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "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=", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "colormin": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", - "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", - "dev": true, - "requires": { - "color": "0.11.4", - "css-color-names": "0.0.4", - "has": "1.0.1" - } - }, - "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.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", - "dev": true - }, - "commist": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/commist/-/commist-1.0.0.tgz", - "integrity": "sha1-wMNSUBz29S6RJOPvicmAbiAi6+8=", - "requires": { - "leven": "1.0.2", - "minimist": "1.2.0" - }, - "dependencies": { - "leven": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/leven/-/leven-1.0.2.tgz", - "integrity": "sha1-kUS27ryl8dBoAWnxpncNzqYLdcM=" - } - } - }, - "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.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=", - "dev": true, - "requires": { - "mime-db": "1.33.0" - }, - "dependencies": { - "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 - } - } - }, - "compression": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.2.tgz", - "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=", - "dev": true, - "requires": { - "accepts": "1.3.4", - "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" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-gslSSJx03QKa59cIKqeJO9HQ/WZMotvYJCuaUULrLpjj8oG40kV2Z+gz82pVxlTkOADi4PJxQPPfhl1ELYrrXw==", - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "typedarray": "0.0.6" - } - }, - "connect": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.5.0.tgz", - "integrity": "sha1-s1dSWgtMH1BZnNmD4dnv7qlncZg=", - "dev": true, - "requires": { - "debug": "2.2.0", - "finalhandler": "0.5.0", - "parseurl": "1.3.2", - "utils-merge": "1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "dev": true, - "requires": { - "ms": "0.7.1" - } - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", - "dev": true - } - } - }, - "connect-history-api-fallback": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz", - "integrity": "sha1-5R0X+PDvDbkKZP20feMFFVbp8Wk=", - "dev": true - }, - "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" - } - }, - "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 - }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "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": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", - "dev": true - }, - "content-type-parser": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.1.tgz", - "integrity": "sha1-w+VpiMU8ZRJ/tG1AMqOpACRv3JQ=", - "dev": true - }, - "convert-source-map": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", - "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", - "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 - }, - "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": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" - }, - "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=" - }, - "cosmiconfig": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", - "integrity": "sha1-YXPOvVb6wELB9DkO33r2wHx8uJI=", - "dev": true, - "requires": { - "is-directory": "0.3.1", - "js-yaml": "3.6.1", - "minimist": "1.2.0", - "object-assign": "4.1.0", - "os-homedir": "1.0.2", - "parse-json": "2.2.0", - "require-from-string": "1.2.1" - } - }, - "coveralls": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.1.tgz", - "integrity": "sha1-1wu5rMGDXsTwY/+drFQjwXsR8Xg=", - "dev": true, - "requires": { - "js-yaml": "3.6.1", - "lcov-parse": "0.0.10", - "log-driver": "1.2.5", - "minimist": "1.2.0", - "request": "2.79.0" - }, - "dependencies": { - "qs": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", - "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", - "dev": true - }, - "request": { - "version": "2.79.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", - "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", - "dev": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.11.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "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.17", - "oauth-sign": "0.8.2", - "qs": "6.3.2", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.4.3", - "uuid": "3.1.0" - } - } - } - }, - "create-ecdh": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", - "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", - "dev": true, - "requires": { - "bn.js": "4.11.8", - "elliptic": "6.4.0" - } - }, - "create-hash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", - "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", - "dev": true, - "requires": { - "cipher-base": "1.0.4", - "inherits": "2.0.3", - "ripemd160": "2.0.1", - "sha.js": "2.4.10" - } - }, - "create-hmac": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", - "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", - "dev": true, - "requires": { - "cipher-base": "1.0.4", - "create-hash": "1.1.3", - "inherits": "2.0.3", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.10" - } - }, - "create-react-class": { - "version": "15.6.3", - "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", - "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - } - } - }, - "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": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" - } - }, - "crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", - "dev": true - }, - "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.0", - "browserify-sign": "4.0.4", - "create-ecdh": "4.0.0", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "diffie-hellman": "5.0.2", - "inherits": "2.0.3", - "pbkdf2": "3.0.14", - "public-encrypt": "4.0.0", - "randombytes": "2.0.6", - "randomfill": "1.0.4" - } - }, - "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 - }, - "css-loader": { - "version": "0.28.4", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.4.tgz", - "integrity": "sha1-bPNXkZLONV6LONX0Ldeh8uyJjQ8=", - "dev": 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.0", - "postcss": "5.2.18", - "postcss-modules-extract-imports": "1.1.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": "0.1.8" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dev": true, - "requires": { - "boolbase": "1.0.0", - "css-what": "2.1.0", - "domutils": "1.5.1", - "nth-check": "1.0.1" - } - }, - "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" - }, - "dependencies": { - "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": { - "regenerate": "1.3.3", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" - } - } - } - }, - "css-vendor": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-0.3.8.tgz", - "integrity": "sha1-ZCHP0wNM5mT+dnOXL9ARn8KJQfo=", - "requires": { - "is-in-browser": "1.1.3" - } - }, - "css-what": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", - "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=", - "dev": true - }, - "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, - "requires": { - "autoprefixer": "6.7.7", - "decamelize": "1.2.0", - "defined": "1.0.0", - "has": "1.0.1", - "object-assign": "4.1.0", - "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" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "autoprefixer": { - "version": "6.7.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", - "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", - "dev": true, - "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000744", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "1.0.30000744", - "electron-to-chromium": "1.3.24" - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "cssom": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", - "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=", - "dev": true - }, - "cssstyle": { - "version": "0.2.37", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", - "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", - "dev": true, - "requires": { - "cssom": "0.3.2" - } - }, - "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" - } - }, - "cycle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", - "dev": true - }, - "damerau-levenshtein": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz", - "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=", - "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" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "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 - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "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 - }, - "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 - }, - "deep-diff": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-0.3.8.tgz", - "integrity": "sha1-wB3mPvsO7JeYgB1Ax+Da4ltYLIQ=", - "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=" - }, - "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 - }, - "deepmerge": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.1.0.tgz", - "integrity": "sha512-Q89Z26KAfA3lpPGhbF6XMfYAm3jIV3avViy6KOJ2JLzFbeWHOvPQUu5aSJIWXap3gDZC2y1eF5HXEPI2wGqgvw==" - }, - "default-require-extensions": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", - "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", - "dev": true, - "requires": { - "strip-bom": "2.0.0" - } - }, - "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.11" - } - }, - "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": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "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=", - "dev": true, - "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "object-assign": "4.1.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.1" - } - }, - "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 - }, - "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", - "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.0" - } - }, - "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=", - "dev": true, - "requires": { - "repeating": "2.0.1" - } - }, - "detect-node": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz", - "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=", - "dev": true - }, - "dev-ip": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", - "integrity": "sha1-p2o+0YVb56ASu4rBbLgPPADcKPA=", - "dev": true - }, - "diff": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz", - "integrity": "sha1-sdhVB9rzlkgo3lSzfQ1zumfdpWw=", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", - "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", - "dev": true, - "requires": { - "bn.js": "4.11.8", - "miller-rabin": "4.0.1", - "randombytes": "2.0.6" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", - "dev": true, - "requires": { - "ip": "1.1.5", - "safe-buffer": "5.1.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "1.1.1" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "2.0.2" - } - }, - "dom-converter": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", - "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=", - "dev": true, - "requires": { - "utila": "0.3.3" - }, - "dependencies": { - "utila": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", - "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", - "dev": true - } - } - }, - "dom-css": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/dom-css/-/dom-css-2.1.0.tgz", - "integrity": "sha1-/bwtWgFdCj4YcuEUcrvQ57nmogI=", - "requires": { - "add-px-to-style": "1.0.0", - "prefix-style": "2.0.1", - "to-camel-case": "1.0.0" - } - }, - "dom-helpers": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.3.1.tgz", - "integrity": "sha1-/BpOFf/fYN3eA6SAqcD+zoId1KY=" - }, - "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", - "dev": true, - "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", - "dev": true - } - } - }, - "dom-walk": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" - }, - "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 - }, - "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", - "dev": true - }, - "domhandler": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.1.tgz", - "integrity": "sha1-iS5HAAqZvlW783dP/qBWHYh5wlk=", - "dev": true, - "requires": { - "domelementtype": "1.3.0" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" - } - }, - "duplexer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", - "dev": true - }, - "duplexify": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.4.tgz", - "integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==", - "requires": { - "end-of-stream": "1.4.1", - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "stream-shift": "1.0.0" - } - }, - "easy-extender": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.2.tgz", - "integrity": "sha1-PTJI/r4rFZYHMW2PnPSRwWZIIh0=", - "dev": true, - "requires": { - "lodash": "3.10.1" - }, - "dependencies": { - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", - "dev": true - } - } - }, - "eazy-logger": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-3.0.2.tgz", - "integrity": "sha1-oyWqXlPROiIliJsqxBE7K5Y29Pw=", - "dev": true, - "requires": { - "tfunk": "3.1.0" - } - }, - "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" - } - }, - "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.5.7", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz", - "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.24", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.24.tgz", - "integrity": "sha1-m3uIuwXOufoBahd4M8wt3jiPIbY=", - "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.3", - "hmac-drbg": "1.0.1", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0", - "minimalistic-crypto-utils": "1.0.1" - } - }, - "emitter-steward": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/emitter-steward/-/emitter-steward-1.0.0.tgz", - "integrity": "sha1-80Ea3pdYp1Zd+Eiy2gy70bRsvWQ=", - "dev": true - }, - "emoji-regex": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz", - "integrity": "sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==", - "dev": true - }, - "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.1", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", - "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=", - "dev": true - }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "requires": { - "iconv-lite": "0.4.19" - } - }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha1-7SljTRm6ukY7bOa4CjchPqtx7EM=", - "requires": { - "once": "1.4.0" - } - }, - "engine.io": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.0.tgz", - "integrity": "sha1-PutfJky3XbvsG6rqJtYfWk6s4qo=", - "dev": true, - "requires": { - "accepts": "1.3.3", - "base64id": "0.1.0", - "cookie": "0.3.1", - "debug": "2.3.3", - "engine.io-parser": "1.3.1", - "ws": "1.1.1" - }, - "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.17", - "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=", - "dev": true - } - } - }, - "engine.io-client": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.0.tgz", - "integrity": "sha1-e3MOQSdBQIdZbZvjyI0rxf22z1w=", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "2.3.3", - "engine.io-parser": "1.3.1", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parsejson": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "1.1.1", - "xmlhttprequest-ssl": "1.5.3", - "yeast": "0.1.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=", - "dev": true - }, - "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=", - "dev": true - } - } - }, - "engine.io-parser": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.1.tgz", - "integrity": "sha1-lVTxrjMQfW+9FwylRm0vgz9qB88=", - "dev": true, - "requires": { - "after": "0.8.1", - "arraybuffer.slice": "0.0.6", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.4", - "has-binary": "0.1.6", - "wtf-8": "1.0.0" - }, - "dependencies": { - "has-binary": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.6.tgz", - "integrity": "sha1-JTJvOc+k9hath4eJTjryz7x7bhA=", - "dev": true, - "requires": { - "isarray": "0.0.1" - } - } - } - }, - "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.0", - "tapable": "0.2.8" - } - }, - "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", - "dev": true - }, - "enzyme": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-2.9.1.tgz", - "integrity": "sha1-B9XOaRJBJA+4F78sSxjW5TAkDfY=", - "dev": true, - "requires": { - "cheerio": "0.22.0", - "function.prototype.name": "1.0.3", - "is-subset": "0.1.1", - "lodash": "4.17.5", - "object-is": "1.0.1", - "object.assign": "4.0.4", - "object.entries": "1.0.4", - "object.values": "1.0.4", - "prop-types": "15.5.10", - "uuid": "3.1.0" - } - }, - "errno": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", - "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", - "dev": true, - "requires": { - "prr": "0.0.0" - } - }, - "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", - "dev": true, - "requires": { - "is-arrayish": "0.2.1" - } - }, - "error-stack-parser": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-1.3.6.tgz", - "integrity": "sha1-4Oc7k+QXE40c18C3RrGkoUhUwpI=", - "dev": true, - "requires": { - "stackframe": "0.3.1" - } - }, - "es-abstract": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.9.0.tgz", - "integrity": "sha512-kk3IJoKo7A3pWJc0OV8yZ/VEX2oSUytfekrJiqoxBlKJMFAJVJVpGdHClCCTdv+Fn2zHfpDHHIelMFhZVfef3Q==", - "dev": true, - "requires": { - "es-to-primitive": "1.1.1", - "function-bind": "1.1.1", - "has": "1.0.1", - "is-callable": "1.1.3", - "is-regex": "1.0.4" - } - }, - "es-to-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", - "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", - "dev": true, - "requires": { - "is-callable": "1.1.3", - "is-date-object": "1.0.1", - "is-symbol": "1.0.1" - } - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha1-njr0B0Wd7tR+mpH5uIWoTrBcVh0=" - }, - "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 - }, - "eslint": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.18.2.tgz", - "integrity": "sha512-qy4i3wODqKMYfz9LUI8N2qYDkHkoieTbiHpMrYUI/WbjhXJQr7lI4VngixTgaG+yHX+NBCv7nW4hA0ShbvaNKw==", - "dev": true, - "requires": { - "ajv": "5.5.2", - "babel-code-frame": "6.26.0", - "chalk": "2.3.2", - "concat-stream": "1.6.1", - "cross-spawn": "5.1.0", - "debug": "3.1.0", - "doctrine": "2.1.0", - "eslint-scope": "3.7.1", - "eslint-visitor-keys": "1.0.0", - "espree": "3.5.4", - "esquery": "1.0.0", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "functional-red-black-tree": "1.0.1", - "glob": "7.1.2", - "globals": "11.3.0", - "ignore": "3.3.7", - "imurmurhash": "0.1.4", - "inquirer": "3.3.0", - "is-resolvable": "1.1.0", - "js-yaml": "3.11.0", - "json-stable-stringify-without-jsonify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.5", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "7.0.0", - "progress": "2.0.0", - "require-uncached": "1.0.3", - "semver": "5.4.1", - "strip-ansi": "4.0.0", - "strip-json-comments": "2.0.1", - "table": "4.0.2", - "text-table": "0.2.0" - }, - "dependencies": { - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.0.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" - } - }, - "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.0" - } - }, - "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.3.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" - } - }, - "globals": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz", - "integrity": "sha512-kkpcKNlmQan9Z5ZmgqKH/SMbSmjxQ7QjyNqfXVc8VJcoBV2UEg+sxQD15GQofGRh2hfpwUb70VC31DR7Rq5Hdw==", - "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 - }, - "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==", - "dev": true, - "requires": { - "argparse": "1.0.9", - "esprima": "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.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - } - } - }, - "eslint-config-airbnb": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-16.1.0.tgz", - "integrity": "sha512-zLyOhVWhzB/jwbz7IPSbkUuj7X2ox4PHXTcZkEmDqTvd0baJmJyuxlFPDlZOE/Y5bC+HQRaEkT3FoHo9wIdRiw==", - "dev": true, - "requires": { - "eslint-config-airbnb-base": "12.1.0" - } - }, - "eslint-config-airbnb-base": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.1.0.tgz", - "integrity": "sha512-/vjm0Px5ZCpmJqnjIzcFb9TKZrKWz0gnuG/7Gfkt0Db1ELJR51xkZth+t14rYdqWgX836XbuxtArbIHlVhbLBA==", - "dev": true, - "requires": { - "eslint-restricted-globals": "0.1.1" - } - }, - "eslint-import-resolver-node": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", - "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", - "dev": true, - "requires": { - "debug": "2.6.9", - "resolve": "1.5.0" - }, - "dependencies": { - "resolve": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", - "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", - "dev": true, - "requires": { - "path-parse": "1.0.5" - } - } - } - }, - "eslint-module-utils": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz", - "integrity": "sha512-jDI/X5l/6D1rRD/3T43q8Qgbls2nq5km5KSqiwlyUbGo5+04fXhMKdCPhjwbqAa6HXWaMxj8Q4hQDIh7IadJQw==", - "dev": true, - "requires": { - "debug": "2.6.9", - "pkg-dir": "1.0.0" - }, - "dependencies": { - "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" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "2.0.1" - } - }, - "pkg-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", - "dev": true, - "requires": { - "find-up": "1.1.2" - } - } - } - }, - "eslint-plugin-import": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.9.0.tgz", - "integrity": "sha1-JgAu+/ylmJtyiKwEdQi9JPIXsWk=", - "dev": true, - "requires": { - "builtin-modules": "1.1.1", - "contains-path": "0.1.0", - "debug": "2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "0.3.2", - "eslint-module-utils": "2.1.1", - "has": "1.0.1", - "lodash": "4.17.5", - "minimatch": "3.0.4", - "read-pkg-up": "2.0.0" - }, - "dependencies": { - "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" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "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": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "2.3.0" - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" - } - }, - "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" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, - "eslint-plugin-jsx-a11y": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.0.3.tgz", - "integrity": "sha1-VFg9GuRCSDFi4EDhPMMYZUZRAOU=", - "dev": true, - "requires": { - "aria-query": "0.7.1", - "array-includes": "3.0.3", - "ast-types-flow": "0.0.7", - "axobject-query": "0.1.0", - "damerau-levenshtein": "1.0.4", - "emoji-regex": "6.5.1", - "jsx-ast-utils": "2.0.1" - } - }, - "eslint-plugin-react": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.7.0.tgz", - "integrity": "sha512-KC7Snr4YsWZD5flu6A5c0AcIZidzW3Exbqp7OT67OaD2AppJtlBr/GuPrW/vaQM/yfZotEvKAdrxrO+v8vwYJA==", - "dev": true, - "requires": { - "doctrine": "2.1.0", - "has": "1.0.1", - "jsx-ast-utils": "2.0.1", - "prop-types": "15.6.0" - }, - "dependencies": { - "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 - }, - "prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", - "dev": true, - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" - } - } - } - }, - "eslint-restricted-globals": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz", - "integrity": "sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc=", - "dev": true - }, - "eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", - "dev": true, - "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" - } - }, - "eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", - "dev": true - }, - "eslint-watch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eslint-watch/-/eslint-watch-3.1.2.tgz", - "integrity": "sha1-uTs+ygiRXxE9yQCZT4gNsTZN5LM=", - "dev": true, - "requires": { - "babel-polyfill": "6.26.0", - "bluebird": "3.5.1", - "chalk": "1.1.3", - "chokidar": "1.7.0", - "debug": "2.6.9", - "keypress": "0.2.1", - "lodash": "4.17.5", - "optionator": "0.8.2", - "source-map-support": "0.4.18", - "text-table": "0.2.0", - "unicons": "0.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - } - }, - "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 - } - } - }, - "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.5.3", - "acorn-jsx": "3.0.1" - }, - "dependencies": { - "acorn": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", - "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", - "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 - }, - "esquery": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", - "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", - "dev": true, - "requires": { - "estraverse": "4.2.0" - } - }, - "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-stream": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", - "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", - "dev": true, - "requires": { - "duplexer": "0.1.1", - "from": "0.1.7", - "map-stream": "0.1.0", - "pause-stream": "0.0.11", - "split": "0.3.3", - "stream-combiner": "0.0.4", - "through": "2.3.8" - } - }, - "eventemitter3": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", - "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=", - "dev": true - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", - "dev": true - }, - "eventsource": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", - "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", - "dev": true, - "requires": { - "original": "1.0.0" - } - }, - "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.1" - } - }, - "exec-sh": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.1.tgz", - "integrity": "sha1-FjuYpuiea2W0fCoo0hW8H2OYnDg=", - "dev": true, - "requires": { - "merge": "1.2.0" - } - }, - "exenv": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", - "integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=" - }, - "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.3" - } - }, - "express": { - "version": "2.5.11", - "resolved": "https://registry.npmjs.org/express/-/express-2.5.11.tgz", - "integrity": "sha1-TOjqHzY15p5J8Ou0l7aksKUc5vA=", - "dev": true, - "requires": { - "connect": "1.9.2", - "mime": "1.2.4", - "mkdirp": "0.3.0", - "qs": "0.4.2" - }, - "dependencies": { - "connect": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/connect/-/connect-1.9.2.tgz", - "integrity": "sha1-QogKIulDiuWait105Df1iujlKAc=", - "dev": true, - "requires": { - "formidable": "1.0.17", - "mime": "1.2.4", - "qs": "0.4.2" - } - }, - "mkdirp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", - "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=", - "dev": true - }, - "qs": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-0.4.2.tgz", - "integrity": "sha1-PKxMhh43GoycR3CsI82o3mObjl8=", - "dev": true - } - } - }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" - }, - "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.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz", - "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==", - "dev": true, - "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.19", - "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-text-webpack-plugin": { - "version": "3.0.0-rc.2", - "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.0-rc.2.tgz", - "integrity": "sha1-2JG/pAGpMS5C4MxMQavPtyl7kaM=", - "dev": true, - "requires": { - "async": "2.5.0", - "loader-utils": "1.1.0", - "schema-utils": "0.3.0", - "webpack-sources": "1.0.1" - }, - "dependencies": { - "async": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", - "dev": true, - "requires": { - "lodash": "4.17.5" - } - } - } - }, - "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.0.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", - "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": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", - "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", - "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=", - "dev": true, - "requires": { - "websocket-driver": "0.7.0" - } - }, - "fb-watchman": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", - "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", - "dev": true, - "requires": { - "bser": "2.0.0" - } - }, - "fbjs": { - "version": "0.8.16", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", - "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", - "requires": { - "core-js": "1.2.7", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.3.1", - "object-assign": "4.1.0", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.14" - } - }, - "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" - } - }, - "file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", - "dev": true, - "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.0" - } - }, - "file-loader": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.11.2.tgz", - "integrity": "sha1-T/HfKK84cZpgmAk7iMgscdF5SjQ=", - "dev": true, - "requires": { - "loader-utils": "1.1.0" - } - }, - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", - "dev": 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": "2.0.3", - "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", - "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", - "dev": true, - "requires": { - "glob": "7.1.2", - "minimatch": "3.0.4" - } - }, - "filesize": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.5.10.tgz", - "integrity": "sha1-/I+iPdtO+eXgq24eZPZ5okpWdh8=", - "dev": true - }, - "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": "0.5.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.5.0.tgz", - "integrity": "sha1-6VCKvs6bbbqHGmlCodeRG5GRGsc=", - "dev": true, - "requires": { - "debug": "2.2.0", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "statuses": "1.3.1", - "unpipe": "1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "dev": true, - "requires": { - "ms": "0.7.1" - } - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", - "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.2.0", - "pkg-dir": "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" - } - }, - "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" - } - }, - "flatten": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", - "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", - "dev": true - }, - "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-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": 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, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.17" - } - }, - "formidable": { - "version": "1.0.17", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.0.17.tgz", - "integrity": "sha1-71SRSQ+UM7cF+qdyScmQKa40hVk=", - "dev": true - }, - "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.3.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz", - "integrity": "sha1-ZR+DjiJCTnVm3hYdg1jKoZn4PU8=", - "dev": true - }, - "from": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", - "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", - "dev": true - }, - "fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "3.0.1", - "universalify": "0.1.1" - } - }, - "fs-readdir-recursive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz", - "integrity": "sha1-jNF0XItPiinIyuw5JHaSG6GV9WA=", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", - "integrity": "sha1-EfgjGPX+e7LNIpZaEI6TBiCCFtg=", - "dev": true, - "requires": { - "nan": "2.7.0", - "node-pre-gyp": "0.6.39" - }, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.1.1", - "bundled": true, - "dev": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" - } - }, - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "dev": true - }, - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "dev": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "dev": true - }, - "balanced-match": { - "version": "0.4.2", - "bundled": true, - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.7", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - } - }, - "buffer-shims": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "dev": true - }, - "co": { - "version": "4.6.0", - "bundled": true, - "dev": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "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 - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.4.2", - "bundled": true, - "dev": true - }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "detect-libc": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "dev": true - }, - "form-data": { - "version": "2.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "requires": { - "aproba": "1.1.1", - "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" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "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" - } - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true, - "dev": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "bundled": true, - "dev": true - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.4", - "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" - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.15", - "bundled": true, - "dev": true, - "requires": { - "mime-db": "1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "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 - }, - "node-pre-gyp": { - "version": "0.6.39", - "bundled": true, - "dev": true, - "requires": { - "detect-libc": "1.0.2", - "hawk": "3.1.3", - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "tar-pack": "3.4.0" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" - } - }, - "npmlog": { - "version": "4.1.0", - "bundled": true, - "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" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "dev": true, - "optional": 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.4", - "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 - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "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.2.9", - "bundled": true, - "dev": true, - "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" - } - }, - "request": { - "version": "2.81.0", - "bundled": true, - "dev": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "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.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" - } - }, - "rimraf": { - "version": "2.6.1", - "bundled": true, - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "semver": { - "version": "5.3.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 - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "sshpk": { - "version": "1.13.0", - "bundled": true, - "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", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "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.0.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true - }, - "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 - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "dev": true, - "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.1", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "dev": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "uuid": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "dev": true, - "requires": { - "extsprintf": "1.0.2" - } - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "string-width": "1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", - "dev": true - }, - "function.prototype.name": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.0.3.tgz", - "integrity": "sha512-5EblxZUdioXi2JiMZ9FUbwYj40eQ9MFHyzFLBSPdlRl3SO8l7SLWuAnQ/at/1Wi4hjJwME/C5WpF2ZfAc8nGNw==", - "dev": true, - "requires": { - "define-properties": "1.1.2", - "function-bind": "1.1.1", - "is-callable": "1.1.3" - } - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "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.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", - "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-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" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", - "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=", - "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-stream": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", - "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", - "requires": { - "extend": "3.0.1", - "glob": "7.1.2", - "glob-parent": "3.1.0", - "is-negated-glob": "1.0.0", - "ordered-read-streams": "1.0.1", - "pumpify": "1.4.0", - "readable-stream": "2.3.3", - "remove-trailing-separator": "1.1.0", - "to-absolute-glob": "2.0.2", - "unique-stream": "2.2.1" - }, - "dependencies": { - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.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=" - }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "2.1.1" - } - } - } - }, - "global": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", - "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", - "requires": { - "min-document": "2.19.0", - "process": "0.5.2" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", - "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.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true - }, - "gzip-size": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", - "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=", - "dev": true, - "requires": { - "duplexer": "0.1.1" - } - }, - "handle-thing": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", - "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", - "dev": true - }, - "handlebars": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz", - "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=", - "dev": true, - "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" - }, - "dependencies": { - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "optional": true, - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - } - }, - "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" - } - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "optional": true, - "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "optional": true - } - } - }, - "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, - "optional": true - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true, - "optional": true - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "optional": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - } - } - }, - "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": "2.0.6", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", - "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "commander": "2.11.0", - "is-my-json-valid": "2.16.1", - "pinkie-promise": "2.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - } - }, - "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 - } - } - }, - "harmony-reflect": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.5.1.tgz", - "integrity": "sha1-tUymF7AMyK71Wbuxez2FQx3H4yk=", - "dev": true - }, - "has": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", - "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", - "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-binary": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz", - "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=", - "dev": true, - "requires": { - "isarray": "0.0.1" - } - }, - "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": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "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.5" - } - } - } - }, - "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.5" - } - } - } - }, - "hash-base": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", - "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true, - "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" - } - }, - "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" - } - }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", - "dev": true - }, - "help-me": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/help-me/-/help-me-1.1.0.tgz", - "integrity": "sha1-jy1QjQYAtKRW2i8IZVbn5cBWo8Y=", - "requires": { - "callback-stream": "1.1.0", - "glob-stream": "6.1.0", - "through2": "2.0.3", - "xtend": "4.0.1" - } - }, - "history": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/history/-/history-3.3.0.tgz", - "integrity": "sha1-/O3M6PEpdTcVRdc1RhAzV5ptrpw=", - "requires": { - "invariant": "2.2.2", - "loose-envify": "1.3.1", - "query-string": "4.3.4", - "warning": "3.0.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.3", - "minimalistic-assert": "1.0.0", - "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 - }, - "hoist-non-react-statics": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.3.1.tgz", - "integrity": "sha1-ND24TGAYxlB3iJgkATWhQg7iLOA=" - }, - "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" - } - }, - "hosted-git-info": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw=", - "dev": true - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "obuf": "1.1.2", - "readable-stream": "2.3.3", - "wbuf": "1.7.3" - } - }, - "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 - }, - "html-encoding-sniffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz", - "integrity": "sha1-eb96eF6klf5mFl5zQVPzY/9UN9o=", - "dev": true, - "requires": { - "whatwg-encoding": "1.0.1" - } - }, - "html-entities": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", - "dev": true - }, - "html-minifier": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.5.tgz", - "integrity": "sha512-g+1+NBycQI0fGnggd52JM8TRUweG7+9W2wrtjGitMAqc4G7maweAHvVAAjz9veHseIH3tYKE2lk2USGSoewIrQ==", - "dev": true, - "requires": { - "camel-case": "3.0.0", - "clean-css": "4.1.9", - "commander": "2.11.0", - "he": "1.1.1", - "ncname": "1.0.0", - "param-case": "2.1.1", - "relateurl": "0.2.7", - "uglify-js": "3.1.3" - } - }, - "html-webpack-harddisk-plugin": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/html-webpack-harddisk-plugin/-/html-webpack-harddisk-plugin-0.1.0.tgz", - "integrity": "sha1-QyAklhohrGaPorXf4kYpxgucWNc=", - "dev": true, - "requires": { - "mkdirp": "0.5.1" - } - }, - "html-webpack-plugin": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-2.29.0.tgz", - "integrity": "sha1-6Yf0IYU9O2k4yMTIFxhC5f0XryM=", - "dev": true, - "requires": { - "bluebird": "3.5.1", - "html-minifier": "3.5.5", - "loader-utils": "0.2.17", - "lodash": "4.17.5", - "pretty-error": "2.1.1", - "toposort": "1.0.6" - }, - "dependencies": { - "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.0" - } - } - } - }, - "htmlparser2": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", - "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", - "dev": true, - "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.4.1", - "domutils": "1.5.1", - "entities": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.3" - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.5.1.tgz", - "integrity": "sha1-eIwNLB3iyBuebowBhDtrl+uSB1A=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "setprototypeof": "1.0.2", - "statuses": "1.3.1" - } - }, - "http-parser-js": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.11.tgz", - "integrity": "sha512-QCR5O2AjjMW8Mo4HyI1ctFcv+O99j/0g367V3YoVnrNw5hkDvAWZD0lWGcc+F4yN3V55USPCVix4efb75HxFfA==", - "dev": true - }, - "http-proxy": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.15.2.tgz", - "integrity": "sha1-ZC/cr/5S00SNK9o7AHnpQJBk2jE=", - "dev": true, - "requires": { - "eventemitter3": "1.2.0", - "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=", - "dev": true, - "requires": { - "http-proxy": "1.16.2", - "is-glob": "3.1.0", - "lodash": "4.17.5", - "micromatch": "2.3.11" - }, - "dependencies": { - "http-proxy": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", - "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", - "dev": true, - "requires": { - "eventemitter3": "1.2.0", - "requires-port": "1.0.0" - } - }, - "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" - } - } - } - }, - "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.13.1" - } - }, - "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 - }, - "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.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=" - }, - "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.13" - } - }, - "identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ=", - "dev": true, - "requires": { - "harmony-reflect": "1.5.1" - } - }, - "ieee754": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", - "dev": true - }, - "ignore": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", - "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", - "dev": true - }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" - }, - "immutable": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.1.tgz", - "integrity": "sha1-IAgH8Rqw9ycQ6khVQt4IgHX2jNI=", - "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" - } - }, - "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 - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "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=" - }, - "inputmask-core": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/inputmask-core/-/inputmask-core-2.2.0.tgz", - "integrity": "sha1-eadffzpNMxKulf0rVaI2anyR37o=" - }, - "inquirer": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", - "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", - "dev": true, - "requires": { - "ansi-escapes": "3.0.0", - "chalk": "2.0.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.1.0", - "figures": "2.0.0", - "lodash": "4.17.5", - "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rx-lite": "4.0.8", - "rx-lite-aggregates": "4.0.8", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" - }, - "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" - } - } - } - }, - "internal-ip": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", - "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", - "dev": true, - "requires": { - "meow": "3.7.0" - } - }, - "interpret": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", - "dev": true - }, - "invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", - "requires": { - "loose-envify": "1.3.1" - } - }, - "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.5.2", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz", - "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=", - "dev": true - }, - "is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha1-OV4a6EsR8mrReV5zwXN45IowFXY=", - "requires": { - "is-relative": "1.0.0", - "is-windows": "1.0.2" - } - }, - "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": "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" - }, - "dependencies": { - "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 - } - } - }, - "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.10.0" - } - }, - "is-buffer": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", - "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", - "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-callable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", - "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", - "dev": true - }, - "is-ci": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz", - "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=", - "dev": true, - "requires": { - "ci-info": "1.1.1" - } - }, - "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" - }, - "dependencies": { - "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 - } - } - }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": 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, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - }, - "dependencies": { - "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 - } - } - }, - "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-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-function": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", - "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" - }, - "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-in-browser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", - "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=" - }, - "is-my-json-valid": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz", - "integrity": "sha512-ochPsqWS1WXj8ZnMIV0vnNXooaMhp7cyL4FMSIPKTtnV0Ha/T19G2b9kkhcNsabV9bxYkze7/aLZJb/bYuFduQ==", - "dev": true, - "requires": { - "generate-function": "2.0.0", - "generate-object-property": "1.2.0", - "jsonpointer": "4.0.1", - "xtend": "4.0.1" - } - }, - "is-negated-glob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", - "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=" - }, - "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-number-like": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", - "integrity": "sha1-LhKWILUIkQQuROm7uzBZPnXPu+M=", - "dev": true, - "requires": { - "lodash.isfinite": "3.3.2" - } - }, - "is-odd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", - "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", - "dev": true, - "requires": { - "is-number": "4.0.0" - }, - "dependencies": { - "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 - } - } - }, - "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.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", - "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", - "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": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", - "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=" - } - } - }, - "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=" - }, - "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-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.1" - } - }, - "is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha1-obtpNc6MXboei5dUubLcwCDiJg0=", - "requires": { - "is-unc-path": "1.0.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=" - }, - "is-subset": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", - "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", - "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-symbol": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", - "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", - "dev": true - }, - "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-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha1-1zHoiY7QkKEsNSrS6u1Qla0yLJ0=", - "requires": { - "unc-path-regex": "0.1.2" - } - }, - "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==" - }, - "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": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "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 - }, - "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" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - } - } - }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "requires": { - "node-fetch": "1.7.3", - "whatwg-fetch": "2.0.3" - } - }, - "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-api": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.1.14.tgz", - "integrity": "sha1-JbxXAffGgMD//5E95G42GaOm5oA=", - "dev": true, - "requires": { - "async": "2.5.0", - "fileset": "2.0.3", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-hook": "1.0.7", - "istanbul-lib-instrument": "1.8.0", - "istanbul-lib-report": "1.1.1", - "istanbul-lib-source-maps": "1.2.1", - "istanbul-reports": "1.1.2", - "js-yaml": "3.10.0", - "mkdirp": "0.5.1", - "once": "1.4.0" - }, - "dependencies": { - "async": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", - "dev": true, - "requires": { - "lodash": "4.17.5" - } - }, - "esprima": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", - "integrity": "sha1-RJnt3NERDgshi6zy+n9/WfVcqAQ=", - "dev": true - }, - "js-yaml": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", - "integrity": "sha1-LnhEFka9RoLpY/IrbpKCPDCcYtw=", - "dev": true, - "requires": { - "argparse": "1.0.9", - "esprima": "4.0.0" - } - } - } - }, - "istanbul-lib-coverage": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", - "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==", - "dev": true - }, - "istanbul-lib-hook": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz", - "integrity": "sha512-3U2HB9y1ZV9UmFlE12Fx+nPtFqIymzrqCksrXujm3NVbAZIJg/RfYgO1XiIa0mbmxTjWpVEVlkIZJ25xVIAfkQ==", - "dev": true, - "requires": { - "append-transform": "0.4.0" - } - }, - "istanbul-lib-instrument": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.8.0.tgz", - "integrity": "sha1-ZvbJQhzJ7EcE928tsIS6kHiitTI=", - "dev": true, - "requires": { - "babel-generator": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.1.1", - "semver": "5.4.1" - } - }, - "istanbul-lib-report": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", - "integrity": "sha512-tvF+YmCmH4thnez6JFX06ujIA19WPa9YUiwjc1uALF2cv5dmE3It8b5I8Ob7FHJ70H9Y5yF+TDkVa/mcADuw1Q==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" - }, - "dependencies": { - "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 - }, - "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-lib-source-maps": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz", - "integrity": "sha512-mukVvSXCn9JQvdJl8wP/iPhqig0MRtuWuD4ZNKo6vB2Ik//AmhAKe3QnPN02dmkRe3lTudFk3rzoHhwU4hb94w==", - "dev": true, - "requires": { - "debug": "2.6.9", - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "rimraf": "2.6.1", - "source-map": "0.5.7" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha1-D7Lj9qqZIr085F0F2KtNXo4HvU8=", - "dev": true, - "requires": { - "handlebars": "4.0.10" - } - }, - "jest": { - "version": "20.0.4", - "resolved": "https://registry.npmjs.org/jest/-/jest-20.0.4.tgz", - "integrity": "sha1-PdJgwpidba1nix6cxNkZRPbWAqw=", - "dev": true, - "requires": { - "jest-cli": "20.0.4" - } - }, - "jest-changed-files": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-20.0.3.tgz", - "integrity": "sha1-k5TVzGXEOEBhSb7xv01Sto4D4/g=", - "dev": true - }, - "jest-cli": { - "version": "20.0.4", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-20.0.4.tgz", - "integrity": "sha1-5TKxnYiuW8bEF+iwWTpv6VSx3JM=", - "dev": true, - "requires": { - "ansi-escapes": "1.4.0", - "callsites": "2.0.0", - "chalk": "1.1.3", - "graceful-fs": "4.1.11", - "is-ci": "1.0.10", - "istanbul-api": "1.1.14", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-instrument": "1.8.0", - "istanbul-lib-source-maps": "1.2.1", - "jest-changed-files": "20.0.3", - "jest-config": "20.0.4", - "jest-docblock": "20.0.3", - "jest-environment-jsdom": "20.0.3", - "jest-haste-map": "20.0.5", - "jest-jasmine2": "20.0.4", - "jest-message-util": "20.0.3", - "jest-regex-util": "20.0.3", - "jest-resolve-dependencies": "20.0.3", - "jest-runtime": "20.0.4", - "jest-snapshot": "20.0.3", - "jest-util": "20.0.3", - "micromatch": "2.3.11", - "node-notifier": "5.1.2", - "pify": "2.3.0", - "slash": "1.0.0", - "string-length": "1.0.1", - "throat": "3.2.0", - "which": "1.3.0", - "worker-farm": "1.5.0", - "yargs": "7.1.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - } - }, - "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 - }, - "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "dev": true, - "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "5.0.0" - } - }, - "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", - "dev": true, - "requires": { - "camelcase": "3.0.0" - } - } - } - }, - "jest-config": { - "version": "20.0.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-20.0.4.tgz", - "integrity": "sha1-43kwqyIXyRNgXv8T5712PsSPruo=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "glob": "7.1.2", - "jest-environment-jsdom": "20.0.3", - "jest-environment-node": "20.0.3", - "jest-jasmine2": "20.0.4", - "jest-matcher-utils": "20.0.3", - "jest-regex-util": "20.0.3", - "jest-resolve": "20.0.4", - "jest-validate": "20.0.3", - "pretty-format": "20.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - } - }, - "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 - } - } - }, - "jest-diff": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-20.0.3.tgz", - "integrity": "sha1-gfKI/Z5nXw+yPHXxwrGURf5YZhc=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "diff": "3.4.0", - "jest-matcher-utils": "20.0.3", - "pretty-format": "20.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - } - }, - "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 - } - } - }, - "jest-docblock": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-20.0.3.tgz", - "integrity": "sha1-F76phDQswz2DxQ++FUXqDvqkRxI=", - "dev": true - }, - "jest-environment-jsdom": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-20.0.3.tgz", - "integrity": "sha1-BIqKwS7iJfcZBBdxODS7mZeH3pk=", - "dev": true, - "requires": { - "jest-mock": "20.0.3", - "jest-util": "20.0.3", - "jsdom": "9.12.0" - } - }, - "jest-environment-node": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-20.0.3.tgz", - "integrity": "sha1-1Ii8RhKvLCRumG6K52caCZFj1AM=", - "dev": true, - "requires": { - "jest-mock": "20.0.3", - "jest-util": "20.0.3" - } - }, - "jest-haste-map": { - "version": "20.0.5", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-20.0.5.tgz", - "integrity": "sha1-q61077GgBZdKe2UX4RAQcJyrkRI=", - "dev": true, - "requires": { - "fb-watchman": "2.0.0", - "graceful-fs": "4.1.11", - "jest-docblock": "20.0.3", - "micromatch": "2.3.11", - "sane": "1.6.0", - "worker-farm": "1.5.0" - } - }, - "jest-jasmine2": { - "version": "20.0.4", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-20.0.4.tgz", - "integrity": "sha1-/MWxQReA2RHQQpAu8YWehS5g1eE=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "graceful-fs": "4.1.11", - "jest-diff": "20.0.3", - "jest-matcher-utils": "20.0.3", - "jest-matchers": "20.0.3", - "jest-message-util": "20.0.3", - "jest-snapshot": "20.0.3", - "once": "1.4.0", - "p-map": "1.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - } - }, - "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 - } - } - }, - "jest-matcher-utils": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-20.0.3.tgz", - "integrity": "sha1-s6a443yld4A7CDKpixZPRLeBVhI=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "pretty-format": "20.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - } - }, - "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 - } - } - }, - "jest-matchers": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-matchers/-/jest-matchers-20.0.3.tgz", - "integrity": "sha1-ymnbHDLbWm9wf6XgQBq7VXAN/WA=", - "dev": true, - "requires": { - "jest-diff": "20.0.3", - "jest-matcher-utils": "20.0.3", - "jest-message-util": "20.0.3", - "jest-regex-util": "20.0.3" - } - }, - "jest-message-util": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-20.0.3.tgz", - "integrity": "sha1-auwoRDBvyw5udNV5bBAG2W/dgxw=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "micromatch": "2.3.11", - "slash": "1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - } - }, - "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 - } - } - }, - "jest-mock": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-20.0.3.tgz", - "integrity": "sha1-i8Bw6QQUqhVcEajWTIaaDVxx2lk=", - "dev": true - }, - "jest-regex-util": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-20.0.3.tgz", - "integrity": "sha1-hburXRM+RGJbGfr4xqpRItCF12I=", - "dev": true - }, - "jest-resolve": { - "version": "20.0.4", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-20.0.4.tgz", - "integrity": "sha1-lEiz6La6/BVHlETGSZBFt//ll6U=", - "dev": true, - "requires": { - "browser-resolve": "1.11.2", - "is-builtin-module": "1.0.0", - "resolve": "1.4.0" - }, - "dependencies": { - "resolve": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", - "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", - "dev": true, - "requires": { - "path-parse": "1.0.5" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-20.0.3.tgz", - "integrity": "sha1-bhSntxevDyyzZnxUneQK8Bexcjo=", - "dev": true, - "requires": { - "jest-regex-util": "20.0.3" - } - }, - "jest-runtime": { - "version": "20.0.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-20.0.4.tgz", - "integrity": "sha1-osgCIZxCA/dU3xQE5JAYYWnRJNg=", - "dev": true, - "requires": { - "babel-core": "6.26.0", - "babel-jest": "20.0.3", - "babel-plugin-istanbul": "4.1.5", - "chalk": "1.1.3", - "convert-source-map": "1.5.0", - "graceful-fs": "4.1.11", - "jest-config": "20.0.4", - "jest-haste-map": "20.0.5", - "jest-regex-util": "20.0.3", - "jest-resolve": "20.0.4", - "jest-util": "20.0.3", - "json-stable-stringify": "1.0.1", - "micromatch": "2.3.11", - "strip-bom": "3.0.0", - "yargs": "7.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - } - }, - "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": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "dev": true, - "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "5.0.0" - } - }, - "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", - "dev": true, - "requires": { - "camelcase": "3.0.0" - } - } - } - }, - "jest-snapshot": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-20.0.3.tgz", - "integrity": "sha1-W4R+GtsaTZCFKn+fElCG4YfHZWY=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "jest-diff": "20.0.3", - "jest-matcher-utils": "20.0.3", - "jest-util": "20.0.3", - "natural-compare": "1.4.0", - "pretty-format": "20.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - } - }, - "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 - } - } - }, - "jest-util": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-20.0.3.tgz", - "integrity": "sha1-DAf32A2C9OWmfG+LnD/n9lz9Mq0=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "graceful-fs": "4.1.11", - "jest-message-util": "20.0.3", - "jest-mock": "20.0.3", - "jest-validate": "20.0.3", - "leven": "2.1.0", - "mkdirp": "0.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - } - }, - "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 - } - } - }, - "jest-validate": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-20.0.3.tgz", - "integrity": "sha1-0M/R3k9XnymEhJJcKA+PHZTsPKs=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "jest-matcher-utils": "20.0.3", - "leven": "2.1.0", - "pretty-format": "20.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - } - }, - "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 - } - } - }, - "js-base64": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.3.2.tgz", - "integrity": "sha512-Y2/+DnfJJXT1/FCwUebUhLWb3QihxiSC42+ctHLGogmW2jPY6LCapMdFZXRvVP2z6qyKW7s6qncE/9gSqZiArw==", - "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=" - }, - "js-yaml": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz", - "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=", - "dev": true, - "requires": { - "argparse": "1.0.9", - "esprima": "2.7.3" - }, - "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - } - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true - }, - "jsdom": { - "version": "9.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz", - "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", - "dev": true, - "requires": { - "abab": "1.0.4", - "acorn": "4.0.13", - "acorn-globals": "3.1.0", - "array-equal": "1.0.0", - "content-type-parser": "1.0.1", - "cssom": "0.3.2", - "cssstyle": "0.2.37", - "escodegen": "1.9.0", - "html-encoding-sniffer": "1.0.1", - "nwmatcher": "1.4.2", - "parse5": "1.5.1", - "request": "2.83.0", - "sax": "1.2.4", - "symbol-tree": "3.2.2", - "tough-cookie": "2.3.3", - "webidl-conversions": "4.0.2", - "whatwg-encoding": "1.0.1", - "whatwg-url": "4.8.0", - "xml-name-validator": "2.0.1" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "boom": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", - "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", - "dev": true, - "requires": { - "hoek": "4.2.0" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "cryptiles": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", - "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", - "dev": true, - "requires": { - "boom": "5.2.0" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha1-XdnabuOl8wIHdDYpDLcX0/SlTgI=", - "dev": true, - "requires": { - "hoek": "4.2.0" - } - } - } - }, - "escodegen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", - "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", - "dev": true, - "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.5.7" - } - }, - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - }, - "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 - }, - "form-data": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", - "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", - "dev": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.17" - } - }, - "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.2.3", - "har-schema": "2.0.0" - } - }, - "hawk": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", - "integrity": "sha1-r02RTrBl+bXOTZ0RwcshJu7MMDg=", - "dev": true, - "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.0", - "sntp": "2.0.2" - } - }, - "hoek": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", - "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", - "dev": true - }, - "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.13.1" - } - }, - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=", - "dev": true - }, - "request": { - "version": "2.83.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", - "integrity": "sha1-ygtl2gLtYpNYh4COb1EDgQNOM1Y=", - "dev": true, - "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.1", - "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.17", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.1", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.6.0", - "uuid": "3.1.0" - } - }, - "sntp": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.0.2.tgz", - "integrity": "sha1-UGQRDwr4X3z9t9a2ekACjOUrSys=", - "dev": true, - "requires": { - "hoek": "4.2.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "optional": 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.1" - } - } - } - }, - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true - }, - "json-loader": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.4.tgz", - "integrity": "sha1-i6oTZaYy9Yo8RtIBdfxgAsluN94=", - "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=", - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "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 - }, - "jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", - "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=" - }, - "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" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "jss": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/jss/-/jss-9.5.1.tgz", - "integrity": "sha512-py//ogG1xeztpEDmosJtrkfUXibx3qiAr+1GQvfLHp7azpqkzTPLCnainDgH7Zn0q6S7rcM1eINrVT9n/r5f2w==", - "requires": { - "is-in-browser": "1.1.3", - "symbol-observable": "1.1.0", - "warning": "3.0.0" - }, - "dependencies": { - "symbol-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.1.0.tgz", - "integrity": "sha512-dQoid9tqQ+uotGhuTKEY11X4xhyYePVnqGSoSm3OGKh2E8LZ6RPULp1uXTctk33IeERlrRJYoVSBglsL05F5Uw==" - } - } - }, - "jss-camel-case": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/jss-camel-case/-/jss-camel-case-6.0.0.tgz", - "integrity": "sha512-XAYa7JpGkLdlLgEfuzSQSVONRzSVvv4Tvyv5H8hLmJuHeFHTWwVrJrW1Cg/buED3izXKwTU2KBGpeXjIR5Eaew==" - }, - "jss-compose": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/jss-compose/-/jss-compose-5.0.0.tgz", - "integrity": "sha1-zgGy5FIdZcN+pCz0kRbl96tZZIQ=", - "requires": { - "warning": "3.0.0" - } - }, - "jss-default-unit": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/jss-default-unit/-/jss-default-unit-8.0.2.tgz", - "integrity": "sha1-zB6Im65MC5QZMnsxSrHI4oJokOY=" - }, - "jss-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/jss-expand/-/jss-expand-5.1.0.tgz", - "integrity": "sha1-sa107BhjHzT2WiEk/PzrZABhDj0=" - }, - "jss-extend": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jss-extend/-/jss-extend-6.1.0.tgz", - "integrity": "sha512-bSNwLDOZnMxABsUqvq2lwLJ/MMFs8ThligiLZBOUeyoZCoHqAbcTghvunk2QDVxiOhRTDS57VvhXVJZETW58Bw==", - "requires": { - "warning": "3.0.0" - } - }, - "jss-global": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jss-global/-/jss-global-3.0.0.tgz", - "integrity": "sha1-4Z5ckasrljU8In4wqiy9k4zar6I=" - }, - "jss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/jss-nested/-/jss-nested-6.0.1.tgz", - "integrity": "sha1-75kredbo9j2TnEOXudmbXLvoJMo=", - "requires": { - "warning": "3.0.0" - } - }, - "jss-preset-default": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-4.1.0.tgz", - "integrity": "sha512-C6SyfDg99EFrt0bv0lsg2OEN3e72Fry9/hMPW2sO6MSVsx+vc/Og6TJJY3F2MY5Z/V2/wlARHVmCb3TYMr0zFA==", - "requires": { - "jss-camel-case": "6.0.0", - "jss-compose": "5.0.0", - "jss-default-unit": "8.0.2", - "jss-expand": "5.1.0", - "jss-extend": "6.1.0", - "jss-global": "3.0.0", - "jss-nested": "6.0.1", - "jss-props-sort": "6.0.0", - "jss-template": "1.0.1", - "jss-vendor-prefixer": "7.0.0" - } - }, - "jss-props-sort": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/jss-props-sort/-/jss-props-sort-6.0.0.tgz", - "integrity": "sha1-kQUQGjtQcfq2Hi2F6nTMIumxYyM=" - }, - "jss-template": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/jss-template/-/jss-template-1.0.1.tgz", - "integrity": "sha1-Ca7Z2GzFR7B/U+81XX4Xd/faQwo=", - "requires": { - "warning": "3.0.0" - } - }, - "jss-vendor-prefixer": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/jss-vendor-prefixer/-/jss-vendor-prefixer-7.0.0.tgz", - "integrity": "sha1-AWZyllABXvGdnwJDfHNmcjFgXHE=", - "requires": { - "css-vendor": "0.3.8" - } - }, - "jsx-ast-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz", - "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", - "dev": true, - "requires": { - "array-includes": "3.0.3" - } - }, - "keycode": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.1.9.tgz", - "integrity": "sha1-lkojxU5IiUBbSGGlyfBIDUUUHfo=" - }, - "keypress": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/keypress/-/keypress-0.2.1.tgz", - "integrity": "sha1-HoBFQlABjbrUw/6USX1uZ7YmnHc=", - "dev": true - }, - "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.5" - } - }, - "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" - } - }, - "lcov-parse": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", - "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", - "dev": true - }, - "leven": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", - "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", - "dev": true - }, - "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" - } - }, - "lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", - "requires": { - "immediate": "3.0.6" - } - }, - "limiter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.2.tgz", - "integrity": "sha1-Ip2AVYkcixGvng7lIA6OCbs9y+s=", - "dev": true - }, - "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" - } - }, - "localforage": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.6.0.tgz", - "integrity": "sha1-iwBZvus4dcSBJChsp/2/I9UrjJc=", - "requires": { - "lie": "3.1.1" - } - }, - "localtunnel": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-1.8.2.tgz", - "integrity": "sha1-kTBR6DKLUfda2KIq0fXFuMWZo1k=", - "dev": true, - "requires": { - "debug": "2.2.0", - "openurl": "1.1.0", - "request": "2.78.0", - "yargs": "3.29.0" - }, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "dev": true, - "requires": { - "ms": "0.7.1" - } - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", - "dev": true - }, - "yargs": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.29.0.tgz", - "integrity": "sha1-GquWYOrnnYuPZ1vK7qtu40ws9pw=", - "dev": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "os-locale": "1.4.0", - "window-size": "0.1.4", - "y18n": "3.2.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" - } - }, - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" - }, - "lodash-es": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.4.tgz", - "integrity": "sha1-3MHXVS4VCgZABzupyzHXDwMpUOc=" - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", - "dev": true - }, - "lodash.assignin": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", - "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=", - "dev": true - }, - "lodash.bind": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", - "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=", - "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.curry": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", - "integrity": "sha1-JI42By7ekGUB11lmIAqG2riyMXA=", - "dev": true - }, - "lodash.debounce": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-3.1.1.tgz", - "integrity": "sha1-gSIRw3ipTMKdWqTjNGzwv846ffU=", - "dev": true, - "requires": { - "lodash._getnative": "3.9.1" - } - }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=", - "dev": true - }, - "lodash.filter": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", - "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=", - "dev": true - }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", - "dev": true - }, - "lodash.flow": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", - "integrity": "sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o=", - "dev": true - }, - "lodash.foreach": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", - "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=", - "dev": true - }, - "lodash.isfinite": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", - "integrity": "sha1-+4m2WpqAKBgz8LdHizpRBPiY67M=", - "dev": true - }, - "lodash.map": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=", - "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.merge": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.0.tgz", - "integrity": "sha1-aYhLoUSsM/5plzemCG3v+t0PicU=", - "dev": true - }, - "lodash.pick": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=", - "dev": true - }, - "lodash.reduce": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", - "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=", - "dev": true - }, - "lodash.reject": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", - "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=", - "dev": true - }, - "lodash.some": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", - "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=", - "dev": true - }, - "lodash.tail": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", - "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", - "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-driver": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz", - "integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=", - "dev": true - }, - "loglevel": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", - "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", - "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=", - "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" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "lru-cache": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=", - "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 - }, - "make-dir": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.2.0.tgz", - "integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==", - "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 - } - } - }, - "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true, - "requires": { - "tmpl": "1.0.4" - } - }, - "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-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", - "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", - "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" - } - }, - "material-ui": { - "version": "1.0.0-beta.37", - "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.37.tgz", - "integrity": "sha512-CdHWfWZr1QtNrek4926l6tL/xIIgBgrnSPM3AaBHO7iXpj3ZD5z9DUs9Rz1NTJnOWdwp7o8Ie33Xp8XVn3ok6w==", - "requires": { - "@types/jss": "9.3.1", - "@types/react-transition-group": "2.0.7", - "babel-runtime": "6.26.0", - "brcast": "3.0.1", - "classnames": "2.2.5", - "deepmerge": "2.1.0", - "dom-helpers": "3.3.1", - "hoist-non-react-statics": "2.5.0", - "jss": "9.5.1", - "jss-camel-case": "6.0.0", - "jss-default-unit": "8.0.2", - "jss-global": "3.0.0", - "jss-nested": "6.0.1", - "jss-props-sort": "6.0.0", - "jss-vendor-prefixer": "7.0.0", - "keycode": "2.1.9", - "lodash": "4.17.5", - "normalize-scroll-left": "0.1.2", - "prop-types": "15.6.1", - "react-event-listener": "0.5.3", - "react-jss": "8.2.1", - "react-lifecycles-compat": "1.0.2", - "react-popper": "0.8.2", - "react-scrollbar-size": "2.1.0", - "react-transition-group": "2.2.1", - "recompose": "0.26.0", - "scroll": "2.0.3", - "warning": "3.0.0" - }, - "dependencies": { - "hoist-non-react-statics": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz", - "integrity": "sha512-6Bl6XsDT1ntE0lHbIhr4Kp2PGcleGZ66qu5Jqk8lc0Xc/IeG6gVLmwUGs/K0Us+L8VWoKgj0uWdPMataOsm31w==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "prop-types": { - "version": "15.6.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", - "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" - } - } - } - }, - "material-ui-icons": { - "version": "1.0.0-beta.36", - "resolved": "https://registry.npmjs.org/material-ui-icons/-/material-ui-icons-1.0.0-beta.36.tgz", - "integrity": "sha512-7rS6b2EV5QXCB/gTi/Ac9Wbxd+h9EZv1Td3rLLJe4IER8mVHRgdqZccB3EsjW2DrJ7opdY1+8X3/vyrS7CQNpg==", - "requires": { - "recompose": "0.26.0" - } - }, - "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 - }, - "md5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", - "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", - "dev": true, - "requires": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "1.1.5" - } - }, - "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" - }, - "dependencies": { - "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.1" - } - } - } - }, - "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=", - "dev": true, - "requires": { - "errno": "0.1.4", - "readable-stream": "2.3.3" - } - }, - "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.0", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" - } - }, - "merge": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz", - "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=", - "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 - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "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.2.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.4.tgz", - "integrity": "sha1-EbX9rynCUJJVF2uArVIClPXekrc=", - "dev": true - }, - "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", - "dev": true - }, - "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", - "dev": true, - "requires": { - "mime-db": "1.30.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 - }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "requires": { - "dom-walk": "0.1.1" - } - }, - "minimalistic-assert": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", - "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=", - "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": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", - "requires": { - "brace-expansion": "1.1.8" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "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, - "requires": { - "is-plain-object": "2.0.4" - } - } - } - }, - "mixin-object": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", - "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", - "dev": true, - "requires": { - "for-in": "0.1.8", - "is-extendable": "0.1.1" - }, - "dependencies": { - "for-in": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", - "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", - "dev": true - } - } - }, - "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" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } - } - }, - "mockdate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mockdate/-/mockdate-2.0.1.tgz", - "integrity": "sha1-UbwwnixDlmANVrbCOmoPQYKUOjY=", - "dev": true - }, - "mqtt": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-2.16.0.tgz", - "integrity": "sha512-Fx8hai/JWnXSkF5ggOTuon6q3QJAKf9KRGoSDep+uEXovVs+u9cw61nKReUPCYwfmb9wfDit5Qgj0YeHvr7XIA==", - "requires": { - "commist": "1.0.0", - "concat-stream": "1.6.1", - "end-of-stream": "1.4.1", - "help-me": "1.1.0", - "inherits": "2.0.3", - "minimist": "1.2.0", - "mqtt-packet": "5.5.0", - "pump": "3.0.0", - "readable-stream": "2.3.5", - "reinterval": "1.1.0", - "split2": "2.2.0", - "websocket-stream": "5.1.2", - "xtend": "4.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "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==" - }, - "readable-stream": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz", - "integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==", - "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.0.3", - "util-deprecate": "1.0.2" - } - } - } - }, - "mqtt-localforage-store": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/mqtt-localforage-store/-/mqtt-localforage-store-1.0.5.tgz", - "integrity": "sha1-v9fF7lHzOWRWYsuU/3Nf1eXTzQ4=", - "requires": { - "readable-stream": "2.3.3" - } - }, - "mqtt-packet": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-5.5.0.tgz", - "integrity": "sha512-kR+Uw+r9rjUFSLZutmaAhjL4Y1asKLMTwE++PP0iuApJuc+zItE5v2LluQN2K3Pri5e2+K4V++QDjqGTgle/+A==", - "requires": { - "bl": "1.2.1", - "inherits": "2.0.3", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1" - }, - "dependencies": { - "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==" - } - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "requires": { - "dns-packet": "1.3.1", - "thunky": "1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "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 - }, - "nan": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz", - "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=", - "dev": true - }, - "nanomatch": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", - "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", - "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-odd": "2.0.0", - "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 - }, - "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 - }, - "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 - } - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "ncname": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", - "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=", - "dev": true, - "requires": { - "xml-char-classes": "1.0.0" - } - }, - "ncp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-1.0.1.tgz", - "integrity": "sha1-0VNn5cuHQyuhF9K/gP30Wuz7QkY=", - "dev": true - }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", - "dev": true - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=", - "dev": true, - "requires": { - "lower-case": "1.1.4" - } - }, - "no-scroll": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/no-scroll/-/no-scroll-2.1.0.tgz", - "integrity": "sha1-+GQ7PdtqO/lEMOX/MdJvIdCCppU=" - }, - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8=", - "requires": { - "encoding": "0.1.12", - "is-stream": "1.1.0" - } - }, - "node-forge": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.1.tgz", - "integrity": "sha1-naYR6giYL0uUIGs760zJZl8gwwA=", - "dev": true - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "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.3", - "stream-browserify": "2.0.1", - "stream-http": "2.8.0", - "string_decoder": "1.0.3", - "timers-browserify": "2.0.6", - "tty-browserify": "0.0.0", - "url": "0.11.0", - "util": "0.10.3", - "vm-browserify": "0.0.4" - }, - "dependencies": { - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - } - } - }, - "node-notifier": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.1.2.tgz", - "integrity": "sha1-L6nhJgX6EACdRFSdb82KY93g5P8=", - "dev": true, - "requires": { - "growly": "1.3.0", - "semver": "5.4.1", - "shellwords": "0.1.1", - "which": "1.3.0" - } - }, - "nomnom": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz", - "integrity": "sha1-hKZqJgF0QI/Ft3oY+IjszET7aXE=", - "dev": true, - "requires": { - "colors": "0.5.1", - "underscore": "1.4.4" - }, - "dependencies": { - "colors": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz", - "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=", - "dev": true - }, - "underscore": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", - "integrity": "sha1-YaajIBBiKvoHljvzJSA88SI51gQ=", - "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.1.1" - } - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", - "dev": true, - "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" - } - }, - "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-scroll-left": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-scroll-left/-/normalize-scroll-left-0.1.2.tgz", - "integrity": "sha1-a3lpG6eetfsQf6Xt+9wGtVyu4qo=" - }, - "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.0", - "prepend-http": "1.0.4", - "query-string": "4.3.4", - "sort-keys": "1.1.2" - } - }, - "normalize.css": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.0.tgz", - "integrity": "sha512-iXcbM3NWr0XkNyfiSBsoPezi+0V92P9nj84yVV1/UZxRUrGczgX/X91KMAGM0omWLY2+2Q1gKD/XRn4gQRDB2A==" - }, - "npm-run-all": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.0.2.tgz", - "integrity": "sha1-qEZpNI5ttsy+BSIAtM22v+A0pP4=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "cross-spawn": "5.1.0", - "minimatch": "3.0.4", - "ps-tree": "1.1.0", - "read-pkg": "2.0.0", - "shell-quote": "1.6.1", - "string.prototype.padend": "3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - } - }, - "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": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" - } - }, - "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": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "2.3.0" - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" - } - }, - "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": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "nth-check": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", - "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", - "dev": true, - "requires": { - "boolbase": "1.0.0" - } - }, - "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 - }, - "nwmatcher": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.2.tgz", - "integrity": "sha512-QMkCGQFYp5p+zwU3INntLmz1HMfSx9dMVJMYKmE1yuSf/22Wjo6VPFa405mCLUuQn9lbQvH2DZN9lt10ZNvtAg==", - "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.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", - "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=" - }, - "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" - } - }, - "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-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 - } - } - } - } - }, - "object-is": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", - "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=", - "dev": true - }, - "object-keys": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", - "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", - "dev": true - }, - "object-path": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz", - "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=", - "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.0.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.0.4.tgz", - "integrity": "sha1-scnMBE7xuf5jYG/BQau7MuFHMMw=", - "dev": true, - "requires": { - "define-properties": "1.1.2", - "function-bind": "1.1.1", - "object-keys": "1.0.11" - } - }, - "object.entries": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.0.4.tgz", - "integrity": "sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8=", - "dev": true, - "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.9.0", - "function-bind": "1.1.1", - "has": "1.0.1" - } - }, - "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 - } - } - }, - "object.values": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.0.4.tgz", - "integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=", - "dev": true, - "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.9.0", - "function-bind": "1.1.1", - "has": "1.0.1" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "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" - } - }, - "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=", - "requires": { - "wrappy": "1.0.2" - } - }, - "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" - } - }, - "opener": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz", - "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=", - "dev": true - }, - "openurl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.0.tgz", - "integrity": "sha1-4vIYnZmcBIIyAfCD8PGnzYkDGHo=", - "dev": true - }, - "opn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", - "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=", - "dev": true, - "requires": { - "object-assign": "4.1.0", - "pinkie-promise": "2.0.1" - } - }, - "opn-cli": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/opn-cli/-/opn-cli-3.1.0.tgz", - "integrity": "sha1-+BmubK4LQRvQFJuFYP5siK2tIPg=", - "dev": true, - "requires": { - "file-type": "3.9.0", - "get-stdin": "5.0.1", - "meow": "3.7.0", - "opn": "4.0.2", - "temp-write": "2.1.0" - }, - "dependencies": { - "get-stdin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", - "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", - "dev": true - } - } - }, - "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.10", - "wordwrap": "0.0.3" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "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 - }, - "ordered-read-streams": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", - "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", - "requires": { - "readable-stream": "2.3.3" - } - }, - "original": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.0.tgz", - "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=", - "dev": true, - "requires": { - "url-parse": "1.0.5" - }, - "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" - } - } - } - }, - "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 - }, - "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": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "1.0.0" - } - }, - "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 - }, - "output-file-sync": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", - "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "mkdirp": "0.5.1", - "object-assign": "4.1.0" - } - }, - "p-limit": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", - "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", - "dev": true - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "1.1.0" - } - }, - "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=", - "dev": true - }, - "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 - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "requires": { - "no-case": "2.3.2" - } - }, - "parse-asn1": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", - "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", - "dev": true, - "requires": { - "asn1.js": "4.10.1", - "browserify-aes": "1.1.1", - "create-hash": "1.1.3", - "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.14" - } - }, - "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": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" - } - }, - "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": { - "error-ex": "1.3.1" - } - }, - "parse-key": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/parse-key/-/parse-key-0.2.1.tgz", - "integrity": "sha1-e892WVU242B1Zkvk1ofkvdkQII8=", - "dev": true - }, - "parse5": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", - "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", - "dev": true - }, - "parsejson": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz", - "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=", - "dev": true, - "requires": { - "better-assert": "1.0.2" - } - }, - "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "dev": true, - "requires": { - "better-assert": "1.0.2" - } - }, - "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", - "dev": true, - "requires": { - "better-assert": "1.0.2" - } - }, - "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", - "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", - "requires": { - "process": "0.11.10", - "util": "0.10.3" - }, - "dependencies": { - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" - } - } - }, - "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 - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "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 - }, - "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=" - }, - "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-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-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 - }, - "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": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "pause-stream": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", - "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", - "dev": true, - "requires": { - "through": "2.3.8" - } - }, - "pbkdf2": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", - "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", - "dev": true, - "requires": { - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.10" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "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=", - "dev": true, - "requires": { - "pinkie": "2.0.4" - } - }, - "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": { - "find-up": "2.1.0" - } - }, - "pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8=", - "dev": true - }, - "pluralize": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", - "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", - "dev": true - }, - "popper.js": { - "version": "1.12.9", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.12.9.tgz", - "integrity": "sha1-DfvC3/lsRRuzMu3Pz6r1ZtMx1bM=" - }, - "portfinder": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", - "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", - "dev": true, - "requires": { - "async": "1.5.2", - "debug": "2.6.9", - "mkdirp": "0.5.1" - } - }, - "portscanner": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.1.1.tgz", - "integrity": "sha1-6rtAnk3iSVD1oqUW01rnaTQ/u5Y=", - "dev": true, - "requires": { - "async": "1.5.2", - "is-number-like": "1.0.8" - } - }, - "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 - }, - "postcss": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", - "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", - "dev": true, - "requires": { - "chalk": "2.1.0", - "source-map": "0.6.1", - "supports-color": "4.4.0" - }, - "dependencies": { - "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.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 - } - } - }, - "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": { - "postcss": "5.2.18", - "postcss-message-helpers": "2.0.0", - "reduce-css-calc": "1.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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": { - "colormin": "1.1.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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": { - "postcss": "5.2.18" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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": { - "postcss": "5.2.18" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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": { - "postcss": "5.2.18" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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": { - "postcss": "5.2.18" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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": { - "postcss": "5.2.18", - "uniqs": "2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "uniqid": "4.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "postcss-load-config": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", - "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", - "dev": true, - "requires": { - "cosmiconfig": "2.2.2", - "object-assign": "4.1.0", - "postcss-load-options": "1.2.0", - "postcss-load-plugins": "2.3.0" - } - }, - "postcss-load-options": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", - "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", - "dev": true, - "requires": { - "cosmiconfig": "2.2.2", - "object-assign": "4.1.0" - } - }, - "postcss-load-plugins": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", - "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", - "dev": true, - "requires": { - "cosmiconfig": "2.2.2", - "object-assign": "4.1.0" - } - }, - "postcss-loader": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-1.2.1.tgz", - "integrity": "sha1-iAmrGEqfkDoB9mA4Xy4pb/Vj0iw=", - "dev": true, - "requires": { - "loader-utils": "0.2.17", - "object-assign": "4.1.0", - "postcss": "5.2.18", - "postcss-load-config": "1.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "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.0" - } - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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": { - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "1.0.30000744", - "electron-to-chromium": "1.3.24" - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "postcss-message-helpers": { - "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=", - "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=", - "dev": true, - "requires": { - "object-assign": "4.1.0", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0", - "uniqs": "2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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.1", - "postcss": "5.2.18", - "postcss-selector-parser": "2.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "postcss-modules-extract-imports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", - "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", - "dev": true, - "requires": { - "postcss": "6.0.13" - } - }, - "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": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.13" - } - }, - "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=", - "dev": true, - "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.13" - } - }, - "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": { - "icss-replace-symbols": "1.1.0", - "postcss": "6.0.13" - } - }, - "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" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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": { - "flatten": "1.0.2", - "indexes-of": "1.0.1", - "uniq": "1.0.1" - } - }, - "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": { - "is-svg": "2.1.0", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0", - "svgo": "0.7.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.18", - "uniqs": "2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "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=", - "dev": true, - "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "uniqs": "2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - } - } - }, - "prefix-style": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/prefix-style/-/prefix-style-2.0.1.tgz", - "integrity": "sha1-ZrupqHDP2jCKXcIOhekSCTLJWgY=" - }, - "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 - }, - "pretty-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", - "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", - "dev": true, - "requires": { - "renderkid": "2.0.1", - "utila": "0.4.0" - } - }, - "pretty-format": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-20.0.3.tgz", - "integrity": "sha1-Ag41ClYKH+GpjcO+tsz/s4beixQ=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1", - "ansi-styles": "3.2.0" - } - }, - "private": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", - "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=", - "dev": true - }, - "process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" - }, - "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=" - }, - "progress": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", - "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", - "dev": true - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", - "requires": { - "asap": "2.0.6" - } - }, - "prompt": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.0.0.tgz", - "integrity": "sha1-jlcSPDlquYiJf7Mn/Trtw+c15P4=", - "dev": true, - "requires": { - "colors": "1.1.2", - "pkginfo": "0.4.1", - "read": "1.0.7", - "revalidator": "0.1.8", - "utile": "0.3.0", - "winston": "2.1.1" - } - }, - "prop-types": { - "version": "15.5.10", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz", - "integrity": "sha1-J5ffwxJhguOpXj37suiT3ddFYVQ=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1" - } - }, - "proxy-addr": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", - "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", - "dev": true, - "requires": { - "forwarded": "0.1.2", - "ipaddr.js": "1.5.2" - } - }, - "proxy-middleware": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/proxy-middleware/-/proxy-middleware-0.15.0.tgz", - "integrity": "sha1-o/3xvvtzD5UZZYcqwvYHTGFHelY=", - "dev": true - }, - "prr": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", - "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", - "dev": true - }, - "ps-tree": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.1.0.tgz", - "integrity": "sha1-tCGyQUDWID8e08dplrRCewjowBQ=", - "dev": true, - "requires": { - "event-stream": "3.3.4" - } - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "public-encrypt": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", - "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", - "dev": true, - "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "parse-asn1": "5.1.0", - "randombytes": "2.0.6" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" - } - }, - "pumpify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz", - "integrity": "sha1-gLfF334kFT0D8OesigWl0Gi9B/s=", - "requires": { - "duplexify": "3.5.4", - "inherits": "2.0.3", - "pump": "2.0.1" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" - } - } - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "pure-color": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", - "integrity": "sha1-H+Bk+wrIUfDeYTIKi/eWg2Qi8z4=", - "dev": true - }, - "q": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", - "integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE=", - "dev": true - }, - "qs": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.1.tgz", - "integrity": "sha1-zgPF/wk1vB2daanxTL0Y5WjWdiU=", - "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=", - "requires": { - "object-assign": "4.1.0", - "strict-uri-encode": "1.1.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "querystringify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz", - "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=", - "dev": true - }, - "raf": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.0.tgz", - "integrity": "sha1-ooh2iBtLwsqRF9QTgWPduA94FXU=", - "requires": { - "performance-now": "2.1.0" - } - }, - "rafl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/rafl/-/rafl-1.2.2.tgz", - "integrity": "sha1-/pMPdYIRAg1H44gV9Rlqi+QVB0A=", - "requires": { - "global": "4.3.2" - } - }, - "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=", - "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.5" - } - } - } - }, - "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.5" - } - } - } - }, - "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.1" - } - }, - "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.1" - } - }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", - "dev": true - }, - "raven-js": { - "version": "3.23.1", - "resolved": "https://registry.npmjs.org/raven-js/-/raven-js-3.23.1.tgz", - "integrity": "sha512-cfkGRgz1TkFmEM5ahPWkIEav2+3zr32qMaBvKizzxN7fZapLbCrxMHMLDn7LSVGN0+dyPKY18imv3i0dkLRoKg==" - }, - "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": { - "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.3.1" - } - }, - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", - "dev": true - } - } - }, - "react": { - "version": "15.5.4", - "resolved": "https://registry.npmjs.org/react/-/react-15.5.4.tgz", - "integrity": "sha1-+oPrAVBqsjfNwcjDsc6o3gEr8Ec=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.0", - "prop-types": "15.6.0" - }, - "dependencies": { - "prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - } - } - } - } - }, - "react-base16-styling": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.5.3.tgz", - "integrity": "sha1-OFjyTpxN2MvT9wLz901YHKKRcmk=", - "dev": true, - "requires": { - "base16": "1.0.0", - "lodash.curry": "4.1.1", - "lodash.flow": "3.5.0", - "pure-color": "1.3.0" - } - }, - "react-custom-scrollbars": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/react-custom-scrollbars/-/react-custom-scrollbars-4.2.1.tgz", - "integrity": "sha1-gw/ZUCkn6X6KeMIIaBOJmyqLZts=", - "requires": { - "dom-css": "2.1.0", - "prop-types": "15.5.10", - "raf": "3.4.0" - } - }, - "react-deep-force-update": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-1.1.1.tgz", - "integrity": "sha1-vNMUeAJ7ZLMznxCJIatSC0MT3Cw=", - "dev": true - }, - "react-dock": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/react-dock/-/react-dock-0.2.4.tgz", - "integrity": "sha1-5yfcdVCztzEWY13LnA4E0Lev4Xw=", - "dev": true, - "requires": { - "lodash.debounce": "3.1.1", - "prop-types": "15.5.10" - } - }, - "react-dom": { - "version": "15.5.4", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.5.4.tgz", - "integrity": "sha1-ugwoeG/VLtfk8hNf4CiNRirvk9o=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.0", - "prop-types": "15.5.10" - } - }, - "react-event-listener": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.5.3.tgz", - "integrity": "sha1-qLSSWWrWAYZTFPzCwYy4e2zjh24=", - "requires": { - "babel-runtime": "6.26.0", - "fbjs": "0.8.16", - "prop-types": "15.6.1", - "warning": "3.0.0" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "prop-types": { - "version": "15.6.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", - "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" - } - } - } - }, - "react-helmet": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-5.2.0.tgz", - "integrity": "sha1-qBgR3yExOm1VxfBYxK66XW89l6c=", - "requires": { - "deep-equal": "1.0.1", - "object-assign": "4.1.1", - "prop-types": "15.5.10", - "react-side-effect": "1.1.3" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - } - } - }, - "react-hot-loader": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-3.1.3.tgz", - "integrity": "sha512-d7nZf78irxoGN5PY4zd6CSgZiroOhvIWzRast3qwTn4sSnBwlt08kV8WMQ9mitmxEdlCTwZt+5ClrRSjxWguMQ==", - "dev": true, - "requires": { - "global": "4.3.2", - "react-deep-force-update": "2.1.1", - "react-proxy": "3.0.0-alpha.1", - "redbox-react": "1.5.0", - "source-map": "0.6.1" - }, - "dependencies": { - "react-deep-force-update": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-2.1.1.tgz", - "integrity": "sha1-jqQmPNZFWgULN0RbPwj9g52G6Qk=", - "dev": true - }, - "react-proxy": { - "version": "3.0.0-alpha.1", - "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-3.0.0-alpha.1.tgz", - "integrity": "sha1-RABCa8+oDKpnJMd1VpUxUgn6Swc=", - "dev": true, - "requires": { - "lodash": "4.17.5" - } - } - } - }, - "react-input-autosize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.1.tgz", - "integrity": "sha512-3+K4CD13iE4lQQ2WlF8PuV5htfmTRLH6MDnfndHM6LuBRszuXnuyIfE7nhSKt8AzRBZ50bu0sAhkNMeS5pxQQA==", - "requires": { - "prop-types": "15.5.10" - } - }, - "react-json-tree": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/react-json-tree/-/react-json-tree-0.11.0.tgz", - "integrity": "sha1-9bF+gzKanHauOL5cBP2jp/1oSjU=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "prop-types": "15.5.10", - "react-base16-styling": "0.5.3" - } - }, - "react-jss": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-8.2.1.tgz", - "integrity": "sha512-H1fm32xG8pi4LMHkXjqpLyFOvSDsravd0HI6Dtlb/iyma1tfi7qqqSH2bf0kKyTAJV5hvYL0ls0qvRJWKfDPcA==", - "requires": { - "hoist-non-react-statics": "2.3.1", - "jss": "9.5.1", - "jss-preset-default": "4.1.0", - "prop-types": "15.6.0", - "theming": "1.3.0" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" - } - } - } - }, - "react-lifecycles-compat": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-1.0.2.tgz", - "integrity": "sha512-uyYuXIt73odE9MQM9vFemhYI8AOiBr2TC0/Q8Dx0T27mLt20cRwauafXYul2l6hqSyoGsz4G+AepeFiyoEqVaQ==" - }, - "react-maskedinput": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/react-maskedinput/-/react-maskedinput-4.0.1.tgz", - "integrity": "sha512-wWIGtJOYmFJFJl7ojJgE2oB7MKLE3QkXtB54UoXyYtvGL3Jni51a1LKAK39U/6Gh5OR3VAgFMdiPApbFw2ALrg==", - "requires": { - "inputmask-core": "2.2.0", - "prop-types": "15.5.10" - } - }, - "react-materialize": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/react-materialize/-/react-materialize-0.18.4.tgz", - "integrity": "sha1-9rSguWWKeMtAv+ymJJr4fcdyShM=", - "requires": { - "classnames": "2.2.5", - "react": "15.5.4", - "react-dom": "15.5.4" - } - }, - "react-minimalist-portal": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/react-minimalist-portal/-/react-minimalist-portal-2.1.1.tgz", - "integrity": "sha512-GWt21V++QydysDYPQC38dzbaME6QKlBd7QkFV7d7tYD/U7C8YKEYcPXLwN07mezKk9EzTB+UrckO4VYsxmcL9A==", - "requires": { - "prop-types": "15.6.0" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" - } - } - } - }, - "react-popper": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.8.2.tgz", - "integrity": "sha512-sL3r9aOG8sw48Vs5EiTZV4EXhEH0eoN9718WoIsb0Lx2H/sAZbVLZrENduXCAhre6cEqSh7mMR5sI1luYkVhYQ==", - "requires": { - "popper.js": "1.12.9", - "prop-types": "15.6.1" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "prop-types": { - "version": "15.6.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", - "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" - } - } - } - }, - "react-proxy": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-1.1.8.tgz", - "integrity": "sha1-nb/Z2SdSjDqp9ETkVYw3gwq4wmo=", - "dev": true, - "requires": { - "lodash": "4.17.5", - "react-deep-force-update": "1.1.1" - } - }, - "react-pure-render": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/react-pure-render/-/react-pure-render-1.0.2.tgz", - "integrity": "sha1-nYqSjH8sN1E8LQZOV7Pjw1bp+rs=", - "dev": true - }, - "react-redux": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz", - "integrity": "sha512-5VI8EV5hdgNgyjfmWzBbdrqUkrVRKlyTKk1sGH3jzM2M2Mhj/seQgPXaz6gVAj2lz/nz688AdTqMO18Lr24Zhg==", - "requires": { - "hoist-non-react-statics": "2.5.0", - "invariant": "2.2.2", - "lodash": "4.17.5", - "lodash-es": "4.17.5", - "loose-envify": "1.3.1", - "prop-types": "15.6.0" - }, - "dependencies": { - "hoist-non-react-statics": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz", - "integrity": "sha512-6Bl6XsDT1ntE0lHbIhr4Kp2PGcleGZ66qu5Jqk8lc0Xc/IeG6gVLmwUGs/K0Us+L8VWoKgj0uWdPMataOsm31w==" - }, - "lodash-es": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.5.tgz", - "integrity": "sha512-Ez3ONp3TK9gX1HYKp6IhetcVybD+2F+Yp6GS9dfH8ue6EOCEzQtQEh4K0FYWBP9qLv+lzeQAYXw+3ySfxyZqkw==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" - } - } - } - }, - "react-redux-loading-bar": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/react-redux-loading-bar/-/react-redux-loading-bar-3.1.2.tgz", - "integrity": "sha512-jASlX789ayIusTKnRbrkSPzRWdHb7vsVaWTA3OKZ7HxrGyYnMP1UPLvN15THUBIAYvdk6iWnonMfHZDatnmoag==", - "requires": { - "prop-types": "15.5.10" - } - }, - "react-responsive-modal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/react-responsive-modal/-/react-responsive-modal-2.0.1.tgz", - "integrity": "sha512-tsbePbALzIUFOESbiUPDn6KvRy7jLBVTLwuRZ8UnfxC8/SU1fafRbxkmSQ2fXt6f+cJc2RGnIB+sBxc3bVebHw==", - "requires": { - "classnames": "2.2.5", - "no-scroll": "2.1.0", - "prop-types": "15.6.0", - "react-jss": "8.2.1", - "react-minimalist-portal": "2.1.1", - "react-transition-group": "2.2.1" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" - } - } - } - }, - "react-router": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-3.2.1.tgz", - "integrity": "sha512-SXkhC0nr3G0ltzVU07IN8jYl0bB6FsrDIqlLC9dK3SITXqyTJyM7yhXlUqs89w3Nqi5OkXsfRUeHX+P874HQrg==", - "requires": { - "create-react-class": "15.6.3", - "history": "3.3.0", - "hoist-non-react-statics": "2.3.1", - "invariant": "2.2.2", - "loose-envify": "1.3.1", - "prop-types": "15.5.10", - "warning": "3.0.0" - } - }, - "react-router-navigation-prompt": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/react-router-navigation-prompt/-/react-router-navigation-prompt-1.5.7.tgz", - "integrity": "sha512-di8nvxEf9CCLXMFKe8fQun5WGmQ6M8Fa9q9pAzTK8ZiuMuLiWSihYTjAtfxGR5EFQRZNfsQdQM+y+hlcFwvXVQ==" - }, - "react-sanfona": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/react-sanfona/-/react-sanfona-0.4.3.tgz", - "integrity": "sha1-yuRXkzKKFjNa8oqcHXNX6WPC4zs=", - "requires": { - "classnames": "2.2.5", - "prop-types": "15.5.10", - "uuid": "3.1.0" - } - }, - "react-scrollbar-size": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/react-scrollbar-size/-/react-scrollbar-size-2.1.0.tgz", - "integrity": "sha512-9dDUJvk7S48r0TRKjlKJ9e/LkLLYgc9LdQR6W21I8ZqtSrEsedPOoMji4nU3DHy7fx2l8YMScJS/N7qiloYzXQ==", - "requires": { - "babel-runtime": "6.26.0", - "prop-types": "15.6.1", - "react-event-listener": "0.5.3", - "stifle": "1.0.4" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "prop-types": { - "version": "15.6.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", - "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" - } - } - } - }, - "react-select": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-1.2.1.tgz", - "integrity": "sha512-vaCgT2bEl+uTyE/uKOEgzE5Dc/wLtzhnBvoHCeuLoJWc4WuadN6WQDhoL42DW+TziniZK2Gaqe/wUXydI3NSaQ==", - "requires": { - "classnames": "2.2.5", - "prop-types": "15.5.10", - "react-input-autosize": "2.2.1" - } - }, - "react-side-effect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-1.1.3.tgz", - "integrity": "sha1-USwlq+DewXKDTEAB7FxR4E1BvFw=", - "requires": { - "exenv": "1.2.2", - "shallowequal": "1.0.2" - } - }, - "react-test-renderer": { - "version": "15.5.4", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-15.5.4.tgz", - "integrity": "sha1-1OuyP2E9aF6o9TkBCcLSD798g7w=", - "dev": true, - "requires": { - "fbjs": "0.8.16", - "object-assign": "4.1.0" - } - }, - "react-transform-catch-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/react-transform-catch-errors/-/react-transform-catch-errors-1.0.2.tgz", - "integrity": "sha1-G01KdulycYlvwW/jCGx5PsiKnus=", - "dev": true - }, - "react-transform-hmr": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz", - "integrity": "sha1-4aQL0Krvxy6N/Xp82gmvhQZjl7s=", - "dev": true, - "requires": { - "global": "4.3.2", - "react-proxy": "1.1.8" - } - }, - "react-transition-group": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.2.1.tgz", - "integrity": "sha1-6ftne3nmRV/TkbA4I6/oSEnfShA=", - "requires": { - "chain-function": "1.0.0", - "classnames": "2.2.5", - "dom-helpers": "3.3.1", - "loose-envify": "1.3.1", - "prop-types": "15.5.10", - "warning": "3.0.0" - } - }, - "read": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", - "dev": true, - "requires": { - "mute-stream": "0.0.7" - } - }, - "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": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.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=", - "dev": true, - "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - }, - "dependencies": { - "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" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "2.0.1" - } - } - } - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - } - } - }, - "readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.3", - "set-immediate-shim": "1.0.1" - } - }, - "recompose": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.26.0.tgz", - "integrity": "sha1-m6v/A5y3K6W9FzZtVdcjL737LTA=", - "requires": { - "change-emitter": "0.1.6", - "fbjs": "0.8.16", - "hoist-non-react-statics": "2.3.1", - "symbol-observable": "1.0.4" - } - }, - "redbox-react": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/redbox-react/-/redbox-react-1.5.0.tgz", - "integrity": "sha1-BNqxFVfSZlG/NWKmfCKs5WxdOWc=", - "dev": true, - "requires": { - "error-stack-parser": "1.3.6", - "object-assign": "4.1.0", - "prop-types": "15.5.10", - "sourcemapped-stacktrace": "1.1.7" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" - } - }, - "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": { - "balanced-match": "0.4.2", - "math-expression-evaluator": "1.2.17", - "reduce-function-call": "1.0.2" - }, - "dependencies": { - "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 - } - } - }, - "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": { - "balanced-match": "0.4.2" - }, - "dependencies": { - "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 - } - } - }, - "redux": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", - "integrity": "sha1-BrcxIyFZAdJdBlvjQusCa8HIU3s=", - "requires": { - "lodash": "4.17.5", - "lodash-es": "4.17.4", - "loose-envify": "1.3.1", - "symbol-observable": "1.0.4" - } - }, - "redux-act": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/redux-act/-/redux-act-1.7.3.tgz", - "integrity": "sha512-bVkC6+b9r+YLntoOPIbTumQJoujAX5Ct7fItdxlYBZTl534H7s571iM9bwGfl/WhTg0HCmo72EeR0yD7Xj6GiQ==" - }, - "redux-devtools": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/redux-devtools/-/redux-devtools-3.4.1.tgz", - "integrity": "sha1-CdNCzgq2CHvmeelTodfFMO+hE44=", - "dev": true, - "requires": { - "lodash": "4.17.5", - "prop-types": "15.5.10", - "redux-devtools-instrument": "1.8.2" - } - }, - "redux-devtools-dock-monitor": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/redux-devtools-dock-monitor/-/redux-devtools-dock-monitor-1.1.3.tgz", - "integrity": "sha1-EgXoI8glNlcKrIVRocS3CXLLpqo=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "parse-key": "0.2.1", - "prop-types": "15.5.10", - "react-dock": "0.2.4", - "react-pure-render": "1.0.2" - } - }, - "redux-devtools-instrument": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/redux-devtools-instrument/-/redux-devtools-instrument-1.8.2.tgz", - "integrity": "sha1-XpHP5ALnkNrj/S8NI197fYSwn/4=", - "dev": true, - "requires": { - "lodash": "4.17.5", - "symbol-observable": "1.0.4" - } - }, - "redux-devtools-log-monitor": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/redux-devtools-log-monitor/-/redux-devtools-log-monitor-1.4.0.tgz", - "integrity": "sha1-cWuVgO2iozHNNZo2qgnjoWAqhUs=", - "dev": true, - "requires": { - "lodash.debounce": "4.0.8", - "prop-types": "15.5.10", - "react-json-tree": "0.11.0", - "react-pure-render": "1.0.2", - "redux-devtools-themes": "1.0.0" - }, - "dependencies": { - "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 - } - } - }, - "redux-devtools-themes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redux-devtools-themes/-/redux-devtools-themes-1.0.0.tgz", - "integrity": "sha1-xILc48U3OXYEX0ATSQfZ3LOuPV0=", - "dev": true, - "requires": { - "base16": "1.0.0" - } - }, - "redux-form": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/redux-form/-/redux-form-7.3.0.tgz", - "integrity": "sha512-WcZRsRsVG25l8Cih3bEeeoZFxSIvoHqTpBRe5Ifl1ob7xvEpYLXyYYHAFER1DpTfMZPgTPHZ4UkR4ILFP3hzkw==", - "requires": { - "deep-equal": "1.0.1", - "es6-error": "4.1.1", - "hoist-non-react-statics": "2.5.0", - "invariant": "2.2.3", - "is-promise": "2.1.0", - "lodash": "4.17.5", - "lodash-es": "4.17.7", - "prop-types": "15.6.1" - }, - "dependencies": { - "hoist-non-react-statics": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz", - "integrity": "sha512-6Bl6XsDT1ntE0lHbIhr4Kp2PGcleGZ66qu5Jqk8lc0Xc/IeG6gVLmwUGs/K0Us+L8VWoKgj0uWdPMataOsm31w==" - }, - "invariant": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.3.tgz", - "integrity": "sha512-7Z5PPegwDTyjbaeCnV0efcyS6vdKAU51kpEmS7QFib3P4822l8ICYyMn7qvJnc+WzLoDsuI9gPMKbJ8pCu8XtA==", - "requires": { - "loose-envify": "1.3.1" - } - }, - "lodash-es": { - "version": "4.17.7", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.7.tgz", - "integrity": "sha512-jzqTi3vk4J5Dxq43cNjB0ekfCjPLHixoY2Sc0WHTo+0r928taLqe/VCt02vY5uQBvg0rdXgL3xWkK4X0MCmZcw==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "prop-types": { - "version": "15.6.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", - "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" - } - } - } - }, - "redux-form-material-ui": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/redux-form-material-ui/-/redux-form-material-ui-4.3.3.tgz", - "integrity": "sha1-WMWhYjEa1v7UtHCc1KKxTOJpseM=" - }, - "redux-immutable-state-invariant": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redux-immutable-state-invariant/-/redux-immutable-state-invariant-2.0.0.tgz", - "integrity": "sha1-KVTevnoJzrZcvjmM/3hYWMjzBAQ=", - "dev": true, - "requires": { - "invariant": "2.2.2", - "json-stringify-safe": "5.0.1" - } - }, - "redux-logger": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/redux-logger/-/redux-logger-3.0.6.tgz", - "integrity": "sha1-91VZZvMJjzyIYExEnPC69XeCdL8=", - "dev": true, - "requires": { - "deep-diff": "0.3.8" - } - }, - "redux-saga": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-0.16.0.tgz", - "integrity": "sha1-CiMdsKFIkwHdmA9vL4jYztQY9yQ=" - }, - "regenerate": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", - "integrity": "sha1-DDNtOYBVPXVcObWGrjsgqknIK38=", - "dev": true - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - }, - "regenerator-transform": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha1-HkmWg3Ix2ot/PPQRTXG1aRoGgN0=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "private": "0.1.7" - } - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=", - "dev": true, - "requires": { - "is-equal-shallow": "0.1.3" - } - }, - "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" - } - }, - "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.3.3", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" - } - }, - "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" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } - } - }, - "reinterval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz", - "integrity": "sha1-M2Hs+jymwYKDOA3Qu5VG85D17Oc=" - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "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=" - }, - "renderkid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz", - "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=", - "dev": true, - "requires": { - "css-select": "1.2.0", - "dom-converter": "0.1.4", - "htmlparser2": "3.3.0", - "strip-ansi": "3.0.1", - "utila": "0.3.3" - }, - "dependencies": { - "domhandler": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", - "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", - "dev": true, - "requires": { - "domelementtype": "1.3.0" - } - }, - "domutils": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", - "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", - "dev": true, - "requires": { - "domelementtype": "1.3.0" - } - }, - "htmlparser2": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", - "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", - "dev": true, - "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.1.0", - "domutils": "1.1.6", - "readable-stream": "1.0.34" - } - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": 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 - }, - "utila": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", - "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", - "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": { - "is-finite": "1.0.2" - } - }, - "replace": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/replace/-/replace-0.3.0.tgz", - "integrity": "sha1-YAgXIRiGWFlatqeU63/ty0yNOcc=", - "dev": true, - "requires": { - "colors": "0.5.1", - "minimatch": "0.2.14", - "nomnom": "1.6.2" - }, - "dependencies": { - "colors": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz", - "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=", - "dev": true - }, - "lru-cache": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", - "dev": true - }, - "minimatch": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", - "dev": true, - "requires": { - "lru-cache": "2.7.3", - "sigmund": "1.0.1" - } - } - } - }, - "request": { - "version": "2.78.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.78.0.tgz", - "integrity": "sha1-4cjew0bhyBkjskrNszfxHeyr6cw=", - "dev": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.11.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "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.17", - "node-uuid": "1.4.8", - "oauth-sign": "0.8.2", - "qs": "6.3.2", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.4.3" - }, - "dependencies": { - "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 - }, - "qs": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", - "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", - "dev": true - } - } - }, - "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 - }, - "require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", - "dev": true - }, - "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 - }, - "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" - } - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - }, - "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": { - "resolve-from": "3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "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=", - "dev": true - }, - "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 - }, - "resp-modifier": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz", - "integrity": "sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08=", - "dev": true, - "requires": { - "debug": "2.6.9", - "minimatch": "3.0.4" - } - }, - "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" - } - }, - "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": { - "align-text": "0.1.4" - } - }, - "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "ripemd160": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", - "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", - "dev": true, - "requires": { - "hash-base": "2.0.2", - "inherits": "2.0.3" - } - }, - "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" - } - }, - "rx": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", - "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=", - "dev": true - }, - "rx-lite": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", - "dev": true - }, - "rx-lite-aggregates": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", - "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", - "dev": true, - "requires": { - "rx-lite": "4.0.8" - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=" - }, - "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": { - "ret": "0.1.15" - } - }, - "sane": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-1.6.0.tgz", - "integrity": "sha1-lhDEUjB6E10pwf3+JUcDQYDEZ3U=", - "dev": true, - "requires": { - "anymatch": "1.3.2", - "exec-sh": "0.2.1", - "fb-watchman": "1.9.2", - "minimatch": "3.0.4", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.10.0" - }, - "dependencies": { - "bser": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", - "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=", - "dev": true, - "requires": { - "node-int64": "0.4.0" - } - }, - "fb-watchman": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-1.9.2.tgz", - "integrity": "sha1-okz0eCf4LTj7Waaa1wt247auc4M=", - "dev": true, - "requires": { - "bser": "1.0.2" - } - } - } - }, - "sass-loader": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-6.0.6.tgz", - "integrity": "sha1-6dXmwfFV+qMqSybXqbcQfCJeQPk=", - "dev": true, - "requires": { - "async": "2.5.0", - "clone-deep": "0.3.0", - "loader-utils": "1.1.0", - "lodash.tail": "4.1.1", - "pify": "3.0.0" - }, - "dependencies": { - "async": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", - "dev": true, - "requires": { - "lodash": "4.17.5" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", - "dev": true - }, - "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.2.3" - } - }, - "scroll": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/scroll/-/scroll-2.0.3.tgz", - "integrity": "sha512-3ncZzf8gUW739h3LeS68nSssO60O+GGjT3SxzgofQmT8PIoyHzebql9HHPJopZX8iT6TKOdwaWFMqL6LzUN3DQ==", - "requires": { - "rafl": "1.2.2" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selfsigned": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.2.tgz", - "integrity": "sha1-tESVgNmZKbZbEKSDiTAaZZIIh1g=", - "dev": true, - "requires": { - "node-forge": "0.7.1" - } - }, - "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", - "dev": true - }, - "send": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.15.2.tgz", - "integrity": "sha1-+R+rRAO8+H5xb3DOtdsvV4vcF9Y=", - "dev": true, - "requires": { - "debug": "2.6.4", - "depd": "1.1.1", - "destroy": "1.0.4", - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "etag": "1.8.1", - "fresh": "0.5.0", - "http-errors": "1.6.2", - "mime": "1.3.4", - "ms": "1.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.3.1" - }, - "dependencies": { - "debug": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.4.tgz", - "integrity": "sha1-dYaps8OXQcAoKuM0RcTorHRzT+A=", - "dev": true, - "requires": { - "ms": "0.7.3" - }, - "dependencies": { - "ms": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.3.tgz", - "integrity": "sha1-cIFVpeROM/X9D8U+gdDUCpG+H/8=", - "dev": true - } - } - }, - "fresh": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz", - "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44=", - "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.3.1" - } - }, - "mime": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", - "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=", - "dev": true - }, - "ms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-1.0.0.tgz", - "integrity": "sha1-Wa3NIu3FQ/e1OBhi0xOHsfS8lHM=", - "dev": true - }, - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", - "dev": true - } - } - }, - "serve-index": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.8.0.tgz", - "integrity": "sha1-fF2WwT+xMRAfk8HFd0+FFqHnjTs=", - "dev": true, - "requires": { - "accepts": "1.3.4", - "batch": "0.5.3", - "debug": "2.2.0", - "escape-html": "1.0.3", - "http-errors": "1.5.1", - "mime-types": "2.1.17", - "parseurl": "1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "dev": true, - "requires": { - "ms": "0.7.1" - } - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", - "dev": true - } - } - }, - "serve-static": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.2.tgz", - "integrity": "sha1-5UbicmCBuBtLzsjpCAjrzdMjr7o=", - "dev": true, - "requires": { - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "parseurl": "1.3.2", - "send": "0.15.2" - } - }, - "server-destroy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", - "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=", - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "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": { - "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" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "setprototypeof": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.2.tgz", - "integrity": "sha1-gaVSFB7BBLiOic44MQOtXGZWTQg=", - "dev": true - }, - "sha.js": { - "version": "2.4.10", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", - "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", - "dev": true, - "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" - } - }, - "shallow-clone": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", - "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", - "dev": true, - "requires": { - "is-extendable": "0.1.1", - "kind-of": "2.0.1", - "lazy-cache": "0.2.7", - "mixin-object": "2.0.1" - }, - "dependencies": { - "kind-of": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", - "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", - "dev": true, - "requires": { - "is-buffer": "1.1.5" - } - }, - "lazy-cache": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", - "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=", - "dev": true - } - } - }, - "shallowequal": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.0.2.tgz", - "integrity": "sha1-FWHb3vuMAUCBADGQhXZNo/z4P48=" - }, - "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": { - "shebang-regex": "1.0.0" - } - }, - "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 - }, - "shell-quote": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", - "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", - "dev": true, - "requires": { - "array-filter": "0.0.1", - "array-map": "0.0.0", - "array-reduce": "0.0.0", - "jsonify": "0.0.0" - } - }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha1-1rkYHBpI05cyTISHHvvPxz/AZUs=", - "dev": true - }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - }, - "slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.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 - } - } - }, - "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.1", - "use": "3.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" - } - }, - "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.5" - } - } - } - }, - "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.5" - } - } - } - }, - "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 - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "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": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" - }, - "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" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "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": { - "kind-of": "3.2.2" - } - }, - "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" - } - }, - "socket.io": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-1.6.0.tgz", - "integrity": "sha1-PkDZMmN+a9kjmBslyvfFPoO24uE=", - "dev": true, - "requires": { - "debug": "2.3.3", - "engine.io": "1.8.0", - "has-binary": "0.1.7", - "object-assign": "4.1.0", - "socket.io-adapter": "0.5.0", - "socket.io-client": "1.6.0", - "socket.io-parser": "2.3.1" - }, - "dependencies": { - "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=", - "dev": true - } - } - }, - "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=", - "dev": true, - "requires": { - "debug": "2.3.3", - "socket.io-parser": "2.3.1" - }, - "dependencies": { - "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=", - "dev": true - } - } - }, - "socket.io-client": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.6.0.tgz", - "integrity": "sha1-W2aPT3cTBN/u0XkGRwg4b6ZxeFM=", - "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.0", - "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=", - "dev": true - }, - "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=", - "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=", - "dev": true, - "requires": { - "ms": "0.7.1" - } - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", - "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.1.0" - } - }, - "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.2.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=", - "dev": true, - "requires": { - "websocket-driver": "0.7.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": "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.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", - "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", - "dev": true, - "requires": { - "atob": "2.0.3", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" - } - }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=", - "dev": true, - "requires": { - "source-map": "0.5.7" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "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 - }, - "sourcemapped-stacktrace": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.7.tgz", - "integrity": "sha512-pgHNUACbafkQ+M5zR00NSOtSKBc/i40prgN+SY07J/pghClwVNWNTTMa0JuXj4lriR2TvMKcPAHw5KN9tVFRhA==", - "dev": true, - "requires": { - "source-map": "0.5.6" - }, - "dependencies": { - "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", - "dev": true - } - } - }, - "spdx-correct": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", - "dev": true, - "requires": { - "spdx-license-ids": "1.2.2" - } - }, - "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", - "dev": true - }, - "spdx-license-ids": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", - "dev": true - }, - "spdy": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz", - "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", - "dev": true, - "requires": { - "debug": "2.6.9", - "handle-thing": "1.2.5", - "http-deceiver": "1.2.7", - "safe-buffer": "5.1.1", - "select-hose": "2.0.0", - "spdy-transport": "2.0.20" - } - }, - "spdy-transport": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.0.20.tgz", - "integrity": "sha1-c15yBUxIayNU/onnAiVgBKOazk0=", - "dev": true, - "requires": { - "debug": "2.6.9", - "detect-node": "2.0.3", - "hpack.js": "2.1.6", - "obuf": "1.1.2", - "readable-stream": "2.3.3", - "safe-buffer": "5.1.1", - "wbuf": "1.7.3" - } - }, - "split": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", - "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", - "dev": true, - "requires": { - "through": "2.3.8" - } - }, - "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": { - "extend-shallow": "3.0.2" - } - }, - "split2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", - "integrity": "sha1-GGsldbz4PoW30YRldWI47k7kJJM=", - "requires": { - "through2": "2.0.3" - } - }, - "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.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", - "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" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", - "dev": true - }, - "stackframe": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-0.3.1.tgz", - "integrity": "sha1-M6qE8Rd6VUjIk1Uzy/6zQgl19aQ=", - "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": { - "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" - } - }, - "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.5" - } - } - } - }, - "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.5" - } - } - } - }, - "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 - } - } - }, - "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", - "dev": true - }, - "stifle": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/stifle/-/stifle-1.0.4.tgz", - "integrity": "sha1-izvN9SQZsKnHnjWtrc5QEjwdjpk=" - }, - "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.3" - } - }, - "stream-combiner": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", - "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", - "dev": true, - "requires": { - "duplexer": "0.1.1" - } - }, - "stream-http": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", - "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", - "dev": true, - "requires": { - "builtin-status-codes": "3.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "to-arraybuffer": "1.0.1", - "xtend": "4.0.1" - } - }, - "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" - }, - "stream-throttle": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", - "integrity": "sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=", - "dev": true, - "requires": { - "commander": "2.11.0", - "limiter": "1.1.2" - } - }, - "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=" - }, - "string-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", - "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=", - "dev": true, - "requires": { - "strip-ansi": "3.0.1" - } - }, - "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.prototype.padend": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz", - "integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=", - "dev": true, - "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.9.0", - "function-bind": "1.1.1" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", - "requires": { - "safe-buffer": "5.1.1" - } - }, - "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": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "style-loader": { - "version": "0.18.2", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.18.2.tgz", - "integrity": "sha1-zDFFmvvNbYC3Ig7lSykan9Zv9es=", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "schema-utils": "0.3.0" - } - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - }, - "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": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "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.9", - "esprima": "2.7.3" - } - } - } - }, - "symbol-observable": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", - "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=" - }, - "symbol-tree": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", - "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", - "dev": true - }, - "table": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", - "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", - "dev": true, - "requires": { - "ajv": "5.2.3", - "ajv-keywords": "2.1.1", - "chalk": "2.3.2", - "lodash": "4.17.5", - "slice-ansi": "1.0.0", - "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 - }, - "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.0" - } - }, - "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.3.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": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", - "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.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - } - } - }, - "tapable": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", - "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", - "dev": true - }, - "temp-write": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-2.1.0.tgz", - "integrity": "sha1-WYkJGODvCdVIqqNC9L00CdhATpY=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "mkdirp": "0.5.1", - "os-tmpdir": "1.0.2", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "uuid": "2.0.3" - }, - "dependencies": { - "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", - "dev": true - } - } - }, - "test-exclude": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz", - "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==", - "dev": true, - "requires": { - "arrify": "1.0.1", - "micromatch": "2.3.11", - "object-assign": "4.1.0", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" - } - }, - "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 - }, - "tfunk": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tfunk/-/tfunk-3.1.0.tgz", - "integrity": "sha1-OORBT8ZJd9h6/apy+sttKfgve1s=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "object-path": "0.9.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - } - }, - "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 - } - } - }, - "theming": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/theming/-/theming-1.3.0.tgz", - "integrity": "sha1-KG1broC+iQ0K3GReXKBJhyNyW9w=", - "requires": { - "brcast": "3.0.1", - "is-function": "1.0.1", - "is-plain-object": "2.0.4", - "prop-types": "15.5.10" - } - }, - "throat": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-3.2.0.tgz", - "integrity": "sha1-UMsGcO28QCN7njR9fh+I5GIK+DY=", - "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=", - "requires": { - "readable-stream": "2.3.3", - "xtend": "4.0.1" - } - }, - "through2-filter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz", - "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", - "requires": { - "through2": "2.0.3", - "xtend": "4.0.1" - } - }, - "thunky": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.2.tgz", - "integrity": "sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E=", - "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.6", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz", - "integrity": "sha512-HQ3nbYRAowdVd0ckGFvmJPPCOH/CHleFN/Y0YQCX1DVaB7t+KFvisuyN09fuP8Jtp1CpfSh8O8bMkHbdbPe6Pw==", - "dev": true, - "requires": { - "setimmediate": "1.0.5" - } - }, - "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" - } - }, - "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", - "dev": true - }, - "to-absolute-glob": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", - "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", - "requires": { - "is-absolute": "1.0.0", - "is-negated-glob": "1.0.0" - } - }, - "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-camel-case": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-camel-case/-/to-camel-case-1.0.0.tgz", - "integrity": "sha1-GlYFSy+daWKYzmamCJcyK29CPkY=", - "requires": { - "to-space-case": "1.0.0" - } - }, - "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-no-case": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/to-no-case/-/to-no-case-1.0.2.tgz", - "integrity": "sha1-xyKQcWTvaxeBMsjmmTAhLRtKoWo=" - }, - "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": { - "kind-of": "3.2.2" - } - }, - "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": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" - } - }, - "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": { - "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" - } - } - } - }, - "to-space-case": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-space-case/-/to-space-case-1.0.0.tgz", - "integrity": "sha1-sFLar7Gysp3HcM6gFj5ewOvJ/Bc=", - "requires": { - "to-no-case": "1.0.2" - } - }, - "toposort": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.6.tgz", - "integrity": "sha1-wxdI5V0hDv/AD9zcfW5o19e7nOw=", - "dev": true - }, - "tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", - "dev": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", - "dev": true - }, - "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.4.3", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", - "dev": true - }, - "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": { - "prelude-ls": "1.1.2" - } - }, - "type-is": { - "version": "1.6.15", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", - "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "2.1.17" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "ua-parser-js": { - "version": "0.7.14", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.14.tgz", - "integrity": "sha1-EQ1T+kw/MmwSEpK76skE0uAzh8o=" - }, - "uglify-js": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.3.tgz", - "integrity": "sha512-5ZUOgufCHjN2mBBLfz63UtWTP6va2sSzBpNCM+/iqI6RnPzEhANmB0EKiKBYdQbc3v7KeomXJ2DJx0Xq9gvUvA==", - "dev": true, - "requires": { - "commander": "2.11.0", - "source-map": "0.5.7" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "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, - "optional": true - }, - "ultron": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", - "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=", - "dev": true - }, - "unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" - }, - "underscore": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", - "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", - "dev": true - }, - "unicons": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/unicons/-/unicons-0.0.3.tgz", - "integrity": "sha1-bmp6Gm6uuwHKPYsSrZaHJ56rpSQ=", - "dev": true - }, - "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": { - "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" - } - } - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "uniqid": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", - "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", - "dev": true, - "requires": { - "macaddress": "0.2.8" - } - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true - }, - "unique-stream": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz", - "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=", - "requires": { - "json-stable-stringify": "1.0.1", - "through2-filter": "2.0.0" - } - }, - "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 - }, - "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": { - "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 - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "upath": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.0.4.tgz", - "integrity": "sha512-d4SJySNBXDaQp+DPrziv3xGS6w3d2Xt69FijJr86zMPBy23JEloMCEOUBBzuN7xCtjLCnmB9tI/z7SBCahHBOw==", - "dev": true - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "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 - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-loader": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.5.9.tgz", - "integrity": "sha1-zI/qgse5Bud3cBklCGnlaemVwpU=", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "mime": "1.3.6" - }, - "dependencies": { - "mime": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz", - "integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA=", - "dev": true - } - } - }, - "url-parse": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", - "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==", - "dev": true, - "requires": { - "querystringify": "1.0.0", - "requires-port": "1.0.0" - }, - "dependencies": { - "querystringify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", - "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=", - "dev": true - } - } - }, - "use": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", - "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - }, - "dependencies": { - "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 - } - } - }, - "user-home": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", - "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "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=" - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utile": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/utile/-/utile-0.3.0.tgz", - "integrity": "sha1-E1LDQOuCDk2N26A5pPv6oy7U7zo=", - "dev": true, - "requires": { - "async": "0.9.2", - "deep-equal": "0.2.2", - "i": "0.3.6", - "mkdirp": "0.5.1", - "ncp": "1.0.1", - "rimraf": "2.6.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 - }, - "deep-equal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.2.tgz", - "integrity": "sha1-hLdFiW80xoTpjyzg5Cq69Du6AX0=", - "dev": true - } - } - }, - "utils-merge": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", - "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=", - "dev": true - }, - "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=" - }, - "v8flags": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", - "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", - "dev": true, - "requires": { - "user-home": "1.1.1" - } - }, - "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", - "dev": true, - "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "vendors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.1.tgz", - "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "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=", - "dev": true, - "requires": { - "indexof": "0.0.1" - } - }, - "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dev": true, - "requires": { - "makeerror": "1.0.11" - } - }, - "warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", - "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", - "requires": { - "loose-envify": "1.3.1" - } - }, - "watch": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/watch/-/watch-0.10.0.tgz", - "integrity": "sha1-d3mLLaD5kQ1ZXxrOWwwiWFIfIdw=", - "dev": true - }, - "watchpack": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz", - "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", - "dev": true, - "requires": { - "async": "2.6.0", - "chokidar": "1.7.0", - "graceful-fs": "4.1.11" - }, - "dependencies": { - "async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", - "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", - "dev": true, - "requires": { - "lodash": "4.17.5" - } - } - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "requires": { - "minimalistic-assert": "1.0.0" - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha1-qFWYCx8LazWbodXZ+zmulB+qY60=", - "dev": true - }, - "webpack": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-2.7.0.tgz", - "integrity": "sha512-MjAA0ZqO1ba7ZQJRnoCdbM56mmFpipOPUv/vQpwwfSI42p5PVDdoiuK2AL2FwFUVgT859Jr43bFZXRg/LNsqvg==", - "dev": true, - "requires": { - "acorn": "5.1.2", - "acorn-dynamic-import": "2.0.2", - "ajv": "4.11.8", - "ajv-keywords": "1.5.1", - "async": "2.6.0", - "enhanced-resolve": "3.4.1", - "interpret": "1.1.0", - "json-loader": "0.5.4", - "json5": "0.5.1", - "loader-runner": "2.3.0", - "loader-utils": "0.2.17", - "memory-fs": "0.4.1", - "mkdirp": "0.5.1", - "node-libs-browser": "2.1.0", - "source-map": "0.5.7", - "supports-color": "3.2.3", - "tapable": "0.2.8", - "uglify-js": "2.8.29", - "watchpack": "1.4.0", - "webpack-sources": "1.0.1", - "yargs": "6.4.0" - }, - "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" - } - }, - "ajv-keywords": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", - "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", - "dev": true - }, - "async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", - "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", - "dev": true, - "requires": { - "lodash": "4.17.5" - } - }, - "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" - } - }, - "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 - }, - "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.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "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" - } - }, - "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": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - }, - "dependencies": { - "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" - } - } - } - }, - "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 - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true - } - } - }, - "webpack-bundle-analyzer": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.8.2.tgz", - "integrity": "sha1-i2JAwpqdY7xy8J2SD7BQrbzOn+g=", - "dev": true, - "requires": { - "acorn": "5.1.2", - "chalk": "1.1.3", - "commander": "2.11.0", - "ejs": "2.5.7", - "express": "4.16.1", - "filesize": "3.5.10", - "gzip-size": "3.0.0", - "lodash": "4.17.5", - "mkdirp": "0.5.1", - "opener": "1.4.3", - "ws": "2.3.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - } - }, - "express": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.1.tgz", - "integrity": "sha512-STB7LZ4N0L+81FJHGla2oboUHTk4PaN1RsOkoRh9OSeEKylvF5hwKYVX1xCLFaCT7MD0BNG/gX2WFMLqY6EMBw==", - "dev": true, - "requires": { - "accepts": "1.3.4", - "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.1", - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "etag": "1.8.1", - "finalhandler": "1.1.0", - "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.2", - "qs": "6.5.1", - "range-parser": "1.2.0", - "safe-buffer": "5.1.1", - "send": "0.16.1", - "serve-static": "1.13.1", - "setprototypeof": "1.1.0", - "statuses": "1.3.1", - "type-is": "1.6.15", - "utils-merge": "1.0.1", - "vary": "1.1.2" - } - }, - "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.1", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.3.1", - "unpipe": "1.0.0" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "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.3.1" - }, - "dependencies": { - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", - "dev": true - } - } - }, - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=", - "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=", - "dev": true - }, - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=", - "dev": true - }, - "send": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz", - "integrity": "sha1-pw4coh0TgsEdDZ9iMd6ygQgNerM=", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "1.1.1", - "destroy": "1.0.4", - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "etag": "1.8.1", - "fresh": "0.5.2", - "http-errors": "1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.3.1" - } - }, - "serve-static": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", - "integrity": "sha1-TFfVNASnYdjy58HooYpH2/J4pxk=", - "dev": true, - "requires": { - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "parseurl": "1.3.2", - "send": "0.16.1" - } - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", - "dev": true - }, - "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 - }, - "ultron": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz", - "integrity": "sha1-sHoualQagV/Go0zNRTO67DB8qGQ=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "ws": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-2.3.1.tgz", - "integrity": "sha1-a5Sz5EfLajY/eF6vlK9jWejoHIA=", - "dev": true, - "requires": { - "safe-buffer": "5.0.1", - "ultron": "1.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", - "dev": true - } - } - } - } - }, - "webpack-concat-plugin": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/webpack-concat-plugin/-/webpack-concat-plugin-1.4.2.tgz", - "integrity": "sha512-HdV2xOq4twtL2ThR9NSCCQ888v1JBMpJfm3k2mA1I5LkS2+/6rv8q/bb9yTSaR0fVaMtANZi4Wkz0xc33MAt6w==", - "dev": true, - "requires": { - "md5": "2.2.1", - "uglify-js": "2.8.29" - }, - "dependencies": { - "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" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "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": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - } - }, - "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 - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "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" - } - } - } - }, - "webpack-dev-middleware": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.11.0.tgz", - "integrity": "sha1-CWkdCXOjCtH4Ksc6EuIIfwpHVPk=", - "dev": true, - "requires": { - "memory-fs": "0.4.1", - "mime": "1.4.1", - "path-is-absolute": "1.0.1", - "range-parser": "1.2.0" - }, - "dependencies": { - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", - "dev": true - } - } - }, - "webpack-dev-server": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.11.2.tgz", - "integrity": "sha512-zrPoX97bx47vZiAXfDrkw8pe9QjJ+lunQl3dypojyWwWr1M5I2h0VSrMPfTjopHQPRNn+NqfjcMmhoLcUJe2gA==", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "array-includes": "3.0.3", - "bonjour": "3.5.0", - "chokidar": "2.0.2", - "compression": "1.7.2", - "connect-history-api-fallback": "1.3.0", - "debug": "3.1.0", - "del": "3.0.0", - "express": "4.16.2", - "html-entities": "1.2.1", - "http-proxy-middleware": "0.17.4", - "import-local": "1.0.0", - "internal-ip": "1.2.0", - "ip": "1.1.5", - "killable": "1.0.0", - "loglevel": "1.6.1", - "opn": "5.2.0", - "portfinder": "1.0.13", - "selfsigned": "1.10.2", - "serve-index": "1.8.0", - "sockjs": "0.3.19", - "sockjs-client": "1.1.4", - "spdy": "3.4.7", - "strip-ansi": "3.0.1", - "supports-color": "5.3.0", - "webpack-dev-middleware": "1.12.2", - "yargs": "6.6.0" - }, - "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.9", - "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.1", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.1.tgz", - "integrity": "sha512-SO5lYHA3vO6gz66erVvedSCkp7AKWdv6VcQ2N4ysXfPxdAlxAMMAdwegGGcv1Bqwm7naF1hNdk5d6AAIEHV2nQ==", - "dev": true, - "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "define-property": "1.0.0", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "kind-of": "6.0.2", - "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": { - "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" - } - } - } - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "chokidar": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.2.tgz", - "integrity": "sha512-l32Hw3wqB0L2kGVmSbK/a+xXLDrUEsc84pSgMkmwygHvD7ubRsP/vxxHa5BtB6oix1XLLVCHyYMsckRXxThmZw==", - "dev": true, - "requires": { - "anymatch": "2.0.0", - "async-each": "1.0.1", - "braces": "2.3.1", - "fsevents": "1.1.3", - "glob-parent": "3.1.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "4.0.0", - "normalize-path": "2.1.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0", - "upath": "1.0.4" - } - }, - "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" - } - }, - "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "dev": true, - "requires": { - "globby": "6.1.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "p-map": "1.2.0", - "pify": "3.0.0", - "rimraf": "2.6.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": { - "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" - } - }, - "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-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 - } - } - }, - "express": { - "version": "4.16.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", - "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", - "dev": true, - "requires": { - "accepts": "1.3.4", - "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.1", - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "etag": "1.8.1", - "finalhandler": "1.1.0", - "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.2", - "qs": "6.5.1", - "range-parser": "1.2.0", - "safe-buffer": "5.1.1", - "send": "0.16.1", - "serve-static": "1.13.1", - "setprototypeof": "1.1.0", - "statuses": "1.3.1", - "type-is": "1.6.15", - "utils-merge": "1.0.1", - "vary": "1.1.2" - }, - "dependencies": { - "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" - } - } - } - }, - "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" - } - } - } - }, - "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.1", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.3.1", - "unpipe": "1.0.0" - }, - "dependencies": { - "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" - } - } - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true - }, - "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" - } - } - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "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 - }, - "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.3.1" - }, - "dependencies": { - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", - "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" - }, - "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.5" - } - } - } - }, - "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.5" - } - } - } - }, - "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.5" - } - } - } - }, - "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.9", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.9.tgz", - "integrity": "sha512-SlIz6sv5UPaAVVFRKodKjCg48EbNoIhgetzfK/Cy0v5U52Z6zB136M8tp0UC9jM53LYbmIRihJszvvqpKkfm9g==", - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.1", - "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.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.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 - }, - "opn": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.2.0.tgz", - "integrity": "sha512-Jd/GpzPyHF4P2/aNOVmS3lfMSWV9J7cOhCG1s08XCEAsPkB7lp6ddiU0J7XzyQRDUh8BqJ7PchfINjR8jyofRQ==", - "dev": true, - "requires": { - "is-wsl": "1.1.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "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 - }, - "send": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz", - "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "1.1.1", - "destroy": "1.0.4", - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "etag": "1.8.1", - "fresh": "0.5.2", - "http-errors": "1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.3.1" - }, - "dependencies": { - "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" - } - } - } - }, - "serve-static": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", - "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", - "dev": true, - "requires": { - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "parseurl": "1.3.2", - "send": "0.16.1" - } - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - }, - "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "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==", - "dev": true - } - } - }, - "yargs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "dev": true, - "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "4.2.1" - } - } - } - }, - "webpack-hot-middleware": { - "version": "2.18.2", - "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.18.2.tgz", - "integrity": "sha1-hN7mQ/A3w9WcneFCVIQwNxqo07I=", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "html-entities": "1.2.1", - "querystring": "0.2.0", - "strip-ansi": "3.0.1" - } - }, - "webpack-md5-hash": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/webpack-md5-hash/-/webpack-md5-hash-0.0.5.tgz", - "integrity": "sha1-2fGJnq1mRFndi2sMkmrHHPvXvHo=", - "dev": true, - "requires": { - "md5": "2.2.1" - } - }, - "webpack-sources": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.1.tgz", - "integrity": "sha512-05tMxipUCwHqYaVS8xc7sYPTly8PzXayRCB4dTxLhWTqlKUiwH6ezmEe0OSreL1c30LAuA3Zqmc+uEBUGFJDjw==", - "dev": true, - "requires": { - "source-list-map": "2.0.0", - "source-map": "0.5.7" - }, - "dependencies": { - "source-list-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", - "integrity": "sha1-qqR0A/eyRakvvJfqCPJQ1gh+0IU=", - "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 - } - } - }, - "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.11", - "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 - }, - "websocket-stream": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/websocket-stream/-/websocket-stream-5.1.2.tgz", - "integrity": "sha512-lchLOk435iDWs0jNuL+hiU14i3ERSrMA0IKSiJh7z6X/i4XNsutBZrtqu2CPOZuA4G/zabiqVAos0vW+S7GEVw==", - "requires": { - "duplexify": "3.5.4", - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "safe-buffer": "5.1.1", - "ws": "3.3.3", - "xtend": "4.0.1" - }, - "dependencies": { - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" - }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "requires": { - "async-limiter": "1.0.0", - "safe-buffer": "5.1.1", - "ultron": "1.1.1" - } - } - } - }, - "weinre": { - "version": "2.0.0-pre-I0Z7U9OV", - "resolved": "https://registry.npmjs.org/weinre/-/weinre-2.0.0-pre-I0Z7U9OV.tgz", - "integrity": "sha1-/viqIjkh97QLu71MPtQwL2/QqBM=", - "dev": true, - "requires": { - "express": "2.5.11", - "nopt": "3.0.6", - "underscore": "1.7.0" - } - }, - "whatwg-encoding": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz", - "integrity": "sha1-PGxFGhmO567FWx7GHQkgxngBpfQ=", - "dev": true, - "requires": { - "iconv-lite": "0.4.13" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", - "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=", - "dev": true - } - } - }, - "whatwg-fetch": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" - }, - "whatwg-url": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz", - "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", - "dev": true, - "requires": { - "tr46": "0.0.3", - "webidl-conversions": "3.0.1" - }, - "dependencies": { - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", - "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": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=", - "dev": true, - "requires": { - "isexe": "2.0.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "window-size": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", - "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", - "dev": true - }, - "winston": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/winston/-/winston-2.1.1.tgz", - "integrity": "sha1-PJNJ0ZYgf9G9/51LxD73JRDjoS4=", - "dev": true, - "requires": { - "async": "1.0.0", - "colors": "1.0.3", - "cycle": "1.0.3", - "eyes": "0.1.8", - "isstream": "0.1.2", - "pkginfo": "0.3.1", - "stack-trace": "0.0.10" - }, - "dependencies": { - "async": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", - "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=", - "dev": true - }, - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true - }, - "pkginfo": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz", - "integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=", - "dev": true - } - } - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "worker-farm": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.0.tgz", - "integrity": "sha512-DHRiUggxtbruaTwnLDm2/BRDKZIoOYvrgYUj5Bam4fU6Gtvc0FaEyoswFPBjMXAweGW2H4BDNIpy//1yXXuaqQ==", - "dev": true, - "requires": { - "errno": "0.1.4", - "xtend": "4.0.1" - } - }, - "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": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "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.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.1.tgz", - "integrity": "sha1-CC3bbGQehdS7RR8D1S8G6r2x8Bg=", - "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 - }, - "xml-char-classes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz", - "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=", - "dev": true - }, - "xml-name-validator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", - "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", - "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=" - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "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": "6.4.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.4.0.tgz", - "integrity": "sha1-gW4ahm1VmMzzTlWW3c4i2S2kkNQ=", - "dev": true, - "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "window-size": "0.2.0", - "y18n": "3.2.1", - "yargs-parser": "4.2.1" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", - "dev": true - } - } - }, - "yargs-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", - "dev": true, - "requires": { - "camelcase": "3.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - } - } - }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "dev": true - } - } -} diff --git a/package.json b/package.json index 203851f7173528aa77fa6cd32414ba6bf0823808..c0491da440f97d75e91f5db7f6d386b0bb1f5edc 100644 --- a/package.json +++ b/package.json @@ -43,6 +43,7 @@ "react-responsive-modal": "^2.0.0", "react-router": "^3.2.1", "react-router-navigation-prompt": "^1.5.7", + "react-router-redux": "^4.0.8", "react-sanfona": "^0.4.3", "react-select": "^1.2.1", "redux": "^3.7.2", diff --git a/assets/img/7zip.png b/src/assets/img/7zip.png similarity index 100% rename from assets/img/7zip.png rename to src/assets/img/7zip.png diff --git a/assets/img/Beverly_Johnson.png b/src/assets/img/Beverly_Johnson.png similarity index 100% rename from assets/img/Beverly_Johnson.png rename to src/assets/img/Beverly_Johnson.png diff --git a/assets/img/Christopher_Pryor.png b/src/assets/img/Christopher_Pryor.png similarity index 100% rename from assets/img/Christopher_Pryor.png rename to src/assets/img/Christopher_Pryor.png diff --git a/assets/img/David_Mickelson.png b/src/assets/img/David_Mickelson.png similarity index 100% rename from assets/img/David_Mickelson.png rename to src/assets/img/David_Mickelson.png diff --git a/assets/img/Jennifer-Lawrence.png b/src/assets/img/Jennifer-Lawrence.png similarity index 100% rename from assets/img/Jennifer-Lawrence.png rename to src/assets/img/Jennifer-Lawrence.png diff --git a/assets/img/Mary.png b/src/assets/img/Mary.png similarity index 100% rename from assets/img/Mary.png rename to src/assets/img/Mary.png diff --git a/assets/img/Richard_Smith.png b/src/assets/img/Richard_Smith.png similarity index 100% rename from assets/img/Richard_Smith.png rename to src/assets/img/Richard_Smith.png diff --git a/assets/img/Rose_Willis.png b/src/assets/img/Rose_Willis.png similarity index 100% rename from assets/img/Rose_Willis.png rename to src/assets/img/Rose_Willis.png diff --git a/assets/img/Stephanie.png b/src/assets/img/Stephanie.png similarity index 100% rename from assets/img/Stephanie.png rename to src/assets/img/Stephanie.png diff --git a/assets/img/arrow-next.png b/src/assets/img/arrow-next.png similarity index 100% rename from assets/img/arrow-next.png rename to src/assets/img/arrow-next.png diff --git a/assets/img/audio_call.png b/src/assets/img/audio_call.png similarity index 100% rename from assets/img/audio_call.png rename to src/assets/img/audio_call.png diff --git a/assets/img/beerpong_at_spotkaraoke.png b/src/assets/img/beerpong_at_spotkaraoke.png similarity index 100% rename from assets/img/beerpong_at_spotkaraoke.png rename to src/assets/img/beerpong_at_spotkaraoke.png diff --git a/static/img/bg/app-screens_4k.png b/src/assets/img/bg/app-screens_4k.png similarity index 100% rename from static/img/bg/app-screens_4k.png rename to src/assets/img/bg/app-screens_4k.png diff --git a/static/img/bg/splash-bg-composition_4k.jpg b/src/assets/img/bg/splash-bg-composition_4k.jpg similarity index 100% rename from static/img/bg/splash-bg-composition_4k.jpg rename to src/assets/img/bg/splash-bg-composition_4k.jpg diff --git a/assets/img/bird.png b/src/assets/img/bird.png similarity index 100% rename from assets/img/bird.png rename to src/assets/img/bird.png diff --git a/assets/img/calls.png b/src/assets/img/calls.png similarity index 100% rename from assets/img/calls.png rename to src/assets/img/calls.png diff --git a/assets/img/chats.png b/src/assets/img/chats.png similarity index 100% rename from assets/img/chats.png rename to src/assets/img/chats.png diff --git a/assets/img/chats_tedst.png b/src/assets/img/chats_tedst.png similarity index 100% rename from assets/img/chats_tedst.png rename to src/assets/img/chats_tedst.png diff --git a/assets/img/contact_1.png b/src/assets/img/contact_1.png similarity index 100% rename from assets/img/contact_1.png rename to src/assets/img/contact_1.png diff --git a/assets/img/contacts.png b/src/assets/img/contacts.png similarity index 100% rename from assets/img/contacts.png rename to src/assets/img/contacts.png diff --git a/assets/img/country-icon.png b/src/assets/img/country-icon.png similarity index 100% rename from assets/img/country-icon.png rename to src/assets/img/country-icon.png diff --git a/assets/img/drag.png b/src/assets/img/drag.png similarity index 100% rename from assets/img/drag.png rename to src/assets/img/drag.png diff --git a/assets/img/drag_handle.png b/src/assets/img/drag_handle.png similarity index 100% rename from assets/img/drag_handle.png rename to src/assets/img/drag_handle.png diff --git a/assets/img/emoji.png b/src/assets/img/emoji.png similarity index 100% rename from assets/img/emoji.png rename to src/assets/img/emoji.png diff --git a/assets/img/events.png b/src/assets/img/events.png similarity index 100% rename from assets/img/events.png rename to src/assets/img/events.png diff --git a/assets/img/family.png b/src/assets/img/family.png similarity index 100% rename from assets/img/family.png rename to src/assets/img/family.png diff --git a/assets/img/favorite.png b/src/assets/img/favorite.png similarity index 100% rename from assets/img/favorite.png rename to src/assets/img/favorite.png diff --git a/assets/img/file.png b/src/assets/img/file.png similarity index 100% rename from assets/img/file.png rename to src/assets/img/file.png diff --git a/assets/img/from_pc.png b/src/assets/img/from_pc.png similarity index 100% rename from assets/img/from_pc.png rename to src/assets/img/from_pc.png diff --git a/assets/img/groups.png b/src/assets/img/groups.png similarity index 100% rename from assets/img/groups.png rename to src/assets/img/groups.png diff --git a/assets/img/icon_completed.png b/src/assets/img/icon_completed.png similarity index 100% rename from assets/img/icon_completed.png rename to src/assets/img/icon_completed.png diff --git a/assets/img/left_arrow.png b/src/assets/img/left_arrow.png similarity index 100% rename from assets/img/left_arrow.png rename to src/assets/img/left_arrow.png diff --git a/assets/img/link.png b/src/assets/img/link.png similarity index 100% rename from assets/img/link.png rename to src/assets/img/link.png diff --git a/assets/img/link_share.png b/src/assets/img/link_share.png similarity index 100% rename from assets/img/link_share.png rename to src/assets/img/link_share.png diff --git a/assets/img/location.png b/src/assets/img/location.png similarity index 100% rename from assets/img/location.png rename to src/assets/img/location.png diff --git a/assets/img/location_icon.png b/src/assets/img/location_icon.png similarity index 100% rename from assets/img/location_icon.png rename to src/assets/img/location_icon.png diff --git a/assets/img/logo-s.png b/src/assets/img/logo-s.png similarity index 100% rename from assets/img/logo-s.png rename to src/assets/img/logo-s.png diff --git a/assets/img/logo.png b/src/assets/img/logo.png similarity index 100% rename from assets/img/logo.png rename to src/assets/img/logo.png diff --git a/assets/img/micro_background.png b/src/assets/img/micro_background.png similarity index 100% rename from assets/img/micro_background.png rename to src/assets/img/micro_background.png diff --git a/assets/img/micro_icon.png b/src/assets/img/micro_icon.png similarity index 100% rename from assets/img/micro_icon.png rename to src/assets/img/micro_icon.png diff --git a/assets/img/new_chat.png b/src/assets/img/new_chat.png similarity index 100% rename from assets/img/new_chat.png rename to src/assets/img/new_chat.png diff --git a/assets/img/notifications.png b/src/assets/img/notifications.png similarity index 100% rename from assets/img/notifications.png rename to src/assets/img/notifications.png diff --git a/assets/img/number-icon.png b/src/assets/img/number-icon.png similarity index 100% rename from assets/img/number-icon.png rename to src/assets/img/number-icon.png diff --git a/assets/img/pdf.png b/src/assets/img/pdf.png similarity index 100% rename from assets/img/pdf.png rename to src/assets/img/pdf.png diff --git a/assets/img/photo_icon.png b/src/assets/img/photo_icon.png similarity index 100% rename from assets/img/photo_icon.png rename to src/assets/img/photo_icon.png diff --git a/assets/img/photos.png b/src/assets/img/photos.png similarity index 100% rename from assets/img/photos.png rename to src/assets/img/photos.png diff --git a/assets/img/profile.png b/src/assets/img/profile.png similarity index 100% rename from assets/img/profile.png rename to src/assets/img/profile.png diff --git a/assets/img/psd.png b/src/assets/img/psd.png similarity index 100% rename from assets/img/psd.png rename to src/assets/img/psd.png diff --git a/assets/img/recents.png b/src/assets/img/recents.png similarity index 100% rename from assets/img/recents.png rename to src/assets/img/recents.png diff --git a/assets/img/right_arrow.png b/src/assets/img/right_arrow.png similarity index 100% rename from assets/img/right_arrow.png rename to src/assets/img/right_arrow.png diff --git a/assets/img/right_bar_arrow.png b/src/assets/img/right_bar_arrow.png similarity index 100% rename from assets/img/right_bar_arrow.png rename to src/assets/img/right_bar_arrow.png diff --git a/assets/img/right_bar_arrow_down.png b/src/assets/img/right_bar_arrow_down.png similarity index 100% rename from assets/img/right_bar_arrow_down.png rename to src/assets/img/right_bar_arrow_down.png diff --git a/assets/img/right_bar_arrow_up.png b/src/assets/img/right_bar_arrow_up.png similarity index 100% rename from assets/img/right_bar_arrow_up.png rename to src/assets/img/right_bar_arrow_up.png diff --git a/assets/img/search_icon.png b/src/assets/img/search_icon.png similarity index 100% rename from assets/img/search_icon.png rename to src/assets/img/search_icon.png diff --git a/assets/img/security-icon.png b/src/assets/img/security-icon.png similarity index 100% rename from assets/img/security-icon.png rename to src/assets/img/security-icon.png diff --git a/assets/img/send_background.png b/src/assets/img/send_background.png similarity index 100% rename from assets/img/send_background.png rename to src/assets/img/send_background.png diff --git a/assets/img/send_icon.png b/src/assets/img/send_icon.png similarity index 100% rename from assets/img/send_icon.png rename to src/assets/img/send_icon.png diff --git a/assets/img/send_image.png b/src/assets/img/send_image.png similarity index 100% rename from assets/img/send_image.png rename to src/assets/img/send_image.png diff --git a/assets/img/send_image_2.png b/src/assets/img/send_image_2.png similarity index 100% rename from assets/img/send_image_2.png rename to src/assets/img/send_image_2.png diff --git a/assets/img/send_image_3.png b/src/assets/img/send_image_3.png similarity index 100% rename from assets/img/send_image_3.png rename to src/assets/img/send_image_3.png diff --git a/assets/img/send_image_4.png b/src/assets/img/send_image_4.png similarity index 100% rename from assets/img/send_image_4.png rename to src/assets/img/send_image_4.png diff --git a/assets/img/settings.png b/src/assets/img/settings.png similarity index 100% rename from assets/img/settings.png rename to src/assets/img/settings.png diff --git a/assets/img/sidebar_logo.png b/src/assets/img/sidebar_logo.png similarity index 100% rename from assets/img/sidebar_logo.png rename to src/assets/img/sidebar_logo.png diff --git a/assets/img/storage.png b/src/assets/img/storage.png similarity index 100% rename from assets/img/storage.png rename to src/assets/img/storage.png diff --git a/assets/img/text imput.png b/src/assets/img/text imput.png similarity index 100% rename from assets/img/text imput.png rename to src/assets/img/text imput.png diff --git a/assets/img/video_call.png b/src/assets/img/video_call.png similarity index 100% rename from assets/img/video_call.png rename to src/assets/img/video_call.png diff --git a/assets/img/video_icon.png b/src/assets/img/video_icon.png similarity index 100% rename from assets/img/video_icon.png rename to src/assets/img/video_icon.png diff --git a/assets/img/video_icon_chat.png b/src/assets/img/video_icon_chat.png similarity index 100% rename from assets/img/video_icon_chat.png rename to src/assets/img/video_icon_chat.png diff --git a/assets/img/video_share.png b/src/assets/img/video_share.png similarity index 100% rename from assets/img/video_share.png rename to src/assets/img/video_share.png diff --git a/assets/img/work.png b/src/assets/img/work.png similarity index 100% rename from assets/img/work.png rename to src/assets/img/work.png diff --git a/src/assets/vendor/utils/dashboard.js b/src/assets/vendor/utils/dashboard.js deleted file mode 100644 index a38b12e4e3e03d4cd09987740ed28a56a85fa807..0000000000000000000000000000000000000000 --- a/src/assets/vendor/utils/dashboard.js +++ /dev/null @@ -1,1749 +0,0 @@ -let recorder, - audio_context, - DashboardWidget, - ChatListWidget, - ProfileViewWidget, - ContactsWidget, - ContactRequestsWidget, - AddContactWidget, - ChatAreaWidget; - -(function () { - let el, - t; - DashboardWidget = { - settings: { - panels_options: { - logo_wrap: [], - chats_list: [], - contacts_list_view: [], - new_contact_view: [], - profile_view: [], - photos_list: [], - videos_list: [], - links_list: [], - files_list: [] - }, - vw: 0, - active_chat: 1, - chat_types: [], - message_statuses: [], - contacts: [], - chats: [], - geoIpService: '//freegeoip.net/json/', - minNumberDigits: 10, - minCodeDigits: 6 - }, - elements: { - countryData: [], - addressDropdown: '#country', - codeInput: '#code', - telRealInput: '#number', - telInput: '#full-number', - verify: '#verify', - first_name: '#first_name', - last_name: '#last_name', - sendCodeBtn: '#sendCode', - sendVerifyBtn: '#verifyCode', - doneBtn: '#doneBtn', - - chat: '#chat', - chats: '#chats', - photos: '#photos', - videos: '#videos', - links: '#links', - files: '#files', - - logo_wrap: '#logo_wrap', - chats_list: '#chats_list', - photos_list: '#photos_list', - videos_list: '#vidoes_list', - links_list: '#links_list', - files_list: '#files_list' - }, - titleTemplate: 'Dashboard | ', - init() { - t = this; - el = this.elements; - - this.initSettings(); - this.initDashboard(); - this.initChat(); - - this.initCountry(); - this.initCodePhone(); - - this.bindUIActions(); - - this.initElementMasks(); - // this.initRecording(); - // this.initRecordLog(); - }, - initSettings() { - t.calculateVWCoefficient(); - - t.settings.panels_options.logo_wrap.width = t.settings.vw * $('#logo_wrap').width(); - t.settings.panels_options.logo_wrap.min = t.settings.vw * 100; - t.settings.panels_options.logo_wrap.max = t.settings.vw * 3400; - - t.settings.panels_options.chats_list.width = t.settings.vw * $('#chats_list').width(); - t.settings.panels_options.chats_list.min = t.settings.vw * 100; - t.settings.panels_options.chats_list.max = t.settings.vw * 3400; - - t.settings.panels_options.contacts_list_view.width = t.settings.vw * $('#contacts_list_view').width(); - t.settings.panels_options.contacts_list_view.min = t.settings.vw * 100; - t.settings.panels_options.contacts_list_view.max = t.settings.vw * 3400; - - t.settings.panels_options.new_contact_view.width = t.settings.vw * $('#new_contact_view').width(); - t.settings.panels_options.new_contact_view.min = t.settings.vw * 100; - t.settings.panels_options.new_contact_view.max = t.settings.vw * 3400; - - t.settings.panels_options.profile_view.width = t.settings.vw * $('#profile_view').width(); - t.settings.panels_options.profile_view.min = t.settings.vw * 100; - t.settings.panels_options.profile_view.max = t.settings.vw * 3400; - - t.settings.panels_options.photos_list.width = t.settings.vw * $('#photos_list').width(); - t.settings.panels_options.photos_list.min = 70; - t.settings.panels_options.photos_list.max = 90; - - t.settings.panels_options.videos_list.width = t.settings.vw * $('#videos_list').width(); - t.settings.panels_options.videos_list.min = 70; - t.settings.panels_options.videos_list.max = 90; - - t.settings.panels_options.links_list.width = t.settings.vw * $('#links_list').width(); - t.settings.panels_options.links_list.min = 70; - t.settings.panels_options.links_list.max = 90; - - t.settings.panels_options.files_list.width = t.settings.vw * $('#files_list').width(); - t.settings.panels_options.files_list.min = 70; - t.settings.panels_options.files_list.max = 90; - - /* - $(document).keypress(function (e) { - var keycode = (e.keyCode ? e.keyCode : e.which); - if (keycode == '13') { - ChatAreaWidget.displayMessage(); // @TODO: remove from here - } - }); - */ - }, - initDashboard() { - // @TODO: need check user session - if (!GlobalWidget.getRosterId()) { - location.replace('/web/welcome.htm'); - } - - // 4a. reconnect because was redirect to dashboard (temporary) - mqttOptions.password = token(); - mqttOptions.cleanSession = false; - mqttOptions.onFailure = function (m) { - console.log('%cClient{%s, %s} - connection to backend failed: %s', 'color:red', client(), token(), m.errorMessage); - ProfileViewWidget.logout(); - }; - mqttOptions.onSuccess = function () { - console.log('%cClient{%s, %s} - connected to backend', 'color:green', client(), token()); - - const msg = enc(encProfile({ phone: GlobalWidget.getPhoneNumber(), status: 'get' })); - ws.send(msg); - }; - delete mqttOptions.mqttVersion; - delete mqttOptions.mqttVersionExplicit; - - mqtt_open(mqttOptions); - }, - calculateVWCoefficient() { - t.settings.vw = (100 / $(document).width()); - }, - bindUIActions() { - $('.drag_handle_left').on('mousedown', (e) => { - e.preventDefault(); - - let right_side_bar_id = ''; - right_side_bar_id = $('#chats_list').is(':hidden') ? right_side_bar_id : 'chats_list'; - right_side_bar_id = $('#contacts_list_view').is(':hidden') ? right_side_bar_id : 'contacts_list_view'; - right_side_bar_id = $('#new_contact_view').is(':hidden') ? right_side_bar_id : 'new_contact_view'; - right_side_bar_id = $('#profile_view').is(':hidden') ? right_side_bar_id : 'profile_view'; - - $(document).mousemove((e) => { - const right_sid_bar_selector = `#${right_side_bar_id}`; - const width_start = $(right_sid_bar_selector).width(); - const width = e.pageX - $(right_sid_bar_selector).offset().left; - - t.settings.panels_options[right_side_bar_id].width = width * t.settings.vw; - t.settings.panels_options.logo_wrap.width = width * t.settings.vw; - - const right_side_bar_width = `${width * t.settings.vw}vw`; - const chat_width = `${t.settings.vw * ($('#chat').width() + (width_start - width))}vw`; - const tool_bar_width = `${t.settings.vw * ($('#tool_bar').width() + (width_start - width))}vw`; - const padding_chat_wrapper = `0vw ${(15 - ((t.settings.vw * width) / 2)) < 0 ? 0 : (15 - ((t.settings.vw * width) / 2))}vw`; - - if ((e.pageX * t.settings.vw) > t.settings.panels_options[right_side_bar_id].min && (e.pageX * t.settings.vw) < t.settings.panels_options[right_side_bar_id].max) { - $('#logo_wrap').css('width', right_side_bar_width); - $(right_sid_bar_selector).css('width', right_side_bar_width); - $('#chat').css('width', chat_width); - $('#tool_bar').css('width', tool_bar_width); - - $('.chat_wrapper').css('padding', padding_chat_wrapper); - } - }); - }).mouseup(() => { - // console.log('mouseup'); - // $(document).unbind('mousemove'); - }).mouseout(() => { - // console.log('mouseout'); - - // $(document).unbind('mousemove'); - }); - - $(document).on('mouseup', () => { - // console.log('mouseup'); - - $(document).unbind('mousemove'); - }); - - $('.drag_handle').mousedown((e) => { - e.preventDefault(); - - let right_side_bar_id = ''; - right_side_bar_id = $('#photos_list').is(':hidden') ? right_side_bar_id : 'photos_list'; - right_side_bar_id = $('#videos_list').is(':hidden') ? right_side_bar_id : 'videos_list'; - right_side_bar_id = $('#links_list').is(':hidden') ? right_side_bar_id : 'links_list'; - right_side_bar_id = $('#files_list').is(':hidden') ? right_side_bar_id : 'files_list'; - - const right_sid_bar_selector = `#${right_side_bar_id}`; - const vw = (100 / $(document).width()); - $(document).mousemove((e) => { - e.preventDefault(); - const width_start = $(right_sid_bar_selector).width(); - const width = ($(right_sid_bar_selector).offset().left + $(right_sid_bar_selector).width()) - e.pageX; - - t.settings.panels_options[right_side_bar_id].width = width * t.settings.vw; - - const right_side_bar_width = `${width * vw}vw`; - const chat_width = `${t.settings.vw * ($('#chat').width() + (width_start - width))}vw`; - - if ((e.pageX * t.settings.vw) > t.settings.panels_options[right_side_bar_id].min && (e.pageX * t.settings.vw) < t.settings.panels_options[right_side_bar_id].max) { - $(right_sid_bar_selector).css('width', right_side_bar_width); - $('#chat').css('width', chat_width); - } - }); - }).mouseup(() => { - // $(this).unbind('mousemove'); - }).mouseout(() => { - // $(this).unbind('mousemove'); - }); - - $('#videos').click(() => { - const videos_is_hidden = $('#videos_list').is(':hidden'); - $('#chat').css('width', ''); - $('#tool_bar').css('width', ''); - $('.chat_wrapper').css('padding', ''); - if (videos_is_hidden) { - $('#logo_wrap').hide(); - - $('#chats_list').hide(); - $('#contacts_list_view').hide(); - $('#new_contact_view').hide(); - $('#profile_view').hide(); - $('.drag_handle_left').hide(); - $('#files_list').hide(); - $('#photos_list').hide(); - $('#links_list').hide(); - - $('#recents').hide('slow'); - $('#favorite').hide('slow'); - $('#family').hide('slow'); - $('#new_chat').hide('slow'); - - $('#videos_list').fadeIn(750, function () { - $(this).addClass('lookAtMe'); - }); - - const vw = (100 / $(document).width()); - - const chat_width = `${(t.settings.vw * $('#chat').width()) - t.settings.panels_options.videos_list.width}vw`; - $('#chat').css('width', chat_width); - - const panel_width = t.settings.panels_options.videos_list.width; - const padding_chat_wrapper = `0vw ${(15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))}vw`; - $('.chat_wrapper').css('padding', padding_chat_wrapper); - } else { - $('#videos_list').hide(); - } - }); - - $('#files').click(() => { - const files_is_hidden = $('#files_list').is(':hidden'); - $('#chat').css('width', ''); - $('#tool_bar').css('width', ''); - $('.chat_wrapper').css('padding', ''); - if (files_is_hidden) { - $('#logo_wrap').hide(); - - $('#chats_list').hide(); - $('#contacts_list_view').hide(); - $('#new_contact_view').hide(); - $('#profile_view').hide(); - $('.drag_handle_left').hide(); - $('#videos_list').hide(); - $('#links_list').hide(); - $('#photos_list').hide(); - - $('#recents').hide('slow'); - $('#favorite').hide('slow'); - $('#family').hide('slow'); - $('#new_chat').hide('slow'); - - $('#files_list').fadeIn(750, function () { - $(this).addClass('lookAtMe'); - }); - - const vw = (100 / $(document).width()); - - const chat_width = `${(t.settings.vw * $('#chat').width()) - t.settings.panels_options.files_list.width}vw`; - $('#chat').css('width', chat_width); - - const panel_width = t.settings.panels_options.files_list.width; - const padding_chat_wrapper = `0vw ${(15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))}vw`; - $('.chat_wrapper').css('padding', padding_chat_wrapper); - } else { - $('#files_list').hide(); - } - }); - - $('#links').click(() => { - $('#chat').css('width', ''); - $('#tool_bar').css('width', ''); - $('.chat_wrapper').css('padding', ''); - const links_is_hidden = $('#links_list').is(':hidden'); - if (links_is_hidden) { - $('#logo_wrap').hide(); - - $('#chats_list').hide(); - $('#contacts_list_view').hide(); - $('#new_contact_view').hide(); - $('#profile_view').hide(); - $('.drag_handle_left').hide(); - $('#files_list').hide(); - $('#videos_list').hide(); - $('#photos_list').hide(); - - $('#recents').hide('slow'); - $('#favorite').hide('slow'); - $('#family').hide('slow'); - $('#new_chat').hide('slow'); - - $('#links_list').fadeIn(750, function () { - $(this).addClass('lookAtMe'); - }); - - const vw = (100 / $(document).width()); - - const chat_width = `${(t.settings.vw * $('#chat').width()) - t.settings.panels_options.links_list.width}vw`; - $('#chat').css('width', chat_width); - - const panel_width = t.settings.panels_options.links_list.width; - const padding_chat_wrapper = `0vw ${(15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))}vw`; - $('.chat_wrapper').css('padding', padding_chat_wrapper); - } else { - $('#links_list').hide(); - } - }); - - $('#photos').click(() => { - const photos_is_hidden = $('#photos_list').is(':hidden'); - $('#chat').css('width', ''); - $('#tool_bar').css('width', ''); - $('.chat_wrapper').css('padding', ''); - if (photos_is_hidden) { - $('#logo_wrap').hide(); - - $('#chats_list').hide(); - $('#contacts_list_view').hide(); - $('#new_contact_view').hide(); - $('#profile_view').hide(); - $('.drag_handle_left').hide(); - $('#videos_list').hide(); - $('#files_list').hide(); - $('#links_list').hide(); - - $('#recents').hide('slow'); - $('#favorite').hide('slow'); - $('#family').hide('slow'); - $('#new_chat').hide('slow'); - - $('#photos_list').fadeIn(750, function () { - $(this).addClass('lookAtMe'); - }); - - const vw = (100 / $(document).width()); - - const chat_width = `${(t.settings.vw * $('#chat').width()) - t.settings.panels_options.photos_list.width}vw`; - $('#chat').css('width', chat_width); - - const panel_width = t.settings.panels_options.photos_list.width; - const padding_chat_wrapper = `0vw ${(15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))}vw`; - $('.chat_wrapper').css('padding', padding_chat_wrapper); - } else { - $('#photos_list').hide(); - } - }); - - $('.chat_contact').click(function () { - const show_chat = $(this).data('id'); - t.settings.chats[t.settings.active_chat].status = 'hidden'; - t.settings.chats[show_chat].status = 'active'; - t.settings.active_chat = show_chat; - - // $('#chat_view').html(t.renderChat(show_chat)); - - // $('.chat_wrapper .view_active').removeClass('view_active').addClass('hidden'); - // $('.chat_wrapper #' + $(this).attr('id') + '_view').removeClass('hidden').addClass('view_active'); - // t.checkChats(); - }); - - /* - $('#send_message').click(function () { - t.sendTextInInput(); - }); - */ - - $('#favorite').click(() => { - console.log('You clicked a favorite!'); - }); - - $('#family').click(() => { - console.log('You clicked a family!'); - }); - - $('#work').click(() => { - console.log('You clicked a work!'); - }); - - $('#new_chat').click(() => { - console.log('You clicked a new_chat!'); - $('#contacts').click(); - }); - - $('#group').click(() => { - console.log('You clicked a group!'); - }); - - $('#calls').click(() => { - console.log('You clicked a calls!'); - }); - - $('#settings').click(() => { - console.log('You clicked a settings!'); - }); - - /* - $('#storage').click(function () { - console.log("You clicked a storage!"); - - var hidden = $('#photos').is(':hidden'); - - if (hidden) { - - $('#photos').slideDown('slow'); - $('#videos').slideDown('slow'); - $('#links').slideDown('slow'); - $('#files').slideDown('slow'); - - } else { - - $('#photos').slideUp('slow'); - $('#videos').slideUp('slow'); - $('#links').slideUp('slow'); - $('#files').slideUp('slow'); - - } - }); - - $('#voice_call').click(function () { - console.log("You clicked a voice_call!"); - }); - - $('#video_call').click(function () { - console.log("You clicked a video_call!"); - }); - - $('#from_pc').click(function () { - console.log("You clicked a from_pc!"); - }); - - $('#location').click(function () { - console.log("You clicked a location!"); - }); - - $('#events').click(function () { - console.log("You clicked a events!"); - }); - */ - - $('#right_bar_arrow_up').click(() => { - console.log('You clicked a right_bar_arrow2!'); - }); - - $('#right_bar_arrow_down').click(() => { - console.log('You clicked a right_bar_arrow2!'); - }); - - $('.right_sidebar').scroll((e) => { - /* var elem = $(e.currentTarget); - console.log( elem.outerHeight() + "------1" ); - console.log( elem[0].scrollHeight + "------2" ); - console.log( elem.scrollTop() + "------3" ); - console.log( elem[0].scrollHeight + elem.scrollTop() + "------4" ); - if (parseInt(elem[0].scrollHeight - elem.scrollTop()) == parseInt(elem.outerHeight())) - { - $('#right_bar_arrow_up').show(); - $('#overlay_top').show(); - $('#right_bar_arrow_down').hide(); - $('#overlay_bottom').hide(); - - } else if(parseInt(elem.scrollTop()) == 0){ - $('#right_bar_arrow_up').hide(); - $('#overlay_top').hide(); - $('#right_bar_arrow_down').show(); - $('#overlay_bottom').show(); - } */ - }); - - $(el.telInput).on('countrychange', (e, countryData) => { - $(el.addressDropdown).val(countryData.iso2); - $(el.codeInput).val(`+${countryData.dialCode}`); - $(el.telRealInput).focus(); - }); - $(el.addressDropdown).on('change', function () { - $(el.telInput).intlTelInput('setCountry', $(this).val()); - }); - $(el.telRealInput).on('keyup', function () { - if ($(this).val().length > t.settings.minNumberDigits) { - $(el.sendCodeBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.sendCodeBtn).addClass('disabled').prop('disabled', true); - } - }); - $(el.verify).on('keyup', function () { - if ($(this).val().length > t.settings.minCodeDigits) { - $(el.sendVerifyBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.sendVerifyBtn).addClass('disabled').prop('disabled', true); - } - }); - $(`${el.first_name},${el.last_name}`).on('keyup', () => { - if ($(el.first_name).val().length && $(el.last_name).val().length) { - $(el.doneBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.doneBtn).addClass('disabled').prop('disabled', true); - } - }); - }, - initChat() { - t.settings.chat_types[0] = 'chat'; - t.settings.chat_types[1] = 'group_chat'; - t.settings.message_statuses[0] = 'sent'; - t.settings.message_statuses[1] = 'not sent'; - t.settings.message_statuses[2] = 'viewed'; - t.settings.message_statuses[3] = 'not viewed'; - - t.settings.contacts[0] = { - name: 'David Mickelson', - image: 'sender_image' - }; - t.settings.contacts[1] = { - name: 'David Mickelson', - image: 'sender_image' - }; - - const messages_0 = []; - const contacts_0 = []; - const messages_1 = []; - const contacts_1 = []; - const messages_2 = []; - const contacts_2 = []; - - - contacts_0[0] = { - id: 0 - }; - /* contacts_0[1] = { - id: 1 - }; */ - - messages_1[0] = { - type: 'send', - text: 'There are many variations of passages of Lorem Ipsum available, ' + - 'but the majority have suffered alteration in some form, by injected humour. ' + - "or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, " + - "you need to be sure there isn't anything embarrassing hidden in the middle of text", - time: '10:00pm', - status: 0 - }; - - messages_1[1] = { - type: 'received', - image: 'sender_image_0', - from: 'David Mickelson', - from_id: 0, - text: 'There are many variations of passages of Lorem Ipsum available, ' + - 'but the majority have suffered alteration in some form, by injected humour. ' + - "or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, " + - "you need to be sure there isn't anything embarrassing hidden in the middle of text", - time: '10:01pm', - status: 3 - }; - - contacts_1[0] = { - id: 1 - }; - - messages_2[0] = { - type: 'send', - text: 'There are many variations of passages of Lorem Ipsum available, ' + - 'but the majority have suffered alteration in some form, by injected humour. ', - time: '10:10pm', - status: 0 - }; - messages_2[1] = { - type: 'received', - image: 'sender_image_1', - from: 'Mary', - from_id: 1, - text: 'There are many variations of passages of Lorem Ipsum available, ' + - 'but the majority have suffered alteration in some form, by injected humour. ', - time: '10:11pm', - status: 3 - }; - - contacts_2[0] = { - id: 2 - }; - - t.settings.chats[0] = - { - type: 1, - status: 'hidden', - contacts: contacts_0, - messages: [] - }; - - t.settings.chats[1] = - { - type: 0, - status: 'active', - contacts: contacts_1, - messages: messages_1 - }; - t.settings.chats[2] = - { - type: 0, - status: 'hidden', - contacts: contacts_2, - messages: messages_2 - }; - - $.each(t.settings.chats, (index, value) => { - if (value.status == 'active') { - const chat_html = t.renderChat(index); - // $('#chat_view').html(chat_html); - } - }); - }, - checkChats() { - $.each(t.settings.chats, (index, value) => { - if (value.status == 'active') { - // var chat_html = t.renderChat(index); - // $('#chat_view').html(chat_html); - $.each(value.messages, (i, msg) => { - if (msg.type == 'received') { - msg.status = 2; - } - }); - // notifications_number - $(`#chats_list #chat_${index} .notifications_number`).text('').hide(); - } else if (value.status == 'hidden') { - let not_viewed_msgs = 0; - $.each(value.messages, (i, msg) => { - if (msg.type == 'received' && msg.status == 3) { - not_viewed_msgs++; - } - }); - if (not_viewed_msgs > 0) { - $(`#chats_list #chat_${index} .notifications_number`).text(not_viewed_msgs).show(); - } - } - }); - }, - renderChat(id) { - const chat_html = ''; - $.each(t.settings.chats[id].messages, (index, value) => { - if (value.type == 'send') { - var msg = { - text: value.text, - time: value.time - }; - // chat_html += ChatAreaWidget.renderSentMessage(msg); - } else if (value.type == 'received') { - var msg = { - text: value.text, - image: value.image, - from: value.from, - time: value.time - }; - // chat_html += ChatAreaWidget.renderReceivedMessage(msg); - } - }); - return chat_html; - }, - getTime() { - const date = new Date(); - let hours = date.getHours(); - let minutes = date.getMinutes(); - const ampm = hours >= 12 ? 'pm' : 'am'; - hours %= 12; - hours = hours || 12; // the hour '0' should be '12' - minutes = minutes < 10 ? `0${minutes}` : minutes; - const strTime = `${hours}:${minutes} ${ampm}`; - return strTime; - }, - refresh(res) { - const el = ProfileViewWidget.elements; - if (Array.isArray(res)) { - const rosterId = GlobalWidget.getRosterId() || 0; - const userName = res.rosters[rosterId].names; - // DashboardWidget.settings.profile should be array? - DashboardWidget.settings.profile = res; - $(el.firstName).val(userName); - $(el.lastName).val(res.rosters[rosterId].surnames); - document.title = DashboardWidget.settings.titleTemplate + userName; - } - }, - incomingMessage(msg) { - $.each(t.settings.chats, (index, value) => { - let right_chat = false; - $.each(value.contacts, (i, contact) => { - console.log(contact); - if (contact.id == msg.from_id) { - console.log(index); - right_chat = true; - } - }); - if (right_chat) { - if (value.status == 'active') { - msg.status = 2; - $('#chat_view').append(t.renderReceivedMessage(msg)); - } else if (value.status == 'hidden') { - msg.status = 3; - } - value.messages.push(msg); - } - }); - t.checkChats(); - }, - initCodePhone() { - $(el.telInput).intlTelInput({ - allowDropdown: false, - initialCountry: 'auto', - geoIpLookup() { - $.get(t.settings.geoIpService, () => { - }, 'jsonp').always((resp) => { - const countryCode = (resp && resp.country_code) ? resp.country_code : ''; - $(el.telInput).intlTelInput('setCountry', countryCode.toLowerCase()); - }); - }, - utilsScript: '../../build/js/utils.js' - }); - }, - initCountry() { - el.countryData = $.fn.intlTelInput.getCountryData(); - $.each(el.countryData, (i, country) => { - $(el.addressDropdown).append($('').attr('value', country.iso2).text(country.name)); - }); - - $(el.addressDropdown).val($(el.telInput).intlTelInput('getSelectedCountryData').iso2); - }, - initElementMasks() { - $(el.codeInput).mask('+0000', { placeholder: '+----' }); - $(el.telRealInput).mask('00 0000 0000', { placeholder: '-- ---- ----' }); - $(el.verify).mask('000 000', { placeholder: '--- ---' }); - }, - initRecording() { - document.getElementById('recording').onmousedown = function (e) { - recorder && recorder.record(); - t.__log('Recording...'); - }; - document.getElementById('recording').onmouseup = function (e) { - recorder && recorder.stop(); - t.__log('Stopped recording.'); - // create WAV download link using audio data blob - t.createDownloadLink(); - recorder.clear(); - }; - }, - __log(e, data) { - console.log(`\n${e} ${data || ''}`); - }, - startUserMedia(stream) { - const input = audio_context.createMediaStreamSource(stream); - t.__log('Media stream created.'); - - // Uncomment if you want the audio to feedback directly - // input.connect(audio_context.destination); - // __log('Input connected to audio context destination.'); - - recorder = new Recorder(input); - t.__log('Recorder initialised.'); - }, - createDownloadLink() { - recorder && recorder.exportWAV((blob) => { - const url = URL.createObjectURL(blob); - const div_bubble = document.createElement('div'); - const div_text = document.createElement('div'); - const div_time = document.createElement('div'); - const time = t.getTime(); - div_bubble.setAttribute('class', 'text_send'); - div_text.setAttribute('class', 'text_bubble_send'); - div_time.setAttribute('class', 'time_chat'); - div_time.innerHTML = time; - const au = document.createElement('audio'); - const hf = document.createElement('a'); - au.controls = true; - au.src = url; - hf.href = url; - hf.download = `${new Date().toISOString()}.wav`; - hf.innerHTML = hf.download; - div_text.appendChild(div_bubble); - div_bubble.appendChild(au); - div_bubble.appendChild(div_time); - // li.appendChild(hf); - document.getElementById('chat_view').appendChild(div_text); - }); - }, - initRecordLog() { - window.onload = function init() { - try { - // webkit shim - window.AudioContext = window.AudioContext || window.webkitAudioContext; - navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia; - window.URL = window.URL || window.webkitURL; - - audio_context = new AudioContext(); - t.__log('Audio context set up.'); - t.__log(`navigator.getUserMedia ${navigator.getUserMedia ? 'available.' : 'not present!'}`); - } catch (e) { - alert('No web audio support in this browser!'); - } - - // navigator.getUserMedia({audio: true}, t.startUserMedia, function (e) { - // t.__log('No live audio input: ' + e); - // }); - }; - } - }; - DashboardWidget.init(); - - /** - * ChatArea Widget - * @type {{elements: {chatView: string, chatPanel: string}, activePhoneId: null, init: init, subscribe: subscribe, bindUIActions: bindUIActions, showChat: showChat, hideChat: hideChat, setTopic: setTopic, getHistory: getHistory}} - */ - ChatAreaWidget = { - elements: { - chatView: '#chat_view', - chatPanel: '#chatPanel', - textInput: '#text_input', - sendMessageBtn: '#send_message' - }, - settings: { - activeChat: { - name: null, - online: 0, - offline: 0, - from: { - names: null, - surnames: null, - phone: null, - phone_id: null - }, - to: { - names: null, - surnames: null, - phone: null, - phone_id: null - }, - chatType: null - }, - historySize: -100 - }, - init() { - this.subscribe(); - this.bindUIActions(); - }, - subscribe() { - GlobalWidget.subscribe('history.get', ChatAreaWidget, this.historyRefresh); - GlobalWidget.subscribe('message.sent', ChatAreaWidget, this.messageSent); - }, - bindUIActions() { - const el = this.elements; - - $(el.textInput).keypress((e) => { - const keycode = (e.keyCode ? e.keyCode : e.which); - if (keycode == '13') { - ChatAreaWidget.sendMessage(); - } - }); - - $(el.sendMessageBtn).on('click', this.sendMessage); - - $(document).ready(() => { - /* Example of sending to middle backend */ - // ws.send(enc(tuple(atom('direct'), tuple(atom('page'), atom('dashboard'))))); - }); - }, - showChat() { - const el = this.elements; - - this.setTopic(); - this.getHistory(); - $(`${el.chatView}, ${el.chatPanel}`).removeClass('hidden'); - }, - hideChat() { - const el = this.elements; - }, - setTopic() { - let topicName = 'undefined', - topicId; - - switch (this.settings.activeChat.chatType) { - case 'p2p': - var from_p = this.settings.activeChat.from.phone_id, - from_f = this.settings.activeChat.from.names, - from_l = this.settings.activeChat.from.surnames, - to_p = this.settings.activeChat.to.phone_id, - to_f = this.settings.activeChat.to.names, - to_l = this.settings.activeChat.to.surnames; - - topicName = `${from_f} ${from_l}, ${to_f} ${to_l}`; - topicId = `${from_p}-${to_p}`; - - this.settings.activeChat.name = topicName; - - ChatListWidget.addToChatList({ topicId, topicName, time: GlobalWidget.convertUnixTime(Date.now()) }); - break; - } - - $('#tool_bar .topic .topic_name').html(topicName); - $('#tool_bar .topic').removeClass('hidden'); - }, - getHistory() { - const s = this.settings; - - switch (this.settings.activeChat.chatType) { - case 'p2p': - var msg = enc(encHistory({ - roster_id: s.activeChat.from.phone_id, - feed: { - tup: 'p2p', - from: s.activeChat.from.phone_id, - to: s.activeChat.to.phone_id - }, - size: s.historySize, - entity_id: 0, - status: 'get' - })); - ws.send(msg); - break; - } - }, - historyRefresh(res) { - let el = ChatAreaWidget.elements, - s = ChatAreaWidget.settings; - let msg_html = ''; - $(el.chatView).html(msg_html); - - if (Array.isArray(res.data)) { - res.data.forEach((message, i) => { - if (message.files[0]) { - const msg = { - id: message.id, - from: message.from, - to: message.to, - text: message.files[0].payload, - time: message.created, - mime: message.files[0].mime, - status: message.status - }; - - if (msg.from == s.activeChat.from.phone_id) { - msg_html += ChatAreaWidget.renderSentMessage(msg); - } else { - msg_html += ChatAreaWidget.renderReceivedMessage(msg); - } - } - }); - } - - $(el.chatView).append(msg_html); - $(el.chatView).scrollTop($(el.chatView)[0].scrollHeight); - }, - sendMessage() { - let el = this.elements, - s = this.settings; - - // text message - const text = $(el.textInput).val(); - - if (text) { - const msg = enc(encMessage({ - container: 'chain', - feed_id: { - tup: 'p2p', - from: s.activeChat.from.phone_id, - to: s.activeChat.to.phone_id - }, - from: s.activeChat.from.phone_id, - to: s.activeChat.to.phone_id, - files: [{ - tup: 'Desc', - mime: 'text', - payload: text, - size: text.length - }], - status: 'client' - })); - ws.send(msg); - } - }, - messageSent(message) { - let el = ChatAreaWidget.elements, - s = ChatAreaWidget.settings, - msg_html = '', - msg = { - id: message.id, - from: message.from, - to: message.to, - text: message.files[0].payload, - time: message.created, - mime: message.files[0].mime, - status: message.status - }; - - // @TODO: store in some local storage for cache - if (message.from == s.activeChat.from.phone_id) { - msg_html = ChatAreaWidget.renderSentMessage(msg); - $(el.textInput).val(''); - } else { - let from = ContactsWidget.getNameByPhoneID(msg.from), - m = `${from}: ${msg.text}`; - GlobalWidget.sucsessMsg(m); - msg_html = ChatAreaWidget.renderReceivedMessage(msg); - } - - $(el.chatView).append(msg_html).scrollTop($(el.chatView)[0].scrollHeight); - }, - renderSentMessage(msg) { - return `
    ` + - `
    ${msg.text - }
    ${GlobalWidget.convertUnixTime(msg.time)}
    ` + - '
    '; - }, - renderReceivedMessage(msg) { - return `
    ` + - `
    ${ContactsWidget.getNameByPhoneID(msg.from)}
    ${ - msg.text - }
    ` + - `
    ${GlobalWidget.convertUnixTime(msg.time)}
    ` + - '
    '; - } - }; - ChatAreaWidget.init(); - - /** - * ChatList Widget - * @type {{init: init}} - */ - ChatListWidget = { - elements: { - chats: '#chats', - contacts: '#recents', - listScrollWrapper: '#chats_list_scroll_wrapper', - listScroll: '#chats_list_scroll' - }, - init() { - this.subscribe(); - this.bindUIActions(); - }, - subscribe() { - - }, - bindUIActions() { - const el = ChatListWidget.elements; - - $(el.chats).on('click', () => { - // @TODO: need to refactoring this sheet - const hidden = $('#recents').is(':hidden'); - - if (hidden) { - $('#chats').addClass('active selected'); - $('#recents').slideDown('slow'); - $('#favorite').slideDown('slow'); - $('#family').slideDown('slow'); - $('#work').slideDown('slow'); - $('#new_chat').slideDown('slow'); - - // $('#recents').show('slow'); - // $('#favorite').show('slow'); - // $('#family').show('slow'); - // /$('#work').show('slow'); - // $('#new_chat').show('slow'); - } else { - $('#chats').removeClass('active selected'); - $('#recents').slideUp('slow'); - $('#favorite').slideUp('slow'); - $('#family').slideUp('slow'); - $('#work').slideUp('slow'); - $('#new_chat').slideUp('slow'); - } - }); - - $(el.contacts).on('click', () => { - // @TODO: need to refactoring this sheet - const chats_is_hidden = $('#chats_list').is(':hidden'); - $('#tool_bar').css('width', ''); - $('#chat').css('width', ''); - $('.chat_wrapper').css('padding', ''); - if (chats_is_hidden) { - $('#logo_wrap').fadeIn(750, function () { - $(this).addClass('lookAtMe'); - }); - - const tool_bar_width = `${(DashboardWidget.settings.vw * $('#tool_bar').width()) - DashboardWidget.settings.panels_options.chats_list.width}vw`; - $('#tool_bar').css('width', tool_bar_width); - - $('#contacts_list_view, #new_contact_view, #profile_view, #videos_list, #files_list, #photos_list, #links_list, #contact_requests_view').hide(); - - $('#chats_list, .drag_handle_left').fadeIn(750, function () { - $(this).addClass('lookAtMe'); - }); - - const vw = (100 / $(document).width()); - const chat_width = `${(DashboardWidget.settings.vw * $('#chat').width()) - DashboardWidget.settings.panels_options.chats_list.width}vw`; - $('#chat').css('width', chat_width); - - const panel_width = t.settings.panels_options.chats_list.width; - $('#logo_wrap').css('width', `${panel_width}vw`); - - const padding_chat_wrapper = `0vw ${(15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))}vw`; - $('.chat_wrapper').css('padding', padding_chat_wrapper); - - ChatListWidget.refreshList(); - } else { - $('#logo_wrap, #chats_list, .drag_handle_left').hide(); - } - }); - }, - getChatList() { - const current = localStorage.getItem('chatList') || []; - - return (current.length) ? JSON.parse(current) : []; - }, - addToChatList(chat) { - let current = ChatListWidget.getChatList(), - exists = false; - - // @TODO: refactor this exp - if (Array.isArray(current)) { - current.forEach((value) => { - if (value.topicId == chat.topicId) { - exists = true; - } - }); - - if (!exists) { - current.push(chat); - localStorage.setItem('chatList', JSON.stringify(current)); - } - } - }, - refreshList() { - let el = ChatListWidget.elements, - s = ChatListWidget.settings, - chatList = ChatListWidget.getChatList(); - - $(el.listScroll).html(''); - - if (Array.isArray(chatList)) { - $.each(chatList, (ind, chat) => { - $(el.listScroll).append(ChatListWidget.itemView(chat)); - - // @TODO: !!! remove handlers events in loop!!! - $(`${el.listScroll} ` + ` .chat_${chat.topicId}`).on('click', () => { - $(`.contact_chat_${chat.topicId}`).click(); - }); - }); - } - }, - itemView(chat) { - let item = ''; - - item += `
    \n` + - '
    \n' + - '
    \n' + - '
    \n' + - '
    \n' + - '
    \n' + - `
    ${chat.topicName}
    \n` + - ' \n' + - '
    \n' + - '
    \n' + - '
    \n' + - '
    \n' + - ' \n' + - `
    ${chat.time}
    \n` + - '
    \n' + - '
    \n' + - ' \n' + - '
    '; - - return item; - } - }; - ChatListWidget.init(); - - /** - * Profile Widget - * @type {{settings: {profileView: string, logoutBtn: string}, init: init, update: update}} - */ - ProfileViewWidget = { - elements: { - profileImg: '#profile_img', - firstName: '#first_name', - lastName: '#last_name', - userName: '#user_name', - phoneNumber: '#phone_number', - profileView: '#profile_view', - editBtn: '#editBtn', - logoutBtn: '#logoutBtn' - }, - settings: { - profile: {} - }, - init() { - this.subscribe(); - this.bindUIActions(); - }, - subscribe() { - GlobalWidget.subscribe('profile.get', GlobalWidget, this.refresh); - GlobalWidget.subscribe('io.error.nick_taken', GlobalWidget, this.errorNickTaken); - GlobalWidget.subscribe('roster.patch', this, this.profileUpdated); - GlobalWidget.subscribe('io.ok.logout', this, this.logout); - }, - bindUIActions() { - let t = ProfileViewWidget, - el = t.elements; - - $(el.profileImg).on('click', () => { - // @TODO: need to refactoring this sheet - const hidden = $('#profile_view').is(':hidden'); - $('#tool_bar').css('width', ''); - $('#chat').css('width', ''); - $('.chat_wrapper').css('padding', ''); - - if (hidden) { - $('#logo_wrap').fadeIn(750, function () { - $(this).addClass('lookAtMe'); - }); - - const tool_bar_width = `${(DashboardWidget.settings.vw * $('#tool_bar').width()) - DashboardWidget.settings.panels_options.profile_view.width}vw`; - $('#tool_bar').css('width', tool_bar_width); - - $('#chats_list, #contacts_list_view, #new_contact_view, #videos_list, #files_list, #photos_list, #links_list, #contact_requests_view').hide(); - - - $('#profile_view, .drag_handle_left').fadeIn(750, function () { - $(this).addClass('lookAtMe'); - }); - - const vw = (100 / $(document).width()); - - const chat_width = `${(DashboardWidget.settings.vw * $('#chat').width()) - DashboardWidget.settings.panels_options.profile_view.width}vw`; - $('#chat').css('width', chat_width); - - const panel_width = DashboardWidget.settings.panels_options.profile_view.width; - $('#logo_wrap').css('width', `${panel_width}vw`); - - const padding_chat_wrapper = `0vw ${(15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))}vw`; - console.log(padding_chat_wrapper); - $('.chat_wrapper').css('padding', padding_chat_wrapper); - } else { - $('#logo_wrap, #profile_view, .drag_handle_left').hide(); - } - }); - $(el.logoutBtn).on('click', () => { - const msg = enc(encAuth({ type: 'logout' })); - ws.send(msg); - }); - $(el.editBtn).on('click', () => { - let f = $(el.firstName).val(), - l = $(el.lastName).val(), - un = $(el.userName).val(); - - if (t.profileUpdateValidation(f, l, un)) { - const mes = { - id: GlobalWidget.getRosterId(), - names: f, - surnames: l, - status: 'patch' - }; - - if (typeof un !== 'undefined' && un != t.settings.profile.rosters[GlobalWidget.getRosterIndex()].nick) { - mes.nick = un; - } - - const msg = enc(encRoster(mes)); - ws.send(msg); - } - }); - }, - profileGet() { - const msg = enc(encProfile({ phone: GlobalWidget.getPhoneNumber(), status: 'get' })); - ws.send(msg); - }, - profileUpdated() { - const msg = GlobalWidget.messages(1100); - GlobalWidget.sucsessMsg(msg); - }, - profileUpdateValidation(firstName, lastName, userName) { - try { - if (!firstName.length) { - throw new Error(GlobalWidget.messages(1101)); - } - if (userName.length > 0 && userName.length < 2) { - throw new Error(GlobalWidget.messages(1103)); - } - - const pattern = /^([a-zA-Z0-9_-]{2,})$/; - if (userName && !pattern.test(userName)) { - throw new Error(GlobalWidget.messages(1104)); - } - } catch (err) { - GlobalWidget.warningMsg(err.message); - return; - } - return true; - }, - errorNickTaken() { - GlobalWidget.warningMsg(GlobalWidget.messages(1102)); - }, - refresh(res) { - let el = ProfileViewWidget.elements, - s = ProfileViewWidget.settings, - rosInd = GlobalWidget.getRosterIndex(); - - s.profile = res; - - $(el.firstName).val(res.rosters[rosInd].names); - $(el.lastName).val(res.rosters[rosInd].surnames); - $(el.userName).val(res.rosters[rosInd].nick); - $(el.phoneNumber).val(res.phone); - }, - logout() { - // @TODO: need to clean needed data - const chatList = localStorage.getItem('chatList'); - - localStorage.clear(); - localStorage.setItem('chatList', chatList); - - location.replace('/web/welcome.htm'); - } - }; - ProfileViewWidget.init(); - - /** - * Contacts - * @type {{elements: {chats: string, contacts: string, newContact: string, contactsList: string, contactRequest: string}, init: init, subscribe: subscribe, bindUIActions: bindUIActions}} - */ - ContactsWidget = { - elements: { - contacts: '#contacts', - newContact: '#new_contact', - contactsList: '#contacts_list', - contactRequest: '#contact_request', - contactsListScroll: '#contacts_list_scroll', - chatContactItem: '.chat_contact' - }, - settings: { - contacts: [] - }, - init() { - this.subscribe(); - this.bindUIActions(); - }, - subscribe() { - GlobalWidget.subscribe('profile.get', GlobalWidget, this.refreshList); - GlobalWidget.subscribe('contact.internal', GlobalWidget, this.contactInternal); - }, - bindUIActions() { - const el = ContactsWidget.elements; - - $(el.contacts).on('click', () => { - if ($(el.newContact).is(':hidden')) { - $(el.contacts).addClass('active selected'); - $(`${el.contactRequest},${el.newContact}`).removeClass('hidden').slideDown('slow'); - } else { - $(el.newContact).removeClass('active selected'); - $(el.contactRequest, el.newContact).addClass('hidden').slideUp('slow'); - } - - // @TODO: need to refactoring the code below - const hidden = $('#contacts_list_view').is(':hidden'); - $('#tool_bar').css('width', ''); - $('#chat').css('width', ''); - $('.chat_wrapper').css('padding', ''); - - if (hidden) { - $('#logo_wrap').fadeIn(750, function () { - $(this).addClass('lookAtMe'); - }); - - const tool_bar_width = `${(DashboardWidget.settings.vw * $('#tool_bar').width()) - DashboardWidget.settings.panels_options.contacts_list_view.width}vw`; - $('#tool_bar').css('width', tool_bar_width); - - $('#chats_list, #new_contact_view, #profile_view, #videos_list, #files_list, #photos_list, #links_list, #contact_requests_view').hide(); - - $('#contacts_list_view').fadeIn(750, function () { - $(this).addClass('lookAtMe'); - }); - - $('.drag_handle_left').fadeIn(750, function () { - $(this).addClass('lookAtMe'); - }); - - const vw = (100 / $(document).width()); - - const chat_width = `${(DashboardWidget.settings.vw * $('#chat').width()) - DashboardWidget.settings.panels_options.contacts_list_view.width}vw`; - $('#chat').css('width', chat_width); - - const panel_width = DashboardWidget.settings.panels_options.contacts_list_view.width; - $('#logo_wrap').css('width', `${panel_width}vw`); - - const padding_chat_wrapper = `0vw ${(15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))}vw`; - $('.chat_wrapper').css('padding', padding_chat_wrapper); - } else { - $('#logo_wrap, #chats_list, #contacts_list_view, .drag_handle_left').hide(); - } - }); - }, - contactInternal(res) { - const el = ContactsWidget.elements; - if (typeof res.presence !== 'undefined') { - $(`${el.contactsListScroll} .contact_${res.phone_id} div.presence`).html(res.presence); - } - }, - refreshList(res) { - let el = ContactsWidget.elements, - s = ContactsWidget.settings, - rosInd = GlobalWidget.getRosterIndex(), - userlist = res.rosters[rosInd].userlist; - - $(el.contactsListScroll).html(''); - - $.each(userlist, (ind, contact) => { - if (contact.status == 'friend') { - s.contacts[contact.phone_id] = contact; - - $(el.contactsListScroll).append(ContactsWidget.itemView(contact)); - - // @TODO: !!! remove handlers events in loop!!! - $(`${el.contactsListScroll} ` + ` .contact_${contact.phone_id}`).on('click', function () { - // @TODO: move to separate function - // p2p chat - ChatAreaWidget.settings.activeChat = { - from: { - names: ProfileViewWidget.settings.profile.rosters[GlobalWidget.getRosterIndex()].names, - surnames: ProfileViewWidget.settings.profile.rosters[GlobalWidget.getRosterIndex()].surnames, - phone: GlobalWidget.getPhoneNumber(), - phone_id: GlobalWidget.getPhoneNumberId() - }, - to: { - names: $(this).data('names'), - surnames: $(this).data('surnames'), - phone: $(this).data('phone'), - phone_id: $(this).data('phone-id'), - reader: $(this).data('reader') - }, - chatType: 'p2p' - }; - - ChatAreaWidget.showChat(); - }); - } - }); - }, - itemView(contact) { - let item = '', - presence = (typeof contact.presence !== 'undefined') ? contact.presence : '', - names = (typeof contact.names !== 'undefined') ? contact.names : '', - surnames = (typeof contact.surnames !== 'undefined') ? contact.surnames : ''; - - const op = `
    ${presence}
    `; - - item = `
    \n` + - '
    \n' + - '
    \n' + - '
    \n' + - '
    \n' + - '
    \n' + - `
    ${names} ${surnames}
    \n` + - `
    +${GlobalWidget.cleanPhone(contact.phone_id)}
    \n` + - '
    \n' + - `
    ${op}
    \n` + - '
    \n' + - ' \n' + - '
    '; - - return item; - }, - getNameByPhoneID(phoneId) { - const s = ContactsWidget.settings; - - if (typeof s.contacts[phoneId] !== 'undefined') { - return `${s.contacts[phoneId].names} ${s.contacts[phoneId].surnames}`; - } - - return phoneId; - } - }; - ContactsWidget.init(); - - /** - * Contact Request Widget - * @type {{elements: {}, init: init, subscribe: subscribe, bindUIActions: bindUIActions, refreshList: refreshList, itemView: itemView}} - */ - ContactRequestsWidget = { - elements: { - contactRequest: '#contact_request', - contactRequestsScroll: '#contact_requests_scroll', - outcomeFriendRequests: '#outcome_friend_requests', - incomeFriendRequests: '#income_friend_requests', - revokeBtn: 'button.revoke', - confirmBtn: 'button.confirm' - }, - init() { - this.subscribe(); - this.bindUIActions(); - }, - subscribe() { - GlobalWidget.subscribe('profile.get', ContactRequestsWidget, this.refreshList); - GlobalWidget.subscribe('contact.authorization', ContactRequestsWidget, this.requestNotification); - GlobalWidget.subscribe('contact.authorization', ContactRequestsWidget, this.addWatingApprovalContact); - GlobalWidget.subscribe('contact.request', ContactRequestsWidget, this.addWatingApprovalContact); - - // @TODO: add supporting a few handler functions - GlobalWidget.subscribe('contact.friend', ContactRequestsWidget, ProfileViewWidget.profileGet); - }, - bindUIActions() { - const el = ContactRequestsWidget.elements; - - $(el.contactRequest).on('click', () => { - // @TODO: need to refactor the code bellow - $('#chats_list, #new_contact_view, #profile_view, #videos_list, #files_list, #photos_list, #links_list, #contacts_list_view').hide(); - $('#contact_requests_view, .drag_handle_left').fadeIn(750, function () { - $(this).addClass('lookAtMe'); - }); - }); - - $(`${el.contactRequestsScroll} ${el.confirmBtn}`).on('click', function () { - const phone_id = $(this).parent().data('phone-id'); - - // 3a. send Friend/Confirm - const msg = enc(encFriend({ - phone_id: GlobalWidget.getPhoneNumberId(), - friend_id: phone_id, - status: 'confirm' - })); - - ws.send(msg); - }); - - $(`${el.contactRequestsScroll} ${el.revokeBtn}`).on('click', function () { - const phone_id = $(this).parent().data('phone-id'); - - // 3b. send Friend/Revoke - const msg = enc(encFriend({ - phone_id: GlobalWidget.getPhoneNumberId(), - friend_id: phone_id, - status: 'revoke' - })); - - ws.send(msg); - }); - }, - requestNotification(res) { - GlobalWidget.sucsessMsg(`Friend request from ${res.names} ${res.surnames}`); - }, - refreshList(res) { - let el = ContactRequestsWidget.elements, - rosInd = GlobalWidget.getRosterIndex(), - userlist = res.rosters[rosInd].userlist, - request = '', - authorization = ''; - - $.each(userlist, (ind, contact) => { - if (contact.status == 'request') { - request += ContactRequestsWidget.itemView(contact); - } else if (contact.status == 'authorization') { - authorization += ContactRequestsWidget.itemView(contact); - } - }); - - if (request) { - $(el.outcomeFriendRequests).html(''); - $(el.outcomeFriendRequests).append(request); - } else { - $(el.outcomeFriendRequests).html(`

    ${GlobalWidget.t('No Requests')}

    `); - } - - if (authorization) { - $(el.incomeFriendRequests).html(''); - $(el.incomeFriendRequests).append(authorization); - } else { - $(el.incomeFriendRequests).html(`

    ${GlobalWidget.t('No Requests')}

    `); - } - - // @TODO: need to unbind handlers - ContactRequestsWidget.bindUIActions(); - }, - addWatingApprovalContact(res) { - const el = ContactRequestsWidget.elements; - $(el.contactRequest).click(); - - // @TODO: need to optimize in order not to send Profile/get request - ProfileViewWidget.profileGet(); - }, - itemView(contact) { - let item = '', - names = (typeof contact.names !== 'undefined') ? contact.names : GlobalWidget.cleanPhone(contact.phone_id), - surnames = (typeof contact.surnames !== 'undefined') ? contact.surnames : ''; - - const op = (contact.status == 'request') ? 'waiting' : ' '; - - item = `${'
    \n' + - '
    \n' + - '
    \n' + - '
    \n' + - '
    \n' + - '
    \n' + - '
    '}${names} ${surnames}
    \n` + - `
    +${GlobalWidget.cleanPhone(contact.phone_id)}
    \n` + - '
    \n' + - `
    ${op}
    \n` + - '
    \n' + - ' \n' + - '
    '; - return item; - } - }; - ContactRequestsWidget.init(); - - /** - * Add Contact Widget - * @type {{elements: {}, init: init, bindUIActions: bindUIActions}} - */ - AddContactWidget = { - elements: { - newContact: '#new_contact', - newContactView: '#new_contact_view', - code: '#new_contact_view #code', - number: '#new_contact_view #number', - addContactBtn: '#new_contact_view #addContactBtn' - }, - init() { - this.subscribe(); - this.bindUIActions(); - }, - subscribe() { - GlobalWidget.subscribe('io.ok.roster.contact', this, this.friendRequest); - }, - bindUIActions() { - const el = this.elements; - - $(el.newContact).on('click', () => { - // @TODO: need to refactor the code below - const hidden = $('#new_contact_view').is(':hidden'); - - $('#tool_bar').css('width', ''); - $('#chat').css('width', ''); - $('.chat_wrapper').css('padding', ''); - if (hidden) { - $('#logo_wrap').fadeIn(750, function () { - $(this).addClass('lookAtMe'); - }); - - const tool_bar_width = `${(DashboardWidget.settings.vw * $('#tool_bar').width()) - DashboardWidget.settings.panels_options.new_contact_view.width}vw`; - $('#tool_bar').css('width', tool_bar_width); - - $('#chats_list, #contacts_list_view, #profile_view, #videos_list, #files_list, #photos_list, #links_list, #contact_requests_view').hide(); - - $('#new_contact_view, .drag_handle_left').fadeIn(750, function () { - $(this).addClass('lookAtMe'); - }); - - const vw = (100 / $(document).width()); - - const chat_width = `${(DashboardWidget.settings.vw * $('#chat').width()) - DashboardWidget.settings.panels_options.new_contact_view.width}vw`; - $('#chat').css('width', chat_width); - - const panel_width = t.settings.panels_options.new_contact_view.width; - $('#logo_wrap').css('width', `${panel_width}vw`); - - const padding_chat_wrapper = `0vw ${(15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))}vw`; - console.log(padding_chat_wrapper); - $('.chat_wrapper').css('padding', padding_chat_wrapper); - } else { - $('#logo_wrap, #new_contact_view, .drag_handle_left').hide(); - } - }); - - $(el.addContactBtn).on('click', () => { - let code = $(el.code).val().replace('+', ''), - phone = $(el.number).val().split(' ').join(''); - - // 1. search contact for getting friend_id - const msg = enc(encSearch({ - id: GlobalWidget.getRosterId(), - field: 'phone', - type: '==', - value: [code + phone], - status: 'contact' - })); - - ws.send(msg); - }); - }, - friendRequest(res) { - const el = this.elements; - - if ('userlist' in res.data && typeof res.data.userlist[0] !== 'undefined') { - const phone_id = res.data.userlist[0].phone_id; - - // 2. send Friend/Request - const msg = enc(encFriend({ - phone_id: `${GlobalWidget.getPhoneNumber()}_${GlobalWidget.getRosterId()}`, - friend_id: phone_id, - status: 'request' - })); - - ws.send(msg); - - $(ContactRequestsWidget.elements.contactRequest).click(); - } else { - GlobalWidget.errorMsg('Phone was not found.'); - } - } - - }; - AddContactWidget.init(); -}()); diff --git a/src/assets/vendor/utils/global.js b/src/assets/vendor/utils/global.js deleted file mode 100644 index 0ca7332883681298a2215c7117f4c5648d24b1de..0000000000000000000000000000000000000000 --- a/src/assets/vendor/utils/global.js +++ /dev/null @@ -1,133 +0,0 @@ -let GlobalWidget; - -(function () { - let el, - t; - GlobalWidget = { - events: {}, - settings: {}, - init() { - t = this; - el = this.elements; - - // success - // GlobalWidget.subscribe('io.ok.added', this, this.sucsessMsg); - - // errors - GlobalWidget.subscribe('io.ok.error', this, this.errorMsg); - GlobalWidget.subscribe('io.ok2.error', this, this.errorMsg); - GlobalWidget.subscribe('io.error.invalid_sms_code', this, this.errorMsg); - GlobalWidget.subscribe('io.error.session_not_found', this, this.errorMsg); - GlobalWidget.subscribe('io.error.not_authorized', this, this.errorMsg); - GlobalWidget.subscribe('io.error.roster_not_found', this, this.errorMsg); - }, - subscribe(eventName, object, callback) { - this.events[eventName] = this.events[eventName] || []; - this.events[eventName].push({ object, callback }); - }, - unsubscribe(eventName, object, callback) { - if (this.events[eventName]) { - for (let i = 0; i < this.events[eventName].length; i++) { - if (this.events[eventName][i].object === object) { - this.events[eventName].splice(i, 1); - break; - } - } - } - }, - publish(eventName, data) { - if (this.events[eventName]) { - // @TODO: add support a few eventName by commas - this.events[eventName].forEach((instance) => { - instance.callback(data); - }); - } - }, - getRosterId() { - return localStorage.getItem('rosterId'); - }, - setRosterId(res) { - if (typeof res.rosters[0].id !== 'undefined') { - localStorage.setItem('rosterId', res.rosters[0].id); - localStorage.setItem('roster', res.rosters[0]); - localStorage.setItem('rosterIndex', '0'); - - if (location.pathname != '/web/dashboard.htm' && res.rosters[0].status == 'patch') { - location.replace('/web/dashboard.htm'); - } - } - }, - getRosterIndex() { - return localStorage.getItem('rosterIndex'); - }, - setRosterIndex(ind) { - return localStorage.setItem('rosterIndex'); - }, - getPhoneNumber() { - return t.getPhoneCode().replace('+', '') + t.getPhone(); - }, - getPhoneNumberId() { - return `${t.getPhoneCode().replace('+', '') + t.getPhone()}_${t.getRosterId()}`; - }, - setPhoneCode(phoneCode) { - return localStorage.setItem('phoneCode', phoneCode); - }, - getPhoneCode() { - return localStorage.getItem('phoneCode'); - }, - getPhone() { - return localStorage.getItem('phone'); - }, - setPhone(phone) { - return localStorage.setItem('phone', phone); - }, - cleanPhone(phone) { - return phone.substr(0, phone.indexOf('_')); - }, - initNotify() { - Notify.Settings = {}; - }, - errorMsg(res) { - // @TODO: need to refactioring to msg - const msg = (typeof res.code !== 'undefined' && (typeof res.code.code !== 'undefined')) ? res.code.code : res; - Notify.Error(GlobalWidget.t(msg)); - }, - sucsessMsg(msg) { - Notify.Success(GlobalWidget.t(msg)); - }, - warningMsg(msg) { - Notify.Warning(GlobalWidget.t(msg)); - }, - convertUnixTime(unixtime) { - const u = new Date(unixtime); - - return `${u.getFullYear() - }-${(`0${u.getMonth()}`).slice(-2) - }-${(`0${u.getDate()}`).slice(-2) - } ${(`0${u.getHours()}`).slice(-2) - }:${(`0${u.getMinutes()}`).slice(-2) - }:${(`0${u.getSeconds()}`).slice(-2)}`; - }, - t(msg, lang) { - var lang = lang | 'en'; - // @TODO: add translation logic - return msg; - }, - messages(code, placeholders) { - var placeholders = placeholders || []; // @TODO: use in in the future - - // @TODO: move to settings file e.g. JSON - const codes = { - 1100: 'Profile was updated.', - 1101: 'First name is needed so other people know with whom they are talking.', - 1102: 'Sorry, this username is already taken.', - 1103: 'Username should contain at least 2 symbols.', - 1104: 'Sorry, this username is invalid.' - }; - - return (typeof codes[code] !== 'undefined') ? this.t(codes[code]) : this.t('Undefined error'); - } - }; - - GlobalWidget.init(); -}()); diff --git a/src/assets/vendor/utils/handlers.js b/src/assets/vendor/utils/handlers.js deleted file mode 100644 index a7579e62fc339cfef85529f557c4c630be1f8610..0000000000000000000000000000000000000000 --- a/src/assets/vendor/utils/handlers.js +++ /dev/null @@ -1,175 +0,0 @@ -/** - * NYNJA PROTOCOL HANDLERS - */ - -/** - * IO: Exceptions and Effects Protocol - * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/IO.md - */ -const $io = {}; $io.on = function onio(r, cb) { - if (is(r, lenio(), 'io')) { - try { - const res = decio(r); - let e = `io.${res.code.tup}`; - - if (typeof res.code.code !== 'undefined') { - e += `.${res.code.code}`; - } else if (typeof res.data.tup !== 'undefined') { - // console.log(res.data); - if (res.data.tup == 'Roster' && typeof res.data.status !== 'undefined') { - e += `.${res.data.tup.toLowerCase()}.${res.data.status}`; - } - } - GlobalWidget.publish(e, res); - return { status: 'ok' }; - } catch (e) { - console.log(e); - return { status: '' }; - } - } else return { status: '' }; -}; - -/** - * SERVER protocol for getting response from middleware - * @type {{}} - */ -const $server = {}; $server.on = function onserver(r, cb) { - if (is(r, 2, 'server')) { - console.log(r.v[1]); - if (typeof cb === 'function') cb(r); return { status: 'ok' }; - } return { status: '' }; -}; - -/** - * ROSTER: Managing Contact and Chat Lists - * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/ROSTER.md - */ -const $roster = {}; $roster.on = function onroster(r, cb) { - if (is(r, lenRoster(), 'Roster')) { - let res = decRoster(r), - e = `roster.${res.status}`; - - console.log(`Subscribe event: ${e}`); - GlobalWidget.publish(e, res); - - if (typeof cb === 'function') cb(r); return { status: 'ok' }; - } return { status: '' }; -}; - -/** - * PROFILE: Managing Phone Accounts - * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/PROFILE.md - * - * Example: - * {'Profile',<<"380509826188">>, - [{'Service',<<"107644">>,vox, - {'Vox',<<"107644">>,<<"User380509826188-fajz">>, - <<"qrfap5uf">>}, - added}], - [{'Roster',1,[],[],[],[], - [{'Contact',<<"380509826188_1">>,[],[],[],[],[],[],0,[], - 1507034024571,online,friend}], - [],[],[],<<"380509826188">>,[],0,[]}], - [],1507034024571,online,init} - - */ -const $profile = {}; $profile.on = function onprofile(r, cb) { - if (is(r, lenProfile(), 'Profile')) { - let res = decProfile(r), - e = `profile.${res.status}`; - - console.log(`Subscribe event: ${e}`); - // console.log(r); - // console.log(res); - - GlobalWidget.publish(e, res); - - if (typeof cb === 'function') cb(r); return { status: 'ok' }; - } return { status: '' }; -}; - -/** - * PERSON: External Settings - * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/PERSON.md - */ -const $person = {}; $person.on = function onperson(r, cb) { - if (is(r, lenPerson(), 'Person')) { - let res = decPerson(r), - e = `person.${res.status}`; - - console.log(`Subscribe event: ${e}`); - // console.log(r); - // console.log(res); - - GlobalWidget.publish(e, res); - - if (typeof cb === 'function') cb(r); return { status: 'ok' }; - } return { status: '' }; -}; - -/** - * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/ROSTER.md - */ -const $contact = {}; $contact.on = function oncontact(r, cb) { - if (is(r, lenContact(), 'Contact')) { - let res = decContact(r), - e = `contact.${res.status}`; - - console.log(`Subscribe event: ${e}`); - - GlobalWidget.publish(e, res); - - if (typeof cb === 'function') cb(r); return { status: 'ok' }; - } return { status: '' }; -}; - -/** - * Friend - * @type {{}} - */ -const $friend = {}; $friend.on = function onfriend(r, cb) { - if (is(r, lenFriend(), 'Friend')) { - let res = decFriend(r), - e = `friend.${res.status}`; - - console.log(`Subscribe event: ${e}`); - - GlobalWidget.publish(e, res); - - if (typeof cb === 'function') cb(r); return { status: 'ok' }; - } return { status: '' }; -}; - -/** - * MESSAGE: Retrieve History - * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/MESSAGE.md - */ -const $history = {}; $history.on = function onhistory(r, cb) { - if (is(r, lenHistory(), 'History')) { - let res = decHistory(r), - e = `history.${res.status}`; - - console.log(`Subscribe event: ${e}`); - - GlobalWidget.publish(e, res); - - if (typeof cb === 'function') cb(r); return { status: 'ok' }; - } return { status: '' }; -}; - -/** - * MESSAGE: Sending and Receiving Messages - * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/MESSAGE.md - */ -const $message = {}; $message.on = function onmessage(r, cb) { - if (is(r, lenMessage(), 'Message')) { - let res = decMessage(r), - e = `message.${res.status}`; - - console.log(`Subscribe event: ${e}`); - - GlobalWidget.publish(e, res); - - if (typeof cb === 'function') cb(r); return { status: 'ok' }; - } return { status: '' }; -}; diff --git a/src/assets/vendor/utils/json-bert-old.js b/src/assets/vendor/utils/json-bert-old.js deleted file mode 100644 index eb0f12569c22595ed345bd965a410f1d617f2451..0000000000000000000000000000000000000000 --- a/src/assets/vendor/utils/json-bert-old.js +++ /dev/null @@ -1,1169 +0,0 @@ -function clean(r) { for (const k in r) if (!r[k]) delete r[k]; return r; } -function check_len(x) { - try { return (eval(`len${utf8_dec(x.v[0].v)}`)() == x.v.length); } catch (e) { return false; } -} - -function scalar(data) { - let res; - switch (typeof data) { - case 'string': res = bin(data); break; case 'number': res = number(data); break; - default: console.log(`Strange data: ${data}`); - } - return res; -} -function nil() { return { t: 106, v: undefined }; } - -function decode(x) { - if (typeof x === 'undefined') { // @TODO: need to add this condition to generator of models - return x; - } else if (x.t == 108) { - var r = []; x.v.forEach((y) => { r.push(decode(y)); }); return r; - } else if (x.t == 109) { - return utf8_dec(x.v); - } else if (x.t == 104 && check_len(x)) { - return eval(`dec${x.v[0].v}`)(x); - } else if (x.t == 104) { - var r = []; x.v.forEach((a) => { r.push(decode(a)); }); - return Object.assign({ tup: '$' }, r); - } return x.v; -} - -function encode(x) { - if (Array.isArray(x)) { - var r = []; x.forEach((y) => { r.push(encode(y)); }); return { t: 108, v: r }; - } else if (typeof x === 'object') { - switch (x.tup) { - case '$': delete x.tup; var r = []; - Object.keys(x).map(p => x[p]).forEach((a) => { r.push(encode(a)); }); - return { t: 104, v: r }; - default: return eval(`enc${x.tup}`)(x); - } - } else return scalar(x); -} - -function encwriter(d) { - const tup = atom('writer'); - const id = 'id' in d && d.id ? encode(d.id) : nil(); - const count = 'count' in d && d.count ? number(d.count) : nil(); - const cache = 'cache' in d && d.cache ? encode(d.cache) : nil(); - const args = 'args' in d && d.args ? encode(d.args) : nil(); - const first = 'first' in d && d.first ? encode(d.first) : nil(); - return tuple(tup, id, count, cache, args, first); -} - -function lenwriter() { return 6; } -function decwriter(d) { - const r = {}; r.tup = 'writer'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.count = d && d.v[2] ? d.v[2].v : undefined; - r.cache = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; - r.first = d && d.v[5] ? decode(d.v[5].v) : undefined; - return clean(r); -} - -function encreader(d) { - const tup = atom('reader'); - const id = 'id' in d && d.id ? encode(d.id) : nil(); - const pos = 'pos' in d && d.pos ? number(d.pos) : nil(); - const cache = 'cache' in d && d.cache ? number(d.cache) : nil(); - const args = 'args' in d && d.args ? encode(d.args) : nil(); - const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - const dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); - return tuple(tup, id, pos, cache, args, feed, dir); -} - -function lenreader() { return 7; } -function decreader(d) { - const r = {}; r.tup = 'reader'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.pos = d && d.v[2] ? d.v[2].v : undefined; - r.cache = d && d.v[3] ? d.v[3].v : undefined; - r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; - r.feed = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.dir = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); -} - -function enccur(d) { - const tup = atom('cur'); - const id = 'id' in d && d.id ? encode(d.id) : nil(); - const top = 'top' in d && d.top ? number(d.top) : nil(); - const bot = 'bot' in d && d.bot ? number(d.bot) : nil(); - const dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); - const reader = 'reader' in d && d.reader ? encode(d.reader) : nil(); - const writer = 'writer' in d && d.writer ? encode(d.writer) : nil(); - let args = []; if ('args' in d && d.args) { - d.args.forEach((x) => { - args.push(encode(x)); - }); - args = { t: 108, v: args }; - } else { args = nil(); } - return tuple(tup, id, top, bot, dir, reader, writer, args); -} - -function lencur() { return 8; } -function deccur(d) { - const r = {}; r.tup = 'cur'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.bot = d && d.v[3] ? d.v[3].v : undefined; - r.dir = d && d.v[4] ? decode(d.v[4]) : undefined; - r.reader = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.writer = d && d.v[6] ? decode(d.v[6].v) : undefined; - r.args = []; - (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach((x) => { r.args.push(decode(x)); }) : - r.args = undefined; - return clean(r); -} - -function enciter(d) { - const tup = atom('iter'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const container = 'container' in d && d.container ? atom(d.container) : nil(); - const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - const next = 'next' in d && d.next ? number(d.next) : nil(); - const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - return tuple(tup, id, container, feed, next, prev); -} - -function leniter() { return 6; } -function deciter(d) { - const r = {}; r.tup = 'iter'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.next = d && d.v[4] ? d.v[4].v : undefined; - r.prev = d && d.v[5] ? d.v[5].v : undefined; - return clean(r); -} - -function enccontainer(d) { - const tup = atom('container'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const top = 'top' in d && d.top ? number(d.top) : nil(); - const rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - const count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup, id, top, rear, count); -} - -function lencontainer() { return 5; } -function deccontainer(d) { - const r = {}; r.tup = 'container'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); -} - -function enciterator(d) { - const tup = atom('iterator'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const container = 'container' in d && d.container ? atom(d.container) : nil(); - const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - const next = 'next' in d && d.next ? number(d.next) : nil(); - let feeds = []; if ('feeds' in d && d.feeds) { - d.feeds.forEach((x) => { - feeds.push(encode(x)); - }); - feeds = { t: 108, v: feeds }; - } else { feeds = nil(); } - return tuple(tup, id, container, feed_id, prev, next, feeds); -} - -function leniterator() { return 7; } -function deciterator(d) { - const r = {}; r.tup = 'iterator'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : - r.feeds = undefined; - return clean(r); -} - -function enclog(d) { - const tup = atom('log'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const top = 'top' in d && d.top ? number(d.top) : nil(); - const rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - const count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup, id, top, rear, count); -} - -function lenlog() { return 5; } -function declog(d) { - const r = {}; r.tup = 'log'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); -} - -function encoperation(d) { - const tup = atom('operation'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const container = 'container' in d && d.container ? atom(d.container) : nil(); - const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - const next = 'next' in d && d.next ? number(d.next) : nil(); - let feeds = []; if ('feeds' in d && d.feeds) { - d.feeds.forEach((x) => { - feeds.push(encode(x)); - }); - feeds = { t: 108, v: feeds }; - } else { feeds = nil(); } - return tuple(tup, id, container, feed_id, prev, next, feeds); -} - -function lenoperation() { return 7; } -function decoperation(d) { - const r = {}; r.tup = 'operation'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : - r.feeds = undefined; - return clean(r); -} - -function encerror(d) { - const tup = atom('error'); - const code = 'code' in d && d.code ? encode(d.code) : nil(); - return tuple(tup, code); -} - -function lenerror() { return 2; } -function decerror(d) { - const r = {}; r.tup = 'error'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - return clean(r); -} - -function encok(d) { - const tup = atom('ok'); - const code = 'code' in d && d.code ? encode(d.code) : nil(); - return tuple(tup, code); -} - -function lenok() { return 2; } -function decok(d) { - const r = {}; r.tup = 'ok'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - return clean(r); -} - -function encerror2(d) { - const tup = atom('error2'); - const code = 'code' in d && d.code ? atom(d.code) : nil(); - const src = 'src' in d && d.src ? encode(d.src) : nil(); - return tuple(tup, code, src); -} - -function lenerror2() { return 3; } -function decerror2(d) { - const r = {}; r.tup = 'error2'; - r.code = d && d.v[1] ? d.v[1].v : undefined; - r.src = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); -} - -function encok2(d) { - const tup = atom('ok2'); - const code = 'code' in d && d.code ? atom(d.code) : nil(); - const src = 'src' in d && d.src ? encode(d.src) : nil(); - return tuple(tup, code, src); -} - -function lenok2() { return 3; } -function decok2(d) { - const r = {}; r.tup = 'ok2'; - r.code = d && d.v[1] ? d.v[1].v : undefined; - r.src = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); -} - -function encio(d) { - const tup = atom('io'); - const code = 'code' in d && d.code ? encode(d.code) : nil(); - const data = 'data' in d && d.data ? encode(d.data) : nil(); - return tuple(tup, code, data); -} - -function lenio() { return 3; } -function decio(d) { - const r = {}; r.tup = 'io'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - r.data = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); -} - -function encchain(d) { - const tup = atom('chain'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const top = 'top' in d && d.top ? number(d.top) : nil(); - const rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - const count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup, id, top, rear, count); -} - -function lenchain() { return 5; } -function decchain(d) { - const r = {}; r.tup = 'chain'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); -} - -function encpush(d) { - const tup = atom('push'); - const model = 'model' in d && d.model ? bin(d.model) : nil(); - const type = 'type' in d && d.type ? bin(d.type) : nil(); - const title = 'title' in d && d.title ? bin(d.title) : nil(); - const alert = 'alert' in d && d.alert ? bin(d.alert) : nil(); - const badge = 'badge' in d && d.badge ? number(d.badge) : nil(); - const sound = 'sound' in d && d.sound ? bin(d.sound) : nil(); - return tuple(tup, model, type, title, alert, badge, sound); -} - -function lenpush() { return 7; } -function decpush(d) { - const r = {}; r.tup = 'push'; - r.model = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.type = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.title = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.alert = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.badge = d && d.v[5] ? d.v[5].v : undefined; - r.sound = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - return clean(r); -} - -function encSearch(d) { - const tup = atom('Search'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const ref = 'ref' in d && d.ref ? bin(d.ref) : nil(); - const field = 'field' in d && d.field ? bin(d.field) : nil(); - const type = 'type' in d && d.type ? atom(d.type) : nil(); - const value = 'value' in d && d.value ? encode(d.value) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup, id, ref, field, type, value, status); -} - -function lenSearch() { return 7; } -function decSearch(d) { - const r = {}; r.tup = 'Search'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.ref = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.field = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.type = d && d.v[4] ? decode(d.v[4]) : undefined; - r.value = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.status = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); -} - -function encp2p(d) { - const tup = atom('p2p'); - const from = 'from' in d && d.from ? bin(d.from) : nil(); - const to = 'to' in d && d.to ? bin(d.to) : nil(); - return tuple(tup, from, to); -} - -function lenp2p() { return 3; } -function decp2p(d) { - const r = {}; r.tup = 'p2p'; - r.from = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.to = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - return clean(r); -} - -function encmuc(d) { - const tup = atom('muc'); - const name = 'name' in d && d.name ? bin(d.name) : nil(); - return tuple(tup, name); -} - -function lenmuc() { return 2; } -function decmuc(d) { - const r = {}; r.tup = 'muc'; - r.name = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - return clean(r); -} - -function encCDR(d) { - const tup = atom('CDR'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const container = 'container' in d && d.container ? atom(d.container) : nil(); - const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - const next = 'next' in d && d.next ? number(d.next) : nil(); - const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - const from = 'from' in d && d.from ? bin(d.from) : nil(); - const to = 'to' in d && d.to ? bin(d.to) : nil(); - const start = 'start' in d && d.start ? number(d.start) : nil(); - const stop = 'stop' in d && d.stop ? number(d.stop) : nil(); - const type = 'type' in d && d.type ? encode(d.type) : nil(); - const desc = 'desc' in d && d.desc ? bin(d.desc) : nil(); - const bill = 'bill' in d && d.bill ? number(d.bill) : nil(); - const tariff = 'tariff' in d && d.tariff ? bin(d.tariff) : nil(); - return tuple( - tup, id, container, feed, next, prev, from, to, start, stop, type, - desc, bill, tariff - ); -} - -function lenCDR() { return 14; } -function decCDR(d) { - const r = {}; r.tup = 'CDR'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.next = d && d.v[4] ? d.v[4].v : undefined; - r.prev = d && d.v[5] ? d.v[5].v : undefined; - r.from = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.to = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.start = d && d.v[8] ? d.v[8].v : undefined; - r.stop = d && d.v[9] ? d.v[9].v : undefined; - r.type = d && d.v[10] ? decode(d.v[10]) : undefined; - r.desc = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.bill = d && d.v[12] ? d.v[12].v : undefined; - r.tariff = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; - return clean(r); -} - -function encMember(d) { - const tup = atom('Member'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const container = 'container' in d && d.container ? encode(d.container) : nil(); - const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - const next = 'next' in d && d.next ? number(d.next) : nil(); - let feeds = []; if ('feeds' in d && d.feeds) { - d.feeds.forEach((x) => { - feeds.push(encode(x)); - }); - feeds = { t: 108, v: feeds }; - } else { feeds = nil(); } - const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - const avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - const names = 'names' in d && d.names ? bin(d.names) : nil(); - const surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - const alias = 'alias' in d && d.alias ? bin(d.alias) : nil(); - const email = 'email' in d && d.email ? bin(d.email) : nil(); - const vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); - const reader = 'reader' in d && d.reader ? number(d.reader) : nil(); - const update = 'update' in d && d.update ? number(d.update) : nil(); - const presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple( - tup, id, container, feed_id, prev, next, feeds, phone_id, avatar, names, surnames, - alias, email, vox_id, reader, update, presence, status - ); -} - -function lenMember() { return 18; } -function decMember(d) { - const r = {}; r.tup = 'Member'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? decode(d.v[2]) : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : - r.feeds = undefined; - r.phone_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.avatar = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; - r.names = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; - r.surnames = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.alias = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.email = d && d.v[12] ? utf8_dec(d.v[12].v) : undefined; - r.vox_id = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; - r.reader = d && d.v[14] ? d.v[14].v : undefined; - r.update = d && d.v[15] ? d.v[15].v : undefined; - r.presence = d && d.v[16] ? decode(d.v[16]) : undefined; - r.status = d && d.v[17] ? decode(d.v[17]) : undefined; - return clean(r); -} - -function encCursor(d) { - const tup = atom('Cursor'); - const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - const roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - const position = 'position' in d && d.position ? number(d.position) : nil(); - return tuple(tup, feed, roster_id, position); -} - -function lenCursor() { return 4; } -function decCursor(d) { - const r = {}; r.tup = 'Cursor'; - r.feed = d && d.v[1] ? decode(d.v[1]) : undefined; - r.roster_id = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.position = d && d.v[3] ? d.v[3].v : undefined; - return clean(r); -} - -function encPerson(d) { - const tup = atom('Person'); - const id = 'id' in d && d.id ? bin(d.id) : nil(); - let phonelist = []; if ('phonelist' in d && d.phonelist) { - d.phonelist.forEach((x) => { - phonelist.push(encode(x)); - }); - phonelist = { t: 108, v: phonelist }; - } else { phonelist = nil(); } - let alias = []; if ('alias' in d && d.alias) { - d.alias.forEach((x) => { - alias.push(encode(x)); - }); - alias = { t: 108, v: alias }; - } else { alias = nil(); } - let localize = []; if ('localize' in d && d.localize) { - d.localize.forEach((x) => { - localize.push(encode(x)); - }); - localize = { t: 108, v: localize }; - } else { localize = nil(); } - let NotificationSettings = []; if ('NotificationSettings' in d && d.NotificationSettings) { - d.NotificationSettings.forEach((x) => { - NotificationSettings.push(encode(x)); - }); - NotificationSettings = { t: 108, v: NotificationSettings }; - } else { NotificationSettings = nil(); } - let SoundSettings = []; if ('SoundSettings' in d && d.SoundSettings) { - d.SoundSettings.forEach((x) => { - SoundSettings.push(encode(x)); - }); - SoundSettings = { t: 108, v: SoundSettings }; - } else { SoundSettings = nil(); } - const ThemeID = 'ThemeID' in d && d.ThemeID ? bin(d.ThemeID) : nil(); - let BlockUsers = []; if ('BlockUsers' in d && d.BlockUsers) { - d.BlockUsers.forEach((x) => { - BlockUsers.push(encode(x)); - }); - BlockUsers = { t: 108, v: BlockUsers }; - } else { BlockUsers = nil(); } - const balance = 'balance' in d && d.balance ? number(d.balance) : nil(); - let isParticipants = []; if ('isParticipants' in d && d.isParticipants) { - d.isParticipants.forEach((x) => { - isParticipants.push(encode(x)); - }); - isParticipants = { t: 108, v: isParticipants }; - } else { isParticipants = nil(); } - const status = 'status' in d && d.status ? encode(d.status) : nil(); - return tuple(tup, id, phonelist, alias, localize, NotificationSettings, SoundSettings, ThemeID, BlockUsers, balance, isParticipants, status); -} - -function lenPerson() { return 12; } -function decPerson(d) { - const r = {}; r.tup = 'Person'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.phonelist = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach((x) => { r.phonelist.push(decode(x)); }) : - r.phonelist = undefined; - r.alias = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach((x) => { r.alias.push(decode(x)); }) : - r.alias = undefined; - r.localize = []; - (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach((x) => { r.localize.push(decode(x)); }) : - r.localize = undefined; - r.NotificationSettings = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach((x) => { r.NotificationSettings.push(decode(x)); }) : - r.NotificationSettings = undefined; - r.SoundSettings = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach((x) => { r.SoundSettings.push(decode(x)); }) : - r.SoundSettings = undefined; - r.ThemeID = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.BlockUsers = []; - (d && d.v[8] && d.v[8].v) ? - d.v[8].v.forEach((x) => { r.BlockUsers.push(decode(x)); }) : - r.BlockUsers = undefined; - r.balance = d && d.v[9] ? d.v[9].v : undefined; - r.isParticipants = []; - (d && d.v[10] && d.v[10].v) ? - d.v[10].v.forEach((x) => { r.isParticipants.push(decode(x)); }) : - r.isParticipants = undefined; - r.status = d && d.v[11] ? decode(d.v[11]) : undefined; - return clean(r); -} - -function encDesc(d) { - const tup = atom('Desc'); - const mime = 'mime' in d && d.mime ? bin(d.mime) : nil(); - const payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); - const size = 'size' in d && d.size ? number(d.size) : nil(); - const filename = 'filename' in d && d.filename ? bin(d.filename) : nil(); - const info = 'info' in d && d.info ? bin(d.info) : nil(); - return tuple(tup, mime, payload, size, filename, info); -} - -function lenDesc() { return 6; } -function decDesc(d) { - const r = {}; r.tup = 'Desc'; - r.mime = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.size = d && d.v[3] ? d.v[3].v : undefined; - r.filename = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.info = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - return clean(r); -} - -function encMessage(d) { - const tup = atom('Message'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - // var container = 'container' in d && d.container ? encode(d.container) : nil(); - const container = 'container' in d && d.container ? atom(d.container) : nil(); - const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - const next = 'next' in d && d.next ? number(d.next) : nil(); - const msg_id = 'msg_id' in d && d.msg_id ? bin(d.msg_id) : nil(); - const from = 'from' in d && d.from ? bin(d.from) : nil(); - const to = 'to' in d && d.to ? bin(d.to) : nil(); - const created = 'created' in d && d.created ? encode(d.created) : nil(); - let files = []; if ('files' in d && d.files) { - d.files.forEach((x) => { - files.push(encode(x)); - }); - files = { t: 108, v: files }; - } else { files = nil(); } - const type = 'type' in d && d.type ? encode(d.type) : nil(); - const edit_msg = 'edit_msg' in d && d.edit_msg ? number(d.edit_msg) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple( - tup, id, container, feed_id, prev, next, msg_id, from, to, created, files, - type, edit_msg, status - ); -} - -function lenMessage() { return 14; } -function decMessage(d) { - const r = {}; r.tup = 'Message'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? decode(d.v[2]) : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.msg_id = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.from = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.to = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; - r.created = d && d.v[9] ? decode(d.v[9]) : undefined; - r.files = []; - (d && d.v[10] && d.v[10].v) ? - d.v[10].v.forEach((x) => { r.files.push(decode(x)); }) : - r.files = undefined; - r.type = d && d.v[11] ? decode(d.v[11]) : undefined; - r.edit_msg = d && d.v[12] ? d.v[12].v : undefined; - r.status = d && d.v[13] ? decode(d.v[13]) : undefined; - return clean(r); -} - -function encRoom(d) { - const tup = atom('Room'); - const id = 'id' in d && d.id ? bin(d.id) : nil(); - const name = 'name' in d && d.name ? bin(d.name) : nil(); - const description = 'description' in d && d.description ? bin(d.description) : nil(); - let settings = []; if ('settings' in d && d.settings) { - d.settings.forEach((x) => { - settings.push(encode(x)); - }); - settings = { t: 108, v: settings }; - } else { settings = nil(); } - let members = []; if ('members' in d && d.members) { - d.members.forEach((x) => { - members.push(encode(x)); - }); - members = { t: 108, v: members }; - } else { members = nil(); } - let admins = []; if ('admins' in d && d.admins) { - d.admins.forEach((x) => { - admins.push(encode(x)); - }); - admins = { t: 108, v: admins }; - } else { admins = nil(); } - let data = []; if ('data' in d && d.data) { - d.data.forEach((x) => { - data.push(encode(x)); - }); - data = { t: 108, v: data }; - } else { data = nil(); } - const type = 'type' in d && d.type ? encode(d.type) : nil(); - const tos = 'tos' in d && d.tos ? bin(d.tos) : nil(); - const unread = 'unread' in d && d.unread ? number(d.unread) : nil(); - const last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); - const update = 'update' in d && d.update ? number(d.update) : nil(); - const created = 'created' in d && d.created ? number(d.created) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple( - tup, id, name, description, settings, members, admins, data, type, tos, unread, - last_msg, update, created, status - ); -} - -function lenRoom() { return 15; } -function decRoom(d) { - const r = {}; r.tup = 'Room'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.description = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.settings = []; - (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach((x) => { r.settings.push(decode(x)); }) : - r.settings = undefined; - r.members = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach((x) => { r.members.push(decode(x)); }) : - r.members = undefined; - r.admins = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach((x) => { r.admins.push(decode(x)); }) : - r.admins = undefined; - r.data = []; - (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach((x) => { r.data.push(decode(x)); }) : - r.data = undefined; - r.type = d && d.v[8] ? decode(d.v[8]) : undefined; - r.tos = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; - r.unread = d && d.v[10] ? d.v[10].v : undefined; - r.last_msg = d && d.v[11] ? decode(d.v[11]) : undefined; - r.update = d && d.v[12] ? d.v[12].v : undefined; - r.created = d && d.v[13] ? d.v[13].v : undefined; - r.status = d && d.v[14] ? decode(d.v[14]) : undefined; - return clean(r); -} - -function encTag(d) { - const tup = atom('Tag'); - const roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - const name = 'name' in d && d.name ? bin(d.name) : nil(); - const color = 'color' in d && d.color ? bin(d.color) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup, roster_id, name, color, status); -} - -function lenTag() { return 5; } -function decTag(d) { - const r = {}; r.tup = 'Tag'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.color = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.status = d && d.v[4] ? decode(d.v[4]) : undefined; - return clean(r); -} - -function encStar(d) { - const tup = atom('Star'); - const roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - const message = 'message' in d && d.message ? encode(d.message) : nil(); - let tags = []; if ('tags' in d && d.tags) { - d.tags.forEach((x) => { - tags.push(encode(x)); - }); - tags = { t: 108, v: tags }; - } else { tags = nil(); } - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup, roster_id, message, tags, status); -} - -function lenStar() { return 5; } -function decStar(d) { - const r = {}; r.tup = 'Star'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.message = d && d.v[2] ? decode(d.v[2]) : undefined; - r.tags = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach((x) => { r.tags.push(decode(x)); }) : - r.tags = undefined; - r.status = d && d.v[4] ? decode(d.v[4]) : undefined; - return clean(r); -} - -function encHistory(d) { - const tup = atom('History'); - const roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - const contact_id = 'contact_id' in d && d.contact_id ? bin(d.contact_id) : nil(); - const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - const size = 'size' in d && d.size ? number(d.size) : nil(); - let data = []; if ('data' in d && d.data) { - d.data.forEach((x) => { - data.push(encode(x)); - }); - data = { t: 108, v: data }; - } else { data = nil(); } - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup, roster_id, contact_id, feed, size, data, status); -} - -function lenHistory() { return 7; } -function decHistory(d) { - const r = {}; r.tup = 'History'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.contact_id = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.feed = d && d.v[3] ? decode(d.v[3]) : undefined; - r.size = d && d.v[4] ? d.v[4].v : undefined; - r.data = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach((x) => { r.data.push(decode(x)); }) : - r.data = undefined; - r.status = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); -} - -function encTyping(d) { - const tup = atom('Typing'); - const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - const comments = 'comments' in d && d.comments ? encode(d.comments) : nil(); - return tuple(tup, phone_id, comments); -} - -function lenTyping() { return 3; } -function decTyping(d) { - const r = {}; r.tup = 'Typing'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.comments = d && d.v[2] ? decode(d.v[2].v) : undefined; - return clean(r); -} - -function encContact(d) { - const tup = atom('Contact'); - const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - const avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - const names = 'names' in d && d.names ? bin(d.names) : nil(); - const surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - const nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); - const email = 'email' in d && d.email ? bin(d.email) : nil(); - const vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); - const reader = 'reader' in d && d.reader ? number(d.reader) : nil(); - const unread = 'unread' in d && d.unread ? number(d.unread) : nil(); - const last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); - const update = 'update' in d && d.update ? number(d.update) : nil(); - const presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple( - tup, phone_id, avatar, names, surnames, nick, email, vox_id, reader, unread, last_msg, - update, presence, status - ); -} - -function lenContact() { return 14; } -function decContact(d) { - const r = {}; r.tup = 'Contact'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.avatar = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.names = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.surnames = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.email = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.vox_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.reader = d && d.v[8] ? d.v[8].v : undefined; - r.unread = d && d.v[9] ? d.v[9].v : undefined; - r.last_msg = d && d.v[10] ? decode(d.v[10]) : undefined; - r.update = d && d.v[11] ? d.v[11].v : undefined; - r.presence = d && d.v[12] ? d.v[12].v : undefined; - r.status = d && d.v[13] ? decode(d.v[13]) : undefined; - return clean(r); -} - -function encAuth(d) { - const tup = atom('Auth'); - const client_id = 'client_id' in d && d.client_id ? bin(d.client_id) : nil(); - const dev_key = 'dev_key' in d && d.dev_key ? bin(d.dev_key) : nil(); - const user_id = 'user_id' in d && d.user_id ? bin(d.user_id) : nil(); - const phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - const token = 'token' in d && d.token ? bin(d.token) : nil(); - const type = 'type' in d && d.type ? atom(d.type) : nil(); - const sms_code = 'sms_code' in d && d.sms_code ? bin(d.sms_code) : nil(); - const attempts = 'attempts' in d && d.attempts ? number(d.attempts) : nil(); - let services = []; if ('services' in d && d.services) { - d.services.forEach((x) => { - services.push(encode(x)); - }); - services = { t: 108, v: services }; - } else { services = nil(); } - const push = 'push' in d && d.push ? bin(d.push) : nil(); - const os = 'os' in d && d.os ? encode(d.os) : nil(); - const created = 'created' in d && d.created ? encode(d.created) : nil(); - const last_online = 'last_online' in d && d.last_online ? number(d.last_online) : nil(); - return tuple( - tup, client_id, dev_key, user_id, phone, token, type, sms_code, attempts, services, push, - os, created, last_online - ); -} - -function lenAuth() { return 14; } -function decAuth(d) { - const r = {}; r.tup = 'Auth'; - r.client_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.dev_key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.user_id = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.phone = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.token = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.type = d && d.v[6] ? d.v[6].v : undefined; - r.sms_code = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.attempts = d && d.v[8] ? d.v[8].v : undefined; - r.services = []; - (d && d.v[9] && d.v[9].v) ? - d.v[9].v.forEach((x) => { r.services.push(decode(x)); }) : - r.services = undefined; - r.push = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.os = d && d.v[11] ? decode(d.v[11]) : undefined; - r.created = d && d.v[12] ? decode(d.v[12]) : undefined; - r.last_online = d && d.v[13] ? d.v[13].v : undefined; - return clean(r); -} - -function encService(d) { - const tup = atom('Service'); - const id = 'id' in d && d.id ? bin(d.id) : nil(); - const type = 'type' in d && d.type ? atom(d.type) : nil(); - const data = 'data' in d && d.data ? encode(d.data) : nil(); - const login = 'login' in d && d.login ? bin(d.login) : nil(); - const password = 'password' in d && d.password ? bin(d.password) : nil(); - const expiration = 'expiration' in d && d.expiration ? number(d.expiration) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup, id, type, data, login, password, expiration, status); -} - -function lenService() { return 8; } -function decService(d) { - const r = {}; r.tup = 'Service'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.type = d && d.v[2] ? decode(d.v[2]) : undefined; - r.data = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.login = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.password = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.expiration = d && d.v[6] ? d.v[6].v : undefined; - r.status = d && d.v[7] ? decode(d.v[7]) : undefined; - return clean(r); -} - -function encRoster(d) { - const tup = atom('Roster'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const names = 'names' in d && d.names ? bin(d.names) : nil(); - const surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - const email = 'email' in d && d.email ? bin(d.email) : nil(); - const nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); - let userlist = []; if ('userlist' in d && d.userlist) { - d.userlist.forEach((x) => { - userlist.push(encode(x)); - }); - userlist = { t: 108, v: userlist }; - } else { userlist = nil(); } - let roomlist = []; if ('roomlist' in d && d.roomlist) { - d.roomlist.forEach((x) => { - roomlist.push(encode(x)); - }); - roomlist = { t: 108, v: roomlist }; - } else { roomlist = nil(); } - let favorite = []; if ('favorite' in d && d.favorite) { - d.favorite.forEach((x) => { - favorite.push(encode(x)); - }); - favorite = { t: 108, v: favorite }; - } else { favorite = nil(); } - let tags = []; if ('tags' in d && d.tags) { - d.tags.forEach((x) => { - tags.push(encode(x)); - }); - tags = { t: 108, v: tags }; - } else { tags = nil(); } - const phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - const avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - const update = 'update' in d && d.update ? number(d.update) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple( - tup, id, names, surnames, email, nick, userlist, roomlist, favorite, tags, phone, - avatar, update, status - ); -} - -function lenRoster() { return 14; } -function decRoster(d) { - const r = {}; r.tup = 'Roster'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.names = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.surnames = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.email = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.userlist = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach((x) => { r.userlist.push(decode(x)); }) : - r.userlist = undefined; - r.roomlist = []; - (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach((x) => { r.roomlist.push(decode(x)); }) : - r.roomlist = undefined; - r.favorite = []; - (d && d.v[8] && d.v[8].v) ? - d.v[8].v.forEach((x) => { r.favorite.push(decode(x)); }) : - r.favorite = undefined; - r.tags = []; - (d && d.v[9] && d.v[9].v) ? - d.v[9].v.forEach((x) => { r.tags.push(decode(x)); }) : - r.tags = undefined; - r.phone = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.avatar = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.update = d && d.v[12] ? d.v[12].v : undefined; - r.status = d && d.v[13] ? decode(d.v[13]) : undefined; - return clean(r); -} - -function encFeature(d) { - const tup = atom('Feature'); - const id = 'id' in d && d.id ? bin(d.id) : nil(); - const key = 'key' in d && d.key ? bin(d.key) : nil(); - const value = 'value' in d && d.value ? bin(d.value) : nil(); - const group = 'group' in d && d.group ? bin(d.group) : nil(); - return tuple(tup, id, key, value, group); -} - -function lenFeature() { return 5; } -function decFeature(d) { - const r = {}; r.tup = 'Feature'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.value = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.group = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - return clean(r); -} - -function encProfile(d) { - const tup = atom('Profile'); - const phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - let services = []; if ('services' in d && d.services) { - d.services.forEach((x) => { - services.push(encode(x)); - }); - services = { t: 108, v: services }; - } else { services = nil(); } - let rosters = []; if ('rosters' in d && d.rosters) { - d.rosters.forEach((x) => { - rosters.push(encode(x)); - }); - rosters = { t: 108, v: rosters }; - } else { rosters = nil(); } - let settings = []; if ('settings' in d && d.settings) { - d.settings.forEach((x) => { - settings.push(encode(x)); - }); - settings = { t: 108, v: settings }; - } else { settings = nil(); } - const update = 'update' in d && d.update ? number(d.update) : nil(); - const balance = 'balance' in d && d.balance ? number(d.balance) : nil(); - const presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup, phone, services, rosters, settings, update, balance, presence, status); -} - -function lenProfile() { return 9; } -function decProfile(d) { - const r = {}; r.tup = 'Profile'; - r.phone = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.services = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach((x) => { r.services.push(decode(x)); }) : - r.services = undefined; - r.rosters = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach((x) => { r.rosters.push(decode(x)); }) : - r.rosters = undefined; - r.settings = []; - (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach((x) => { r.settings.push(decode(x)); }) : - r.settings = undefined; - r.update = d && d.v[5] ? d.v[5].v : undefined; - r.balance = d && d.v[6] ? d.v[6].v : undefined; - r.presence = d && d.v[7] ? d.v[7].v : undefined; - r.status = d && d.v[8] ? d.v[8].v : undefined; - return clean(r); -} - -function encLoc(d) { - const tup = atom('Loc'); - const x = 'x' in d && d.x ? bin(d.x) : nil(); - const y = 'y' in d && d.y ? bin(d.y) : nil(); - const z = 'z' in d && d.z ? bin(d.z) : nil(); - return tuple(tup, x, y, z); -} - -function lenLoc() { return 4; } -function decLoc(d) { - const r = {}; r.tup = 'Loc'; - r.x = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.y = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.z = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - return clean(r); -} - -function encFriend(d) { - const tup = atom('Friend'); - const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - const friend_id = 'friend_id' in d && d.friend_id ? bin(d.friend_id) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup, phone_id, friend_id, status); -} - -function lenFriend() { return 4; } -function decFriend(d) { - const r = {}; r.tup = 'Friend'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.friend_id = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.status = d && d.v[3] ? decode(d.v[3]) : undefined; - return clean(r); -} - -function encIndex(d) { - const tup = atom('Index'); - const id = 'id' in d && d.id ? encode(d.id) : nil(); - let roster = []; if ('roster' in d && d.roster) { - d.roster.forEach((x) => { - roster.push(encode(x)); - }); - roster = { t: 108, v: roster }; - } else { roster = nil(); } - return tuple(tup, id, roster); -} - -function lenIndex() { return 3; } -function decIndex(d) { - const r = {}; r.tup = 'Index'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.roster = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach((x) => { r.roster.push(decode(x)); }) : - r.roster = undefined; - return clean(r); -} - -function encTest(d) { - const tup = atom('Test'); - const type = 'type' in d && d.type ? atom(d.type) : nil(); - const count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup, type, count); -} - -function lenTest() { return 3; } -function decTest(d) { - const r = {}; r.tup = 'Test'; - r.type = d && d.v[1] ? decode(d.v[1]) : undefined; - r.count = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); -} diff --git a/src/assets/vendor/utils/json-bert-test.js b/src/assets/vendor/utils/json-bert-test.js deleted file mode 100644 index 64389f6e4ec77757acbe3b0cca017a47547d6597..0000000000000000000000000000000000000000 --- a/src/assets/vendor/utils/json-bert-test.js +++ /dev/null @@ -1,28 +0,0 @@ -function check() { - let res = true; - // @TODO: MORE TEST DATA - testData = [ - 1, - [1, 2, 3], - 'string', - { tup: 'io', code: 'login', data: { tup: '$', 0: 'Auth', 1: 12 } }, - { tup: 'io', code: 'login', data: { tup: 'Auth' } }, - { tup: 'io', code: 'login', data: { tup: '$', 0: 'пизда', 1: 12 } }, - { tup: 'Roster', userlist: [{ tup: 'Contact' }], status: 'get' }, - { tup: 'p2p', from: 'хуй', to: 'пизда' }, - { tup: 'Profile', accounts: [1], status: 'maxim' } - ]; - testData.forEach((o) => { - var o = JSON.stringify(o); - const d = JSON.stringify(decode(dec(enc(encode(o)).buffer))).replace(/\\/g, ''); - - if (JSON.stringify(o) != JSON.stringify(decode(dec(enc(encode(o)).buffer)))) { - console.log(`Original: ${o} <=> Decode: ${d} %c [Error]`, 'color: red'); - res = false; - } else { - console.log(`Data: ${o} %c [OK]`, 'color: green'); - } - }); - - return res; -} diff --git a/src/assets/vendor/utils/json-bert.js b/src/assets/vendor/utils/json-bert.js deleted file mode 100644 index 158a1325fa141718c9609fc5bbfb09fc8a88f837..0000000000000000000000000000000000000000 --- a/src/assets/vendor/utils/json-bert.js +++ /dev/null @@ -1,1749 +0,0 @@ -function clean(r) { for (const k in r) if (!r[k]) delete r[k]; return r; } -function check_len(x) { - try { return (eval(`len${utf8_dec(x.v[0].v)}`)() == x.v.length); } catch (e) { return false; } -} - -function scalar(data) { - let res; - switch (typeof data) { - case 'string': res = bin(data); break; case 'number': res = number(data); break; - default: console.log(`Strange data: ${data}`); - } - return res; -} -function nil() { return { t: 106, v: undefined }; } - -function decode(x) { - if (x == undefined) { - return []; - } else if (x.t == 108) { - var r = []; x.v.forEach((y) => { r.push(decode(y)); }); return r; - } else if (x.t == 109) { - return utf8_dec(x.v); - } else if (x.t == 104 && check_len(x)) { - return eval(`dec${x.v[0].v}`)(x); - } else if (x.t == 104) { - var r = []; x.v.forEach((a) => { r.push(decode(a)); }); - return Object.assign({ tup: '$' }, r); - } return x.v; -} - -function encode(x) { - if (Array.isArray(x)) { - var r = []; x.forEach((y) => { r.push(encode(y)); }); return { t: 108, v: r }; - } else if (typeof x === 'object') { - switch (x.tup) { - case '$': delete x.tup; var r = []; - Object.keys(x).map(p => x[p]).forEach((a) => { r.push(encode(a)); }); - return { t: 104, v: r }; - default: return eval(`enc${x.tup}`)(x); - } - } else return scalar(x); -} - -function encwriter(d) { - const tup = atom('writer'); - const id = 'id' in d && d.id ? encode(d.id) : nil(); - const count = 'count' in d && d.count ? number(d.count) : nil(); - const cache = 'cache' in d && d.cache ? encode(d.cache) : nil(); - const args = 'args' in d && d.args ? encode(d.args) : nil(); - const first = 'first' in d && d.first ? encode(d.first) : nil(); - return tuple(tup, id, count, cache, args, first); -} - -function lenwriter() { return 6; } -function decwriter(d) { - const r = {}; r.tup = 'writer'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.count = d && d.v[2] ? d.v[2].v : undefined; - r.cache = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; - r.first = d && d.v[5] ? decode(d.v[5].v) : undefined; - return clean(r); -} - -function encreader(d) { - const tup = atom('reader'); - const id = 'id' in d && d.id ? encode(d.id) : nil(); - const pos = 'pos' in d && d.pos ? number(d.pos) : nil(); - const cache = 'cache' in d && d.cache ? number(d.cache) : nil(); - const args = 'args' in d && d.args ? encode(d.args) : nil(); - const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - const dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); - return tuple(tup, id, pos, cache, args, feed, dir); -} - -function lenreader() { return 7; } -function decreader(d) { - const r = {}; r.tup = 'reader'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.pos = d && d.v[2] ? d.v[2].v : undefined; - r.cache = d && d.v[3] ? d.v[3].v : undefined; - r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; - r.feed = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.dir = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); -} - -function enccur(d) { - const tup = atom('cur'); - const id = 'id' in d && d.id ? encode(d.id) : nil(); - const top = 'top' in d && d.top ? number(d.top) : nil(); - const bot = 'bot' in d && d.bot ? number(d.bot) : nil(); - const dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); - const reader = 'reader' in d && d.reader ? encode(d.reader) : nil(); - const writer = 'writer' in d && d.writer ? encode(d.writer) : nil(); - let args = []; if ('args' in d && d.args) { - d.args.forEach((x) => { - args.push(encode(x)); - }); - args = { t: 108, v: args }; - } else { args = nil(); } - return tuple(tup, id, top, bot, dir, reader, writer, args); -} - -function lencur() { return 8; } -function deccur(d) { - const r = {}; r.tup = 'cur'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.bot = d && d.v[3] ? d.v[3].v : undefined; - r.dir = d && d.v[4] ? decode(d.v[4]) : undefined; - r.reader = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.writer = d && d.v[6] ? decode(d.v[6].v) : undefined; - r.args = []; - (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach((x) => { r.args.push(decode(x)); }) : - r.args = undefined; - return clean(r); -} - -function enciter(d) { - const tup = atom('iter'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const container = 'container' in d && d.container ? atom(d.container) : nil(); - const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - const next = 'next' in d && d.next ? number(d.next) : nil(); - const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - return tuple(tup, id, container, feed, next, prev); -} - -function leniter() { return 6; } -function deciter(d) { - const r = {}; r.tup = 'iter'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.next = d && d.v[4] ? d.v[4].v : undefined; - r.prev = d && d.v[5] ? d.v[5].v : undefined; - return clean(r); -} - -function enccontainer(d) { - const tup = atom('container'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const top = 'top' in d && d.top ? number(d.top) : nil(); - const rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - const count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup, id, top, rear, count); -} - -function lencontainer() { return 5; } -function deccontainer(d) { - const r = {}; r.tup = 'container'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); -} - -function enciterator(d) { - const tup = atom('iterator'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const container = 'container' in d && d.container ? atom(d.container) : nil(); - const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - const next = 'next' in d && d.next ? number(d.next) : nil(); - let feeds = []; if ('feeds' in d && d.feeds) { - d.feeds.forEach((x) => { - feeds.push(encode(x)); - }); - feeds = { t: 108, v: feeds }; - } else { feeds = nil(); } - return tuple(tup, id, container, feed_id, prev, next, feeds); -} - -function leniterator() { return 7; } -function deciterator(d) { - const r = {}; r.tup = 'iterator'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : - r.feeds = undefined; - return clean(r); -} - -function enclog(d) { - const tup = atom('log'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const top = 'top' in d && d.top ? number(d.top) : nil(); - const rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - const count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup, id, top, rear, count); -} - -function lenlog() { return 5; } -function declog(d) { - const r = {}; r.tup = 'log'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); -} - -function encoperation(d) { - const tup = atom('operation'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const container = 'container' in d && d.container ? atom(d.container) : nil(); - const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - const next = 'next' in d && d.next ? number(d.next) : nil(); - let feeds = []; if ('feeds' in d && d.feeds) { - d.feeds.forEach((x) => { - feeds.push(encode(x)); - }); - feeds = { t: 108, v: feeds }; - } else { feeds = nil(); } - return tuple(tup, id, container, feed_id, prev, next, feeds); -} - -function lenoperation() { return 7; } -function decoperation(d) { - const r = {}; r.tup = 'operation'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : - r.feeds = undefined; - return clean(r); -} - -function encchain(d) { - const tup = atom('chain'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const top = 'top' in d && d.top ? number(d.top) : nil(); - const rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - const count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup, id, top, rear, count); -} - -function lenchain() { return 5; } -function decchain(d) { - const r = {}; r.tup = 'chain'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); -} - -function encpush(d) { - const tup = atom('push'); - const model = 'model' in d && d.model ? bin(d.model) : nil(); - const type = 'type' in d && d.type ? bin(d.type) : nil(); - const title = 'title' in d && d.title ? bin(d.title) : nil(); - const alert = 'alert' in d && d.alert ? bin(d.alert) : nil(); - const badge = 'badge' in d && d.badge ? number(d.badge) : nil(); - const sound = 'sound' in d && d.sound ? bin(d.sound) : nil(); - return tuple(tup, model, type, title, alert, badge, sound); -} - -function lenpush() { return 7; } -function decpush(d) { - const r = {}; r.tup = 'push'; - r.model = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.type = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.title = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.alert = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.badge = d && d.v[5] ? d.v[5].v : undefined; - r.sound = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - return clean(r); -} - -function encSearch(d) { - const tup = atom('Search'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const ref = 'ref' in d && d.ref ? bin(d.ref) : nil(); - const field = 'field' in d && d.field ? bin(d.field) : nil(); - const type = 'type' in d && d.type ? atom(d.type) : nil(); - const value = 'value' in d && d.value ? encode(d.value) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup, id, ref, field, type, value, status); -} - -function lenSearch() { return 7; } -function decSearch(d) { - const r = {}; r.tup = 'Search'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.ref = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.field = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.type = d && d.v[4] ? decode(d.v[4]) : undefined; - r.value = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.status = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); -} - -function encp2p(d) { - const tup = atom('p2p'); - const from = 'from' in d && d.from ? bin(d.from) : nil(); - const to = 'to' in d && d.to ? bin(d.to) : nil(); - return tuple(tup, from, to); -} - -function lenp2p() { return 3; } -function decp2p(d) { - const r = {}; r.tup = 'p2p'; - r.from = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.to = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - return clean(r); -} - -function encmuc(d) { - const tup = atom('muc'); - const name = 'name' in d && d.name ? bin(d.name) : nil(); - return tuple(tup, name); -} - -function lenmuc() { return 2; } -function decmuc(d) { - const r = {}; r.tup = 'muc'; - r.name = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - return clean(r); -} - -function encCDR(d) { - const tup = atom('CDR'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const container = 'container' in d && d.container ? atom(d.container) : nil(); - const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - const next = 'next' in d && d.next ? number(d.next) : nil(); - const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - const from = 'from' in d && d.from ? bin(d.from) : nil(); - const to = 'to' in d && d.to ? bin(d.to) : nil(); - const start = 'start' in d && d.start ? number(d.start) : nil(); - const stop = 'stop' in d && d.stop ? number(d.stop) : nil(); - const type = 'type' in d && d.type ? encode(d.type) : nil(); - const desc = 'desc' in d && d.desc ? bin(d.desc) : nil(); - const bill = 'bill' in d && d.bill ? number(d.bill) : nil(); - const tariff = 'tariff' in d && d.tariff ? bin(d.tariff) : nil(); - return tuple( - tup, id, container, feed, next, prev, from, to, start, stop, type, - desc, bill, tariff - ); -} - -function lenCDR() { return 14; } -function decCDR(d) { - const r = {}; r.tup = 'CDR'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.next = d && d.v[4] ? d.v[4].v : undefined; - r.prev = d && d.v[5] ? d.v[5].v : undefined; - r.from = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.to = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.start = d && d.v[8] ? d.v[8].v : undefined; - r.stop = d && d.v[9] ? d.v[9].v : undefined; - r.type = d && d.v[10] ? decode(d.v[10]) : undefined; - r.desc = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.bill = d && d.v[12] ? d.v[12].v : undefined; - r.tariff = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; - return clean(r); -} - -function encFeature(d) { - const tup = atom('Feature'); - const id = 'id' in d && d.id ? bin(d.id) : nil(); - const key = 'key' in d && d.key ? bin(d.key) : nil(); - const value = 'value' in d && d.value ? bin(d.value) : nil(); - const group = 'group' in d && d.group ? bin(d.group) : nil(); - return tuple(tup, id, key, value, group); -} - -function lenFeature() { return 5; } -function decFeature(d) { - const r = {}; r.tup = 'Feature'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.value = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.group = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - return clean(r); -} - -function encMember(d) { - const tup = atom('Member'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const container = 'container' in d && d.container ? encode(d.container) : nil(); - const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - const next = 'next' in d && d.next ? number(d.next) : nil(); - let feeds = []; if ('feeds' in d && d.feeds) { - d.feeds.forEach((x) => { - feeds.push(encode(x)); - }); - feeds = { t: 108, v: feeds }; - } else { feeds = nil(); } - const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - const avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - const names = 'names' in d && d.names ? bin(d.names) : nil(); - const surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - const alias = 'alias' in d && d.alias ? bin(d.alias) : nil(); - const email = 'email' in d && d.email ? bin(d.email) : nil(); - const vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); - const reader = 'reader' in d && d.reader ? number(d.reader) : nil(); - const update = 'update' in d && d.update ? number(d.update) : nil(); - let settings = []; if ('settings' in d && d.settings) { - d.settings.forEach((x) => { - settings.push(encode(x)); - }); - settings = { t: 108, v: settings }; - } else { settings = nil(); } - const presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple( - tup, id, container, feed_id, prev, next, feeds, phone_id, avatar, names, surnames, - alias, email, vox_id, reader, update, settings, presence, status - ); -} - -function lenMember() { return 19; } -function decMember(d) { - const r = {}; r.tup = 'Member'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? decode(d.v[2]) : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : - r.feeds = undefined; - r.phone_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.avatar = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; - r.names = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; - r.surnames = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.alias = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.email = d && d.v[12] ? utf8_dec(d.v[12].v) : undefined; - r.vox_id = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; - r.reader = d && d.v[14] ? d.v[14].v : undefined; - r.update = d && d.v[15] ? d.v[15].v : undefined; - r.settings = []; - (d && d.v[16] && d.v[16].v) ? - d.v[16].v.forEach((x) => { r.settings.push(decode(x)); }) : - r.settings = undefined; - r.presence = d && d.v[17] ? decode(d.v[17]) : undefined; - r.status = d && d.v[18] ? decode(d.v[18]) : undefined; - return clean(r); -} - -function encPerson(d) { - const tup = atom('Person'); - const id = 'id' in d && d.id ? bin(d.id) : nil(); - let phonelist = []; if ('phonelist' in d && d.phonelist) { - d.phonelist.forEach((x) => { - phonelist.push(encode(x)); - }); - phonelist = { t: 108, v: phonelist }; - } else { phonelist = nil(); } - let alias = []; if ('alias' in d && d.alias) { - d.alias.forEach((x) => { - alias.push(encode(x)); - }); - alias = { t: 108, v: alias }; - } else { alias = nil(); } - let localize = []; if ('localize' in d && d.localize) { - d.localize.forEach((x) => { - localize.push(encode(x)); - }); - localize = { t: 108, v: localize }; - } else { localize = nil(); } - let NotificationSettings = []; if ('NotificationSettings' in d && d.NotificationSettings) { - d.NotificationSettings.forEach((x) => { - NotificationSettings.push(encode(x)); - }); - NotificationSettings = { t: 108, v: NotificationSettings }; - } else { NotificationSettings = nil(); } - let SoundSettings = []; if ('SoundSettings' in d && d.SoundSettings) { - d.SoundSettings.forEach((x) => { - SoundSettings.push(encode(x)); - }); - SoundSettings = { t: 108, v: SoundSettings }; - } else { SoundSettings = nil(); } - const ThemeID = 'ThemeID' in d && d.ThemeID ? bin(d.ThemeID) : nil(); - let BlockUsers = []; if ('BlockUsers' in d && d.BlockUsers) { - d.BlockUsers.forEach((x) => { - BlockUsers.push(encode(x)); - }); - BlockUsers = { t: 108, v: BlockUsers }; - } else { BlockUsers = nil(); } - const balance = 'balance' in d && d.balance ? number(d.balance) : nil(); - let isParticipants = []; if ('isParticipants' in d && d.isParticipants) { - d.isParticipants.forEach((x) => { - isParticipants.push(encode(x)); - }); - isParticipants = { t: 108, v: isParticipants }; - } else { isParticipants = nil(); } - const status = 'status' in d && d.status ? encode(d.status) : nil(); - return tuple(tup, id, phonelist, alias, localize, NotificationSettings, SoundSettings, ThemeID, BlockUsers, balance, isParticipants, status); -} - -function lenPerson() { return 12; } -function decPerson(d) { - const r = {}; r.tup = 'Person'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.phonelist = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach((x) => { r.phonelist.push(decode(x)); }) : - r.phonelist = undefined; - r.alias = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach((x) => { r.alias.push(decode(x)); }) : - r.alias = undefined; - r.localize = []; - (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach((x) => { r.localize.push(decode(x)); }) : - r.localize = undefined; - r.NotificationSettings = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach((x) => { r.NotificationSettings.push(decode(x)); }) : - r.NotificationSettings = undefined; - r.SoundSettings = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach((x) => { r.SoundSettings.push(decode(x)); }) : - r.SoundSettings = undefined; - r.ThemeID = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.BlockUsers = []; - (d && d.v[8] && d.v[8].v) ? - d.v[8].v.forEach((x) => { r.BlockUsers.push(decode(x)); }) : - r.BlockUsers = undefined; - r.balance = d && d.v[9] ? d.v[9].v : undefined; - r.isParticipants = []; - (d && d.v[10] && d.v[10].v) ? - d.v[10].v.forEach((x) => { r.isParticipants.push(decode(x)); }) : - r.isParticipants = undefined; - r.status = d && d.v[11] ? decode(d.v[11]) : undefined; - return clean(r); -} - -function encDesc(d) { - const tup = atom('Desc'); - const mime = 'mime' in d && d.mime ? bin(d.mime) : nil(); - const payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); - const size = 'size' in d && d.size ? number(d.size) : nil(); - const filename = 'filename' in d && d.filename ? bin(d.filename) : nil(); - const info = 'info' in d && d.info ? bin(d.info) : nil(); - return tuple(tup, mime, payload, size, filename, info); -} - -function lenDesc() { return 6; } -function decDesc(d) { - const r = {}; r.tup = 'Desc'; - r.mime = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.size = d && d.v[3] ? d.v[3].v : undefined; - r.filename = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.info = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - return clean(r); -} - -function encMessage(d) { - const tup = atom('Message'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const container = 'container' in d && d.container ? encode(d.container) : nil(); - const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - const next = 'next' in d && d.next ? number(d.next) : nil(); - const msg_id = 'msg_id' in d && d.msg_id ? bin(d.msg_id) : nil(); - const from = 'from' in d && d.from ? bin(d.from) : nil(); - const to = 'to' in d && d.to ? bin(d.to) : nil(); - const created = 'created' in d && d.created ? encode(d.created) : nil(); - let files = []; if ('files' in d && d.files) { - d.files.forEach((x) => { - files.push(encode(x)); - }); - files = { t: 108, v: files }; - } else { files = nil(); } - const type = 'type' in d && d.type ? encode(d.type) : nil(); - const edit_msg = 'edit_msg' in d && d.edit_msg ? number(d.edit_msg) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple( - tup, id, container, feed_id, prev, next, msg_id, from, to, created, files, - type, edit_msg, status - ); -} - -function lenMessage() { return 14; } -function decMessage(d) { - const r = {}; r.tup = 'Message'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? decode(d.v[2]) : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.msg_id = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.from = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.to = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; - r.created = d && d.v[9] ? decode(d.v[9]) : undefined; - r.files = []; - (d && d.v[10] && d.v[10].v) ? - d.v[10].v.forEach((x) => { r.files.push(decode(x)); }) : - r.files = undefined; - r.type = d && d.v[11] ? decode(d.v[11]) : undefined; - r.edit_msg = d && d.v[12] ? d.v[12].v : undefined; - r.status = d && d.v[13] ? decode(d.v[13]) : undefined; - return clean(r); -} - -function encRoom(d) { - const tup = atom('Room'); - const id = 'id' in d && d.id ? bin(d.id) : nil(); - const name = 'name' in d && d.name ? bin(d.name) : nil(); - const description = 'description' in d && d.description ? bin(d.description) : nil(); - let settings = []; if ('settings' in d && d.settings) { - d.settings.forEach((x) => { - settings.push(encode(x)); - }); - settings = { t: 108, v: settings }; - } else { settings = nil(); } - let members = []; if ('members' in d && d.members) { - d.members.forEach((x) => { - members.push(encode(x)); - }); - members = { t: 108, v: members }; - } else { members = nil(); } - let admins = []; if ('admins' in d && d.admins) { - d.admins.forEach((x) => { - admins.push(encode(x)); - }); - admins = { t: 108, v: admins }; - } else { admins = nil(); } - let data = []; if ('data' in d && d.data) { - d.data.forEach((x) => { - data.push(encode(x)); - }); - data = { t: 108, v: data }; - } else { data = nil(); } - const type = 'type' in d && d.type ? encode(d.type) : nil(); - const tos = 'tos' in d && d.tos ? bin(d.tos) : nil(); - const tos_update = 'tos_update' in d && d.tos_update ? number(d.tos_update) : nil(); - const unread = 'unread' in d && d.unread ? number(d.unread) : nil(); - const last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); - const update = 'update' in d && d.update ? number(d.update) : nil(); - const created = 'created' in d && d.created ? number(d.created) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple( - tup, id, name, description, settings, members, admins, data, type, tos, tos_update, - unread, last_msg, update, created, status - ); -} - -function lenRoom() { return 16; } -function decRoom(d) { - const r = {}; r.tup = 'Room'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.description = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.settings = []; - (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach((x) => { r.settings.push(decode(x)); }) : - r.settings = undefined; - r.members = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach((x) => { r.members.push(decode(x)); }) : - r.members = undefined; - r.admins = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach((x) => { r.admins.push(decode(x)); }) : - r.admins = undefined; - r.data = []; - (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach((x) => { r.data.push(decode(x)); }) : - r.data = undefined; - r.type = d && d.v[8] ? decode(d.v[8]) : undefined; - r.tos = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; - r.tos_update = d && d.v[10] ? d.v[10].v : undefined; - r.unread = d && d.v[11] ? d.v[11].v : undefined; - r.last_msg = d && d.v[12] ? decode(d.v[12]) : undefined; - r.update = d && d.v[13] ? d.v[13].v : undefined; - r.created = d && d.v[14] ? d.v[14].v : undefined; - r.status = d && d.v[15] ? decode(d.v[15]) : undefined; - return clean(r); -} - -function encTag(d) { - const tup = atom('Tag'); - const roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - const name = 'name' in d && d.name ? bin(d.name) : nil(); - const color = 'color' in d && d.color ? bin(d.color) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup, roster_id, name, color, status); -} - -function lenTag() { return 5; } -function decTag(d) { - const r = {}; r.tup = 'Tag'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.color = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.status = d && d.v[4] ? decode(d.v[4]) : undefined; - return clean(r); -} - -function encStar(d) { - const tup = atom('Star'); - const roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - const message = 'message' in d && d.message ? encode(d.message) : nil(); - let tags = []; if ('tags' in d && d.tags) { - d.tags.forEach((x) => { - tags.push(encode(x)); - }); - tags = { t: 108, v: tags }; - } else { tags = nil(); } - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup, roster_id, message, tags, status); -} - -function lenStar() { return 5; } -function decStar(d) { - const r = {}; r.tup = 'Star'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.message = d && d.v[2] ? decode(d.v[2]) : undefined; - r.tags = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach((x) => { r.tags.push(decode(x)); }) : - r.tags = undefined; - r.status = d && d.v[4] ? decode(d.v[4]) : undefined; - return clean(r); -} - -function encHistory(d) { - const tup = atom('History'); - const roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - const size = 'size' in d && d.size ? number(d.size) : nil(); - const entity_id = 'entity_id' in d && d.entity_id ? number(d.entity_id) : nil(); - let data = []; if ('data' in d && d.data) { - d.data.forEach((x) => { - data.push(encode(x)); - }); - data = { t: 108, v: data }; - } else { data = nil(); } - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup, roster_id, feed, size, entity_id, data, status); -} - -function lenHistory() { return 7; } -function decHistory(d) { - const r = {}; r.tup = 'History'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.feed = d && d.v[2] ? decode(d.v[2]) : undefined; - r.size = d && d.v[3] ? d.v[3].v : undefined; - r.entity_id = d && d.v[4] ? d.v[4].v : undefined; - r.data = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach((x) => { r.data.push(decode(x)); }) : - r.data = undefined; - r.status = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); -} - -function encTyping(d) { - const tup = atom('Typing'); - const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - const comments = 'comments' in d && d.comments ? encode(d.comments) : nil(); - return tuple(tup, phone_id, comments); -} - -function lenTyping() { return 3; } -function decTyping(d) { - const r = {}; r.tup = 'Typing'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.comments = d && d.v[2] ? decode(d.v[2].v) : undefined; - return clean(r); -} - -function encContact(d) { - const tup = atom('Contact'); - const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - const avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - const names = 'names' in d && d.names ? bin(d.names) : nil(); - const surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - const nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); - const email = 'email' in d && d.email ? bin(d.email) : nil(); - const vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); - const reader = 'reader' in d && d.reader ? number(d.reader) : nil(); - const unread = 'unread' in d && d.unread ? number(d.unread) : nil(); - const last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); - const update = 'update' in d && d.update ? number(d.update) : nil(); - let settings = []; if ('settings' in d && d.settings) { - d.settings.forEach((x) => { - settings.push(encode(x)); - }); - settings = { t: 108, v: settings }; - } else { settings = nil(); } - const presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple( - tup, phone_id, avatar, names, surnames, nick, email, vox_id, reader, unread, last_msg, - update, settings, presence, status - ); -} - -function lenContact() { return 15; } -function decContact(d) { - const r = {}; r.tup = 'Contact'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.avatar = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.names = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.surnames = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.email = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.vox_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.reader = d && d.v[8] ? d.v[8].v : undefined; - r.unread = d && d.v[9] ? d.v[9].v : undefined; - r.last_msg = d && d.v[10] ? decode(d.v[10]) : undefined; - r.update = d && d.v[11] ? d.v[11].v : undefined; - r.settings = []; - (d && d.v[12] && d.v[12].v) ? - d.v[12].v.forEach((x) => { r.settings.push(decode(x)); }) : - r.settings = undefined; - r.presence = d && d.v[13] ? d.v[13].v : undefined; - r.status = d && d.v[14] ? decode(d.v[14]) : undefined; - return clean(r); -} - -function encAuth(d) { - const tup = atom('Auth'); - const client_id = 'client_id' in d && d.client_id ? bin(d.client_id) : nil(); - const dev_key = 'dev_key' in d && d.dev_key ? bin(d.dev_key) : nil(); - const user_id = 'user_id' in d && d.user_id ? bin(d.user_id) : nil(); - const phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - const token = 'token' in d && d.token ? bin(d.token) : nil(); - const type = 'type' in d && d.type ? atom(d.type) : nil(); - const sms_code = 'sms_code' in d && d.sms_code ? bin(d.sms_code) : nil(); - const attempts = 'attempts' in d && d.attempts ? number(d.attempts) : nil(); - let services = []; if ('services' in d && d.services) { - d.services.forEach((x) => { - services.push(encode(x)); - }); - services = { t: 108, v: services }; - } else { services = nil(); } - const push = 'push' in d && d.push ? bin(d.push) : nil(); - const os = 'os' in d && d.os ? encode(d.os) : nil(); - const created = 'created' in d && d.created ? encode(d.created) : nil(); - const last_online = 'last_online' in d && d.last_online ? number(d.last_online) : nil(); - return tuple( - tup, client_id, dev_key, user_id, phone, token, type, sms_code, attempts, services, push, - os, created, last_online - ); -} - -function lenAuth() { return 14; } -function decAuth(d) { - const r = {}; r.tup = 'Auth'; - r.client_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.dev_key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.user_id = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.phone = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.token = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.type = d && d.v[6] ? d.v[6].v : undefined; - r.sms_code = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.attempts = d && d.v[8] ? d.v[8].v : undefined; - r.services = []; - (d && d.v[9] && d.v[9].v) ? - d.v[9].v.forEach((x) => { r.services.push(decode(x)); }) : - r.services = undefined; - r.push = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.os = d && d.v[11] ? decode(d.v[11]) : undefined; - r.created = d && d.v[12] ? decode(d.v[12]) : undefined; - r.last_online = d && d.v[13] ? d.v[13].v : undefined; - return clean(r); -} - -function encService(d) { - const tup = atom('Service'); - const id = 'id' in d && d.id ? bin(d.id) : nil(); - const type = 'type' in d && d.type ? atom(d.type) : nil(); - const data = 'data' in d && d.data ? encode(d.data) : nil(); - const login = 'login' in d && d.login ? bin(d.login) : nil(); - const password = 'password' in d && d.password ? bin(d.password) : nil(); - const expiration = 'expiration' in d && d.expiration ? number(d.expiration) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup, id, type, data, login, password, expiration, status); -} - -function lenService() { return 8; } -function decService(d) { - const r = {}; r.tup = 'Service'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.type = d && d.v[2] ? decode(d.v[2]) : undefined; - r.data = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.login = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.password = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.expiration = d && d.v[6] ? d.v[6].v : undefined; - r.status = d && d.v[7] ? decode(d.v[7]) : undefined; - return clean(r); -} - -function encRoster(d) { - const tup = atom('Roster'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const names = 'names' in d && d.names ? bin(d.names) : nil(); - const surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - const email = 'email' in d && d.email ? bin(d.email) : nil(); - const nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); - let userlist = []; if ('userlist' in d && d.userlist) { - d.userlist.forEach((x) => { - userlist.push(encode(x)); - }); - userlist = { t: 108, v: userlist }; - } else { userlist = nil(); } - let roomlist = []; if ('roomlist' in d && d.roomlist) { - d.roomlist.forEach((x) => { - roomlist.push(encode(x)); - }); - roomlist = { t: 108, v: roomlist }; - } else { roomlist = nil(); } - let favorite = []; if ('favorite' in d && d.favorite) { - d.favorite.forEach((x) => { - favorite.push(encode(x)); - }); - favorite = { t: 108, v: favorite }; - } else { favorite = nil(); } - let tags = []; if ('tags' in d && d.tags) { - d.tags.forEach((x) => { - tags.push(encode(x)); - }); - tags = { t: 108, v: tags }; - } else { tags = nil(); } - const phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - const avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - const update = 'update' in d && d.update ? number(d.update) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple( - tup, id, names, surnames, email, nick, userlist, roomlist, favorite, tags, phone, - avatar, update, status - ); -} - -function lenRoster() { return 14; } -function decRoster(d) { - const r = {}; r.tup = 'Roster'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.names = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.surnames = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.email = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.userlist = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach((x) => { r.userlist.push(decode(x)); }) : - r.userlist = undefined; - r.roomlist = []; - (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach((x) => { r.roomlist.push(decode(x)); }) : - r.roomlist = undefined; - r.favorite = []; - (d && d.v[8] && d.v[8].v) ? - d.v[8].v.forEach((x) => { r.favorite.push(decode(x)); }) : - r.favorite = undefined; - r.tags = []; - (d && d.v[9] && d.v[9].v) ? - d.v[9].v.forEach((x) => { r.tags.push(decode(x)); }) : - r.tags = undefined; - r.phone = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.avatar = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.update = d && d.v[12] ? d.v[12].v : undefined; - r.status = d && d.v[13] ? decode(d.v[13]) : undefined; - return clean(r); -} - -function encProfile(d) { - const tup = atom('Profile'); - const phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - let services = []; if ('services' in d && d.services) { - d.services.forEach((x) => { - services.push(encode(x)); - }); - services = { t: 108, v: services }; - } else { services = nil(); } - let rosters = []; if ('rosters' in d && d.rosters) { - d.rosters.forEach((x) => { - rosters.push(encode(x)); - }); - rosters = { t: 108, v: rosters }; - } else { rosters = nil(); } - let settings = []; if ('settings' in d && d.settings) { - d.settings.forEach((x) => { - settings.push(encode(x)); - }); - settings = { t: 108, v: settings }; - } else { settings = nil(); } - const update = 'update' in d && d.update ? number(d.update) : nil(); - const balance = 'balance' in d && d.balance ? number(d.balance) : nil(); - const presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup, phone, services, rosters, settings, update, balance, presence, status); -} - -function lenProfile() { return 9; } -function decProfile(d) { - const r = {}; r.tup = 'Profile'; - r.phone = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.services = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach((x) => { r.services.push(decode(x)); }) : - r.services = undefined; - r.rosters = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach((x) => { r.rosters.push(decode(x)); }) : - r.rosters = undefined; - r.settings = []; - (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach((x) => { r.settings.push(decode(x)); }) : - r.settings = undefined; - r.update = d && d.v[5] ? d.v[5].v : undefined; - r.balance = d && d.v[6] ? d.v[6].v : undefined; - r.presence = d && d.v[7] ? d.v[7].v : undefined; - r.status = d && d.v[8] ? d.v[8].v : undefined; - return clean(r); -} - -function encLoc(d) { - const tup = atom('Loc'); - const x = 'x' in d && d.x ? bin(d.x) : nil(); - const y = 'y' in d && d.y ? bin(d.y) : nil(); - const z = 'z' in d && d.z ? bin(d.z) : nil(); - return tuple(tup, x, y, z); -} - -function lenLoc() { return 4; } -function decLoc(d) { - const r = {}; r.tup = 'Loc'; - r.x = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.y = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.z = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - return clean(r); -} - -function encFriend(d) { - const tup = atom('Friend'); - const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - const friend_id = 'friend_id' in d && d.friend_id ? bin(d.friend_id) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup, phone_id, friend_id, status); -} - -function lenFriend() { return 4; } -function decFriend(d) { - const r = {}; r.tup = 'Friend'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.friend_id = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.status = d && d.v[3] ? decode(d.v[3]) : undefined; - return clean(r); -} - -function encCallMember(d) { - const tup = atom('CallMember'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const container = 'container' in d && d.container ? encode(d.container) : nil(); - const feed_id = 'feed_id' in d && d.feed_id ? bin(d.feed_id) : nil(); - const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - const next = 'next' in d && d.next ? number(d.next) : nil(); - const contact = 'contact' in d && d.contact ? encode(d.contact) : nil(); - const start = 'start' in d && d.start ? number(d.start) : nil(); - const stop = 'stop' in d && d.stop ? number(d.stop) : nil(); - const type = 'type' in d && d.type ? encode(d.type) : nil(); - const desc = 'desc' in d && d.desc ? bin(d.desc) : nil(); - const tariff = 'tariff' in d && d.tariff ? bin(d.tariff) : nil(); - const bill = 'bill' in d && d.bill ? number(d.bill) : nil(); - const duration = 'duration' in d && d.duration ? number(d.duration) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple( - tup, id, container, feed_id, prev, next, contact, start, stop, type, desc, - tariff, bill, duration, status - ); -} - -function lenCallMember() { return 15; } -function decCallMember(d) { - const r = {}; r.tup = 'CallMember'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? decode(d.v[2]) : undefined; - r.feed_id = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.contact = d && d.v[6] ? decode(d.v[6]) : undefined; - r.start = d && d.v[7] ? d.v[7].v : undefined; - r.stop = d && d.v[8] ? d.v[8].v : undefined; - r.type = d && d.v[9] ? decode(d.v[9]) : undefined; - r.desc = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.tariff = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.bill = d && d.v[12] ? d.v[12].v : undefined; - r.duration = d && d.v[13] ? d.v[13].v : undefined; - r.status = d && d.v[14] ? decode(d.v[14]) : undefined; - return clean(r); -} - -function encCall(d) { - const tup = atom('Call'); - const id = 'id' in d && d.id ? bin(d.id) : nil(); - const from = 'from' in d && d.from ? bin(d.from) : nil(); - let members = []; if ('members' in d && d.members) { - d.members.forEach((x) => { - members.push(encode(x)); - }); - members = { t: 108, v: members }; - } else { members = nil(); } - const start = 'start' in d && d.start ? number(d.start) : nil(); - const stop = 'stop' in d && d.stop ? number(d.stop) : nil(); - const vox_url = 'vox_url' in d && d.vox_url ? bin(d.vox_url) : nil(); - const status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup, id, from, members, start, stop, vox_url, status); -} - -function lenCall() { return 8; } -function decCall(d) { - const r = {}; r.tup = 'Call'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.from = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.members = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach((x) => { r.members.push(decode(x)); }) : - r.members = undefined; - r.start = d && d.v[4] ? d.v[4].v : undefined; - r.stop = d && d.v[5] ? d.v[5].v : undefined; - r.vox_url = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.status = d && d.v[7] ? decode(d.v[7]) : undefined; - return clean(r); -} - -function encIndex(d) { - const tup = atom('Index'); - const id = 'id' in d && d.id ? encode(d.id) : nil(); - let roster = []; if ('roster' in d && d.roster) { - d.roster.forEach((x) => { - roster.push(encode(x)); - }); - roster = { t: 108, v: roster }; - } else { roster = nil(); } - return tuple(tup, id, roster); -} - -function lenIndex() { return 3; } -function decIndex(d) { - const r = {}; r.tup = 'Index'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.roster = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach((x) => { r.roster.push(decode(x)); }) : - r.roster = undefined; - return clean(r); -} - -function encerror(d) { - const tup = atom('error'); - const code = 'code' in d && d.code ? encode(d.code) : nil(); - return tuple(tup, code); -} - -function lenerror() { return 2; } -function decerror(d) { - const r = {}; r.tup = 'error'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - return clean(r); -} - -function encok(d) { - const tup = atom('ok'); - const code = 'code' in d && d.code ? encode(d.code) : nil(); - return tuple(tup, code); -} - -function lenok() { return 2; } -function decok(d) { - const r = {}; r.tup = 'ok'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - return clean(r); -} - -function encerror2(d) { - const tup = atom('error2'); - const code = 'code' in d && d.code ? atom(d.code) : nil(); - const src = 'src' in d && d.src ? encode(d.src) : nil(); - return tuple(tup, code, src); -} - -function lenerror2() { return 3; } -function decerror2(d) { - const r = {}; r.tup = 'error2'; - r.code = d && d.v[1] ? d.v[1].v : undefined; - r.src = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); -} - -function encok2(d) { - const tup = atom('ok2'); - const code = 'code' in d && d.code ? atom(d.code) : nil(); - const src = 'src' in d && d.src ? encode(d.src) : nil(); - return tuple(tup, code, src); -} - -function lenok2() { return 3; } -function decok2(d) { - const r = {}; r.tup = 'ok2'; - r.code = d && d.v[1] ? d.v[1].v : undefined; - r.src = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); -} - -function encio(d) { - const tup = atom('io'); - const code = 'code' in d && d.code ? encode(d.code) : nil(); - const data = 'data' in d && d.data ? encode(d.data) : nil(); - return tuple(tup, code, data); -} - -function lenio() { return 3; } -function decio(d) { - const r = {}; r.tup = 'io'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - r.data = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); -} - -function encmax_tour(d) { - const tup = atom('max_tour'); - const count = 'count' in d && d.count ? number(d.count) : nil(); - const joined = 'joined' in d && d.joined ? number(d.joined) : nil(); - return tuple(tup, count, joined); -} - -function lenmax_tour() { return 3; } -function decmax_tour(d) { - const r = {}; r.tup = 'max_tour'; - r.count = d && d.v[1] ? d.v[1].v : undefined; - r.joined = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); -} - -function encjoin_application(d) { - const tup = atom('join_application'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const name = 'name' in d && d.name ? bin(d.name) : nil(); - const data = 'data' in d && d.data ? encode(d.data) : nil(); - return tuple(tup, id, name, data); -} - -function lenjoin_application() { return 4; } -function decjoin_application(d) { - const r = {}; r.tup = 'join_application'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.data = d && d.v[3] ? decode(d.v[3].v) : undefined; - return clean(r); -} - -function enctour_list(d) { - const tup = atom('tour_list'); - let users = []; if ('users' in d && d.users) { - d.users.forEach((x) => { - users.push(encode(x)); - }); - users = { t: 108, v: users }; - } else { users = nil(); } - return tuple(tup, users); -} - -function lentour_list() { return 2; } -function dectour_list(d) { - const r = {}; r.tup = 'tour_list'; - r.users = []; - (d && d.v[1] && d.v[1].v) ? - d.v[1].v.forEach((x) => { r.users.push(decode(x)); }) : - r.users = undefined; - return clean(r); -} - -function enctask(d) { - const tup = atom('task'); - const name = 'name' in d && d.name ? atom(d.name) : nil(); - const roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); - const module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup, name, roles, module); -} - -function lentask() { return 4; } -function dectask(d) { - const r = {}; r.tup = 'task'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.module = d && d.v[3] ? d.v[3].v : undefined; - return clean(r); -} - -function encuserTask(d) { - const tup = atom('userTask'); - const name = 'name' in d && d.name ? atom(d.name) : nil(); - const roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); - const module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup, name, roles, module); -} - -function lenuserTask() { return 4; } -function decuserTask(d) { - const r = {}; r.tup = 'userTask'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.module = d && d.v[3] ? d.v[3].v : undefined; - return clean(r); -} - -function encserviceTask(d) { - const tup = atom('serviceTask'); - const name = 'name' in d && d.name ? atom(d.name) : nil(); - const roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); - const module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup, name, roles, module); -} - -function lenserviceTask() { return 4; } -function decserviceTask(d) { - const r = {}; r.tup = 'serviceTask'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.module = d && d.v[3] ? d.v[3].v : undefined; - return clean(r); -} - -function encreceiveTask(d) { - const tup = atom('receiveTask'); - const name = 'name' in d && d.name ? atom(d.name) : nil(); - const roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); - const module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup, name, roles, module); -} - -function lenreceiveTask() { return 4; } -function decreceiveTask(d) { - const r = {}; r.tup = 'receiveTask'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.module = d && d.v[3] ? d.v[3].v : undefined; - return clean(r); -} - -function encmessageEvent(d) { - const tup = atom('messageEvent'); - const name = 'name' in d && d.name ? atom(d.name) : nil(); - const payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); - const timeout = 'timeout' in d && d.timeout ? encode(d.timeout) : nil(); - return tuple(tup, name, payload, timeout); -} - -function lenmessageEvent() { return 4; } -function decmessageEvent(d) { - const r = {}; r.tup = 'messageEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.timeout = d && d.v[3] ? decode(d.v[3].v) : undefined; - return clean(r); -} - -function encboundaryEvent(d) { - const tup = atom('boundaryEvent'); - const name = 'name' in d && d.name ? atom(d.name) : nil(); - const payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); - const timeout = 'timeout' in d && d.timeout ? encode(d.timeout) : nil(); - const timeDate = 'timeDate' in d && d.timeDate ? bin(d.timeDate) : nil(); - const timeDuration = 'timeDuration' in d && d.timeDuration ? bin(d.timeDuration) : nil(); - const timeCycle = 'timeCycle' in d && d.timeCycle ? bin(d.timeCycle) : nil(); - const module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup, name, payload, timeout, timeDate, timeDuration, timeCycle, module); -} - -function lenboundaryEvent() { return 8; } -function decboundaryEvent(d) { - const r = {}; r.tup = 'boundaryEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.timeout = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.timeDate = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.timeDuration = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.timeCycle = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.module = d && d.v[7] ? d.v[7].v : undefined; - return clean(r); -} - -function enctimeoutEvent(d) { - const tup = atom('timeoutEvent'); - const name = 'name' in d && d.name ? atom(d.name) : nil(); - const payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); - const timeout = 'timeout' in d && d.timeout ? encode(d.timeout) : nil(); - const timeDate = 'timeDate' in d && d.timeDate ? bin(d.timeDate) : nil(); - const timeDuration = 'timeDuration' in d && d.timeDuration ? bin(d.timeDuration) : nil(); - const timeCycle = 'timeCycle' in d && d.timeCycle ? bin(d.timeCycle) : nil(); - const module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup, name, payload, timeout, timeDate, timeDuration, timeCycle, module); -} - -function lentimeoutEvent() { return 8; } -function dectimeoutEvent(d) { - const r = {}; r.tup = 'timeoutEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.timeout = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.timeDate = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.timeDuration = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.timeCycle = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.module = d && d.v[7] ? d.v[7].v : undefined; - return clean(r); -} - -function encbeginEvent(d) { - const tup = atom('beginEvent'); - const name = 'name' in d && d.name ? atom(d.name) : nil(); - const module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup, name, module); -} - -function lenbeginEvent() { return 3; } -function decbeginEvent(d) { - const r = {}; r.tup = 'beginEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.module = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); -} - -function encendEvent(d) { - const tup = atom('endEvent'); - const name = 'name' in d && d.name ? atom(d.name) : nil(); - const module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup, name, module); -} - -function lenendEvent() { return 3; } -function decendEvent(d) { - const r = {}; r.tup = 'endEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.module = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); -} - -function encsequenceFlow(d) { - const tup = atom('sequenceFlow'); - const source = 'source' in d && d.source ? atom(d.source) : nil(); - const target = 'target' in d && d.target ? atom(d.target) : nil(); - return tuple(tup, source, target); -} - -function lensequenceFlow() { return 3; } -function decsequenceFlow(d) { - const r = {}; r.tup = 'sequenceFlow'; - r.source = d && d.v[1] ? d.v[1].v : undefined; - r.target = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); -} - -function enchist(d) { - const tup = atom('hist'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const container = 'container' in d && d.container ? atom(d.container) : nil(); - const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - const next = 'next' in d && d.next ? number(d.next) : nil(); - let feeds = []; if ('feeds' in d && d.feeds) { - d.feeds.forEach((x) => { - feeds.push(encode(x)); - }); - feeds = { t: 108, v: feeds }; - } else { feeds = nil(); } - const name = 'name' in d && d.name ? bin(d.name) : nil(); - const task = 'task' in d && d.task ? atom(d.task) : nil(); - const time = 'time' in d && d.time ? encode(d.time) : nil(); - return tuple(tup, id, container, feed_id, prev, next, feeds, name, task, time); -} - -function lenhist() { return 10; } -function dechist(d) { - const r = {}; r.tup = 'hist'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : - r.feeds = undefined; - r.name = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.task = d && d.v[8] ? d.v[8].v : undefined; - r.time = d && d.v[9] ? decode(d.v[9].v) : undefined; - return clean(r); -} - -function encprocess(d) { - const tup = atom('process'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const container = 'container' in d && d.container ? atom(d.container) : nil(); - const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - const next = 'next' in d && d.next ? number(d.next) : nil(); - let feeds = []; if ('feeds' in d && d.feeds) { - d.feeds.forEach((x) => { - feeds.push(encode(x)); - }); - feeds = { t: 108, v: feeds }; - } else { feeds = nil(); } - const name = 'name' in d && d.name ? bin(d.name) : nil(); - let roles = []; if ('roles' in d && d.roles) { - d.roles.forEach((x) => { - roles.push(encode(x)); - }); - roles = { t: 108, v: roles }; - } else { roles = nil(); } - let tasks = []; if ('tasks' in d && d.tasks) { - d.tasks.forEach((x) => { - tasks.push(encode(x)); - }); - tasks = { t: 108, v: tasks }; - } else { tasks = nil(); } - let events = []; if ('events' in d && d.events) { - d.events.forEach((x) => { - events.push(encode(x)); - }); - events = { t: 108, v: events }; - } else { events = nil(); } - const hist = 'hist' in d && d.hist ? encode(d.hist) : nil(); - let flows = []; if ('flows' in d && d.flows) { - d.flows.forEach((x) => { - flows.push(encode(x)); - }); - flows = { t: 108, v: flows }; - } else { flows = nil(); } - const rules = 'rules' in d && d.rules ? encode(d.rules) : nil(); - let docs = []; if ('docs' in d && d.docs) { - d.docs.forEach((x) => { - docs.push(encode(x)); - }); - docs = { t: 108, v: docs }; - } else { docs = nil(); } - const options = 'options' in d && d.options ? encode(d.options) : nil(); - const task = 'task' in d && d.task ? atom(d.task) : nil(); - const timer = 'timer' in d && d.timer ? bin(d.timer) : nil(); - const notifications = 'notifications' in d && d.notifications ? encode(d.notifications) : nil(); - const result = 'result' in d && d.result ? bin(d.result) : nil(); - const started = 'started' in d && d.started ? bin(d.started) : nil(); - const beginEvent = 'beginEvent' in d && d.beginEvent ? atom(d.beginEvent) : nil(); - const endEvent = 'endEvent' in d && d.endEvent ? atom(d.endEvent) : nil(); - return tuple( - tup, id, container, feed_id, prev, next, feeds, name, roles, tasks, events, - hist, flows, rules, docs, options, task, timer, notifications, result, started, beginEvent, endEvent - ); -} - -function lenprocess() { return 23; } -function decprocess(d) { - const r = {}; r.tup = 'process'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : - r.feeds = undefined; - r.name = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.roles = []; - (d && d.v[8] && d.v[8].v) ? - d.v[8].v.forEach((x) => { r.roles.push(decode(x)); }) : - r.roles = undefined; - r.tasks = []; - (d && d.v[9] && d.v[9].v) ? - d.v[9].v.forEach((x) => { r.tasks.push(decode(x)); }) : - r.tasks = undefined; - r.events = []; - (d && d.v[10] && d.v[10].v) ? - d.v[10].v.forEach((x) => { r.events.push(decode(x)); }) : - r.events = undefined; - r.hist = d && d.v[11] ? decode(d.v[11]) : undefined; - r.flows = []; - (d && d.v[12] && d.v[12].v) ? - d.v[12].v.forEach((x) => { r.flows.push(decode(x)); }) : - r.flows = undefined; - r.rules = d && d.v[13] ? decode(d.v[13]) : undefined; - r.docs = []; - (d && d.v[14] && d.v[14].v) ? - d.v[14].v.forEach((x) => { r.docs.push(decode(x)); }) : - r.docs = undefined; - r.options = d && d.v[15] ? decode(d.v[15].v) : undefined; - r.task = d && d.v[16] ? d.v[16].v : undefined; - r.timer = d && d.v[17] ? utf8_dec(d.v[17].v) : undefined; - r.notifications = d && d.v[18] ? decode(d.v[18].v) : undefined; - r.result = d && d.v[19] ? utf8_dec(d.v[19].v) : undefined; - r.started = d && d.v[20] ? utf8_dec(d.v[20].v) : undefined; - r.beginEvent = d && d.v[21] ? d.v[21].v : undefined; - r.endEvent = d && d.v[22] ? d.v[22].v : undefined; - return clean(r); -} - -function enccomplete(d) { - const tup = atom('complete'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - return tuple(tup, id); -} - -function lencomplete() { return 2; } -function deccomplete(d) { - const r = {}; r.tup = 'complete'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - return clean(r); -} - -function encproc(d) { - const tup = atom('proc'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - return tuple(tup, id); -} - -function lenproc() { return 2; } -function decproc(d) { - const r = {}; r.tup = 'proc'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - return clean(r); -} - -function enchisto(d) { - const tup = atom('histo'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - return tuple(tup, id); -} - -function lenhisto() { return 2; } -function dechisto(d) { - const r = {}; r.tup = 'histo'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - return clean(r); -} - -function enccreate(d) { - const tup = atom('create'); - const proc = 'proc' in d && d.proc ? encode(d.proc) : nil(); - let docs = []; if ('docs' in d && d.docs) { - d.docs.forEach((x) => { - docs.push(encode(x)); - }); - docs = { t: 108, v: docs }; - } else { docs = nil(); } - return tuple(tup, proc, docs); -} - -function lencreate() { return 3; } -function deccreate(d) { - const r = {}; r.tup = 'create'; - r.proc = d && d.v[1] ? decode(d.v[1]) : undefined; - r.docs = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach((x) => { r.docs.push(decode(x)); }) : - r.docs = undefined; - return clean(r); -} - -function encamend(d) { - const tup = atom('amend'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - let docs = []; if ('docs' in d && d.docs) { - d.docs.forEach((x) => { - docs.push(encode(x)); - }); - docs = { t: 108, v: docs }; - } else { docs = nil(); } - return tuple(tup, id, docs); -} - -function lenamend() { return 3; } -function decamend(d) { - const r = {}; r.tup = 'amend'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.docs = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach((x) => { r.docs.push(decode(x)); }) : - r.docs = undefined; - return clean(r); -} - -function encJob(d) { - const tup = atom('Job'); - const id = 'id' in d && d.id ? number(d.id) : nil(); - const proc = 'proc' in d && d.proc ? encode(d.proc) : nil(); - let docs = []; if ('docs' in d && d.docs) { - d.docs.forEach((x) => { - docs.push(encode(x)); - }); - docs = { t: 108, v: docs }; - } else { docs = nil(); } - const time = 'time' in d && d.time ? number(d.time) : nil(); - let events = []; if ('events' in d && d.events) { - d.events.forEach((x) => { - events.push(encode(x)); - }); - events = { t: 108, v: events }; - } else { events = nil(); } - const status = 'status' in d && d.status ? encode(d.status) : nil(); - return tuple(tup, id, proc, docs, time, events, status); -} - -function lenJob() { return 7; } -function decJob(d) { - const r = {}; r.tup = 'Job'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.proc = d && d.v[2] ? decode(d.v[2]) : undefined; - r.docs = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach((x) => { r.docs.push(decode(x)); }) : - r.docs = undefined; - r.time = d && d.v[4] ? d.v[4].v : undefined; - r.events = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach((x) => { r.events.push(decode(x)); }) : - r.events = undefined; - r.status = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); -} - -function encTest(d) { - const tup = atom('Test'); - const type = 'type' in d && d.type ? atom(d.type) : nil(); - const count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup, type, count); -} - -function lenTest() { return 3; } -function decTest(d) { - const r = {}; r.tup = 'Test'; - r.type = d && d.v[1] ? decode(d.v[1]) : undefined; - r.count = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); -} - diff --git a/src/assets/vendor/utils/recorder.js b/src/assets/vendor/utils/recorder.js deleted file mode 100644 index 89caafa71bb2001dd37ceb81071e37ace2a169d1..0000000000000000000000000000000000000000 --- a/src/assets/vendor/utils/recorder.js +++ /dev/null @@ -1,355 +0,0 @@ -(function (f) { if (typeof exports === 'object' && typeof module !== 'undefined') { module.exports = f(); } else if (typeof define === 'function' && define.amd) { define([], f); } else { let g; if (typeof window !== 'undefined') { g = window; } else if (typeof global !== 'undefined') { g = global; } else if (typeof self !== 'undefined') { g = self; } else { g = this; }g.Recorder = f(); } }(() => { - let define, - module, - exports; return (function e(t, n, r) { function s(o, u) { if (!n[o]) { if (!t[o]) { const a = typeof require === 'function' && require; if (!u && a) return a(o, !0); if (i) return i(o, !0); const f = new Error(`Cannot find module '${o}'`); throw f.code = 'MODULE_NOT_FOUND', f; } const l = n[o] = { exports: {} }; t[o][0].call(l.exports, (e) => { const n = t[o][1][e]; return s(n || e); }, l, l.exports, e, t, n, r); } return n[o].exports; } var i = typeof require === 'function' && require; for (let o = 0; o < r.length; o++)s(r[o]); return s; }({ - 1: [function (require, module, exports) { - module.exports = require('./recorder').Recorder; - }, { './recorder': 2 }], - 2: [function (require, module, exports) { - const _createClass = (function () { - function defineProperties(target, props) { - for (let i = 0; i < props.length; i++) { - const descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); - } - } return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; - }; - }()); - - Object.defineProperty(exports, '__esModule', { - value: true - }); - exports.Recorder = undefined; - - const _inlineWorker = require('inline-worker'); - - const _inlineWorker2 = _interopRequireDefault(_inlineWorker); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError('Cannot call a class as a function'); - } - } - - const Recorder = exports.Recorder = (function () { - function Recorder(source, cfg) { - const _this = this; - - _classCallCheck(this, Recorder); - - this.config = { - bufferLen: 4096, - numChannels: 2, - mimeType: 'audio/wav' - }; - this.recording = false; - this.callbacks = { - getBuffer: [], - exportWAV: [] - }; - - Object.assign(this.config, cfg); - this.context = source.context; - this.node = (this.context.createScriptProcessor || this.context.createJavaScriptNode).call(this.context, this.config.bufferLen, this.config.numChannels, this.config.numChannels); - - this.node.onaudioprocess = function (e) { - if (!_this.recording) return; - - const buffer = []; - for (let channel = 0; channel < _this.config.numChannels; channel++) { - buffer.push(e.inputBuffer.getChannelData(channel)); - } - _this.worker.postMessage({ - command: 'record', - buffer - }); - }; - - source.connect(this.node); - this.node.connect(this.context.destination); // this should not be necessary - - const self = {}; - this.worker = new _inlineWorker2.default((() => { - let recLength = 0, - recBuffers = [], - sampleRate, - numChannels; - - self.onmessage = function (e) { - switch (e.data.command) { - case 'init': - init(e.data.config); - break; - case 'record': - record(e.data.buffer); - break; - case 'exportWAV': - exportWAV(e.data.type); - break; - case 'getBuffer': - getBuffer(); - break; - case 'clear': - clear(); - break; - } - }; - - function init(config) { - sampleRate = config.sampleRate; - numChannels = config.numChannels; - initBuffers(); - } - - function record(inputBuffer) { - for (let channel = 0; channel < numChannels; channel++) { - recBuffers[channel].push(inputBuffer[channel]); - } - recLength += inputBuffer[0].length; - } - - function exportWAV(type) { - const buffers = []; - for (let channel = 0; channel < numChannels; channel++) { - buffers.push(mergeBuffers(recBuffers[channel], recLength)); - } - let interleaved; - if (numChannels === 2) { - interleaved = interleave(buffers[0], buffers[1]); - } else { - interleaved = buffers[0]; - } - const dataview = encodeWAV(interleaved); - const audioBlob = new Blob([dataview], { type }); - - self.postMessage({ command: 'exportWAV', data: audioBlob }); - } - - function getBuffer() { - const buffers = []; - for (let channel = 0; channel < numChannels; channel++) { - buffers.push(mergeBuffers(recBuffers[channel], recLength)); - } - self.postMessage({ command: 'getBuffer', data: buffers }); - } - - function clear() { - recLength = 0; - recBuffers = []; - initBuffers(); - } - - function initBuffers() { - for (let channel = 0; channel < numChannels; channel++) { - recBuffers[channel] = []; - } - } - - function mergeBuffers(recBuffers, recLength) { - const result = new Float32Array(recLength); - let offset = 0; - for (let i = 0; i < recBuffers.length; i++) { - result.set(recBuffers[i], offset); - offset += recBuffers[i].length; - } - return result; - } - - function interleave(inputL, inputR) { - const length = inputL.length + inputR.length; - const result = new Float32Array(length); - - let index = 0, - inputIndex = 0; - - while (index < length) { - result[index++] = inputL[inputIndex]; - result[index++] = inputR[inputIndex]; - inputIndex++; - } - return result; - } - - function floatTo16BitPCM(output, offset, input) { - for (let i = 0; i < input.length; i++, offset += 2) { - const s = Math.max(-1, Math.min(1, input[i])); - output.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7FFF, true); - } - } - - function writeString(view, offset, string) { - for (let i = 0; i < string.length; i++) { - view.setUint8(offset + i, string.charCodeAt(i)); - } - } - - function encodeWAV(samples) { - const buffer = new ArrayBuffer(44 + samples.length * 2); - const view = new DataView(buffer); - - /* RIFF identifier */ - writeString(view, 0, 'RIFF'); - /* RIFF chunk length */ - view.setUint32(4, 36 + samples.length * 2, true); - /* RIFF type */ - writeString(view, 8, 'WAVE'); - /* format chunk identifier */ - writeString(view, 12, 'fmt '); - /* format chunk length */ - view.setUint32(16, 16, true); - /* sample format (raw) */ - view.setUint16(20, 1, true); - /* channel count */ - view.setUint16(22, numChannels, true); - /* sample rate */ - view.setUint32(24, sampleRate, true); - /* byte rate (sample rate * block align) */ - view.setUint32(28, sampleRate * 4, true); - /* block align (channel count * bytes per sample) */ - view.setUint16(32, numChannels * 2, true); - /* bits per sample */ - view.setUint16(34, 16, true); - /* data chunk identifier */ - writeString(view, 36, 'data'); - /* data chunk length */ - view.setUint32(40, samples.length * 2, true); - - floatTo16BitPCM(view, 44, samples); - - return view; - } - }), self); - - this.worker.postMessage({ - command: 'init', - config: { - sampleRate: this.context.sampleRate, - numChannels: this.config.numChannels - } - }); - - this.worker.onmessage = function (e) { - const cb = _this.callbacks[e.data.command].pop(); - if (typeof cb === 'function') { - cb(e.data.data); - } - }; - } - - _createClass(Recorder, [{ - key: 'record', - value: function record() { - this.recording = true; - } - }, { - key: 'stop', - value: function stop() { - this.recording = false; - } - }, { - key: 'clear', - value: function clear() { - this.worker.postMessage({ command: 'clear' }); - } - }, { - key: 'getBuffer', - value: function getBuffer(cb) { - cb = cb || this.config.callback; - if (!cb) throw new Error('Callback not set'); - - this.callbacks.getBuffer.push(cb); - - this.worker.postMessage({ command: 'getBuffer' }); - } - }, { - key: 'exportWAV', - value: function exportWAV(cb, mimeType) { - mimeType = mimeType || this.config.mimeType; - cb = cb || this.config.callback; - if (!cb) throw new Error('Callback not set'); - - this.callbacks.exportWAV.push(cb); - - this.worker.postMessage({ - command: 'exportWAV', - type: mimeType - }); - } - }], [{ - key: 'forceDownload', - value: function forceDownload(blob, filename) { - const url = (window.URL || window.webkitURL).createObjectURL(blob); - const link = window.document.createElement('a'); - link.href = url; - link.download = filename || 'output.wav'; - const click = document.createEvent('Event'); - click.initEvent('click', true, true); - link.dispatchEvent(click); - } - }]); - - return Recorder; - }()); - - exports.default = Recorder; - }, { 'inline-worker': 3 }], - 3: [function (require, module, exports) { - module.exports = require('./inline-worker'); - }, { './inline-worker': 4 }], - 4: [function (require, module, exports) { - (function (global) { - const _createClass = (function () { function defineProperties(target, props) { for (const key in props) { const prop = props[key]; prop.configurable = true; if (prop.value) prop.writable = true; } Object.defineProperties(target, props); } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }()); - - const _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }; - - const WORKER_ENABLED = !!(global === global.window && global.URL && global.Blob && global.Worker); - - const InlineWorker = (function () { - function InlineWorker(func, self) { - const _this = this; - - _classCallCheck(this, InlineWorker); - - if (WORKER_ENABLED) { - const functionBody = func.toString().trim().match(/^function\s*\w*\s*\([\w\s,]*\)\s*{([\w\W]*?)}$/)[1]; - const url = global.URL.createObjectURL(new global.Blob([functionBody], { type: 'text/javascript' })); - - return new global.Worker(url); - } - - this.self = self; - this.self.postMessage = function (data) { - setTimeout(() => { - _this.onmessage({ data }); - }, 0); - }; - - setTimeout(() => { - func.call(self); - }, 0); - } - - _createClass(InlineWorker, { - postMessage: { - value: function postMessage(data) { - const _this = this; - - setTimeout(() => { - _this.self.onmessage({ data }); - }, 0); - } - } - }); - - return InlineWorker; - }()); - - module.exports = InlineWorker; - }).call(this, typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : {}); - }, {}] - }, {}, [1]))(1); -})); diff --git a/src/assets/vendor/utils/signin.js b/src/assets/vendor/utils/signin.js deleted file mode 100644 index da936c23fbb27a55613b9ce01f4a2c90a2759042..0000000000000000000000000000000000000000 --- a/src/assets/vendor/utils/signin.js +++ /dev/null @@ -1,229 +0,0 @@ -let SignInWidget; - -(function () { - let el, - t, - verifyAttempt = 0; - SignInWidget = { - settings: { - geoIpService: '//freegeoip.net/json/', - minNumberDigits: 10, - minCodeDigits: 6, - voiceLinkAfter: 3 - }, - elements: { - countryData: [], - addressDropdown: '#country', - codeInput: '#code', - codeInput2: '#code2', - telRealInput: '#number', - telRealInput2: '#number2', - telInput: '#full-number', - verify: '#verify', - timerBlock: '#timer', - resendSms: '#resendSms', - voiceCall: '#voiceCall', - sendCodeBtn: '#sendCode', - sendVerifyBtn: '#verifyCode', - step: '#step', - stepClass: '.step' - }, - init() { - t = this; - el = this.elements; - - this.subscribe(); - this.initCountry(); - this.initCodePhone(); - this.bindUIActions(); - this.initElementMasks(); - }, - subscribe() { - GlobalWidget.subscribe('io.ok.sms_sent', this, this.smsSent); - GlobalWidget.subscribe('profile.init', GlobalWidget, GlobalWidget.setRosterId); - GlobalWidget.subscribe('roster.patch', this, this.toDashboard); - GlobalWidget.subscribe('io.ok2.login', this, this.login); - }, - initCodePhone() { - $(el.telInput).intlTelInput({ - allowDropdown: false, - initialCountry: 'auto', - geoIpLookup() { - $.get(t.settings.geoIpService, () => { - }, 'jsonp').always((resp) => { - const countryCode = (resp && resp.country_code) ? resp.country_code : ''; - $(el.telInput).intlTelInput('setCountry', countryCode.toLowerCase()); - }); - }, - utilsScript: '../../build/js/utils.js' - }); - }, - initCountry() { - el.countryData = $.fn.intlTelInput.getCountryData(); - $.each(el.countryData, (i, country) => { - $(el.addressDropdown).append($('').attr('value', country.iso2).text(country.name)); - }); - - $(el.addressDropdown).val($(el.telInput).intlTelInput('getSelectedCountryData').iso2); - }, - initElementMasks() { - $(el.codeInput).mask('+0000', { placeholder: '+----' }); - $(el.telRealInput).mask('00 0000 0000', { placeholder: '-- ---- ----' }); - $(el.verify).mask('000 000', { placeholder: '--- ---' }); - }, - bindUIActions() { - $(el.telInput).on('countrychange', (e, countryData) => { - $(el.addressDropdown).val(countryData.iso2); - $(el.codeInput).val(`+${countryData.dialCode}`); - $(el.telRealInput).focus(); - }); - $(el.addressDropdown).on('change', function () { - $(el.telInput).intlTelInput('setCountry', $(this).val()); - }); - $(el.telRealInput).on('keyup', function () { - if ($(this).val().length > t.settings.minNumberDigits) { - $(el.sendCodeBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.sendCodeBtn).addClass('disabled').prop('disabled', true); - } - }).on('keypress', (e) => { - if (e.which == 13) { - $(el.sendCodeBtn).click(); - } - }); - $(el.verify).on('keyup', function () { - if ($(this).val().length > t.settings.minCodeDigits) { - $(el.sendVerifyBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.sendVerifyBtn).addClass('disabled').prop('disabled', true); - } - }).on('keypress', (e) => { - if (e.which == 13) { - $(el.sendVerifyBtn).click(); - } - }).on('focus', () => { - if (!$(el.timerBlock).hasClass('started')) { - if (verifyAttempt <= t.settings.voiceLinkAfter) { - $(el.timerBlock).addClass('started').timer([el.resendSms]); - verifyAttempt++; - } else { - $(el.timerBlock).addClass('started').timer([el.voiceCall]); - } - } - }); - - $(el.sendCodeBtn).on('click', function () { - let code = $(el.codeInput).val().replace('+', ''), - phone = $(el.telRealInput).val().split(' ').join(''); - - if (!$(this).hasClass('disabled') && code && phone) { - GlobalWidget.setPhoneCode(`+${code}`); - GlobalWidget.setPhone(phone); - $(el.codeInput2).val(GlobalWidget.getPhoneCode()); - $(el.telRealInput2).val(GlobalWidget.getPhone()); - - // 1 - send sms - const msg = enc(encAuth({ - type: 'reg', - token: token(), - phone: GlobalWidget.getPhoneNumber(), - client_id: client('reg_'), - dev_key: devKey() - })); - ws.send(msg); - } - }); - $(el.sendVerifyBtn).on('click', () => { - // 2a - verify - let phone = GlobalWidget.getPhoneNumber(), - verifyCode = $(el.verify).val().split(' ').join(''), - msg = enc(encAuth({ - type: 'verify', - phone, - token: token(), - dev_key: devKey(), - sms_code: verifyCode - })); - ws.send(msg); - }); - $(el.resendSms).on('click', (e) => { - e.preventDefault(); - - $(el.timerMsg).removeClass('hidden'); - $(el.resendSms).addClass('hidden'); - $(el.timerBlock).removeClass('started'); - $(el.verify).val('').focus(); - - // 2b - resend code - const msg = enc(encAuth({ - type: 'resend', - token: token(), - phone: GlobalWidget.getPhoneNumber(), - client_id: client('reg_'), - dev_key: devKey() - })); - ws.send(msg); - }); - $(el.voiceCall).on('click', (e) => { - e.preventDefault(); - - $(el.timerMsg).removeClass('hidden'); - $(el.resendSms).addClass('hidden'); - $(el.timerBlock).removeClass('started'); - $(el.verify).val('').focus(); - - // 2c - get code via voice call - const msg = enc(encAuth({ - type: 'voice', - token: token(), - phone: GlobalWidget.getPhoneNumber(), - client_id: client('reg_'), - dev_key: devKey(), - services: ['ua'] - })); - ws.send(msg); - }); - }, - nextStep(nextStep) { - const curStep = Number(nextStep) - 1; - localStorage.setItem('currentStep', nextStep); - - $(el.step + curStep).addClass('disabled completed').removeClass('active'); - $(el.step + nextStep).addClass('active').removeClass('disabled'); - - if (nextStep == 2) { - $(el.verify).focus(); - } - }, - smsSent() { - $(el.codeInput2).val(GlobalWidget.getPhoneCode()); - $(el.telRealInput2).val(GlobalWidget.getPhone()); - t.nextStep(2); - }, - login(res) { - if (res.code.src) { - localStorage.setItem('client', res.code.src[0]); - localStorage.setItem('token', res.code.src[1]); - localStorage.removeItem('currentStep'); - - // 3a. close "reg" connection - mqtt_close(); - - setTimeout(() => { - // 3b. connect with gotten token - mqttOptions.password = token(); - mqttOptions.cleanSession = false; - delete mqttOptions.mqttVersion; - delete mqttOptions.mqttVersionExplicit; - - mqtt_open(mqttOptions); - }, 200); - } - }, - toDashboard(res) { - localStorage.removeItem('currentStep'); - location.replace('/web/dashboard.htm'); - } - }; - SignInWidget.init(); -}()); diff --git a/src/assets/vendor/utils/signup.js b/src/assets/vendor/utils/signup.js deleted file mode 100644 index 60b1fa9f243a67218481c861504f30a62c16d920..0000000000000000000000000000000000000000 --- a/src/assets/vendor/utils/signup.js +++ /dev/null @@ -1,367 +0,0 @@ -let SignUpWidget; - -(function () { - let el, - t, - com, - verifyAttempt = 0; - SignUpWidget = { - settings: { - geoIpService: '//freegeoip.net/json/', - minNumberDigits: 10, - minCodeDigits: 6, - voiceLinkAfter: 3 - }, - elements: { - countryData: [], - addressDropdown: '#country', - codeInput: '#code', - codeInput2: '#code2', - telRealInput: '#number', - telRealInput2: '#number2', - telInput: '#full-number', - verify: '#verify', - timerBlock: '#timer', - timerMsg: '#timerMsg', - resendSms: '#resendSms', - voiceCall: '#voiceCall', - first_name: '#first_name', - last_name: '#last_name', - sendCodeBtn: '#sendCode', - sendVerifyBtn: '#verifyCode', - doneBtn: '#doneBtn', - step: '#step', - stepClass: '.step', - termsLink: '.terms', - popup: '.n-popup', - popupText: '.n-text', - overlay: '.overlay', - close: '.close', - logo: '#logo' - }, - init() { - t = this; - el = this.elements; - com = this.components; - this.subscribe(); - this.initCurrentStep(); - this.initCountry(); - this.initCodePhone(); - this.bindUIActions(); - this.initElementMasks(); - }, - subscribe() { - GlobalWidget.subscribe('profile.init', GlobalWidget, GlobalWidget.setRosterId); - GlobalWidget.subscribe('roster.patch', this, this.toDashboard); - GlobalWidget.subscribe('io.ok.sms_sent', this, this.smsSent); - GlobalWidget.subscribe('io.ok2.login', this, this.login); - }, - initCurrentStep() { - if (t.getRosterId()) { - location.replace('/web/dashboard.htm'); - } - }, - initCodePhone() { - const countries = []; - $(el.telInput).intlTelInput({ - allowDropdown: false, - initialCountry: 'auto', - geoIpLookup() { - $.get(t.settings.geoIpService, () => { - }, 'jsonp').always((resp) => { - const countryCode = (resp && resp.country_code) ? resp.country_code.toLowerCase() : ''; - if (countryCode) { - SignUpWidget.setCountryMask(countryCode); - } - - const countries = []; - $.each($.fn.intlTelInput.getCountryData(), (key, item) => { - typeof item === 'object' ? countries.push(item) : null; - - if (item.iso2 === countryCode) { - Provider.registerInstance('current_country', item); - populateUI(item); - } - }); - Provider.registerInstance('countries', countries); - }); - - function populateUI(data) { - const searchCountry = com.country_search; - $(searchCountry.type + searchCountry.alias).val(searchCountry.data.escape(data.name)); - $(el.codeInput).val(`+${data.dialCode}`); - $(el.telInput).val(data.name); - } - } - }); - }, - initCountry() { - el.countryData = $.fn.intlTelInput.getCountryData(); - let countries = el.countryData; - render(el.countryData); - $('#country-search').on('keyup', function (evt) { - const keyCodes = Provider.getInstance('key_codes'); - $('.countries-dropdown-wrapper').addClass('active'); - - evt.keyCode !== keyCodes.up.code && evt.keyCode !== keyCodes.down.code - ? rerender($(this).val()) - : null; - }); - - function filterCountries(input) { - const reg = new RegExp(input.split('').join('\\w*').replace(/\W/, ''), 'i'); - !input ? countries = el.countryData : null; - return countries.filter((country) => { - if (typeof country === 'object' - && 'name' in country - && country.name.match(reg)) { - return country; - } - }); - } - - function rerender(val) { - countries = filterCountries(val); - render(countries); - } - - function render() { - $(el.addressDropdown).html(''); - $.each(countries, (i, country) => { - let listItem = '
  • '; - if (country.iso2 === Provider.getMutable('selected_id')) { - listItem = "
  • "; - } - $(el.addressDropdown) - .append($(listItem) - .attr('id', country.iso2) - .attr('data-code', country.dialCode) - .text(country.name.toUpperCase())); - countries.push(country.name); - }); - } - }, - initElementMasks() { - $(el.codeInput).mask('+0000', { placeholder: '+————' }); - $(el.verify).mask('000000', { placeholder: '——————' }); - }, - setCountryMask(iso) { - /** - * number format: E164: 0, INTERNATIONAL: 1, NATIONAL: 2, RFC3966: 3 - * number type: FIXED_LINE: 0, MOBILE: 1, FIXED_LINE_OR_MOBILE: 2, TOLL_FREE: 3, PREMIUM_RATE: 4 ... - */ - const maskExample = intlTelInputUtils.getExampleNumber(iso, 1, 1); - const maskPattern = maskExample.replace(/\d/g, '0'); - const maskPlaceholder = maskPattern.replace(/0/g, '—'); - t.settings.minNumberDigits = (maskPlaceholder.replace(/[ , (, )]/g, '').length - 1); - $(el.telRealInput).mask(maskPattern, { placeholder: maskPlaceholder }); - }, - bindUIActions() { - $(el.logo).on('click', () => { - location.replace('/web/welcome.htm'); - }); - $(el.termsLink).on('click', (e) => { - e.preventDefault(); - $(el.popupText).load('/web/terms.htm'); - $(el.popup).removeClass('hidden'); - $(el.overlay).removeClass('hidden'); - }); - $(`${el.overlay}, ${el.close}`).on('click', () => { - $(el.popupText).html(''); - $(el.popup).addClass('hidden'); - $(el.overlay).addClass('hidden'); - }); - $(el.telInput).on('countrychange', (e, countryData) => { - $(el.addressDropdown).val(countryData.iso2); - $(el.codeInput).val(`+${countryData.dialCode}`); - $(el.telRealInput).focus(); - SignUpWidget.setCountryMask(countryData.iso2); - }); - $(el.addressDropdown).on('change', function () { - $(el.telInput).intlTelInput('setCountry', $(this).val()); - }); - $(el.telRealInput).on('keyup', function () { - if ($(this).val().length > t.settings.minNumberDigits) { - $(el.sendCodeBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.sendCodeBtn).addClass('disabled').prop('disabled', true); - } - }).on('keypress', (e) => { - if (e.which == 13) { - $(el.sendCodeBtn).click(); - } - }); - $(el.verify).on('keyup', function () { - if ($(this).val().length >= t.settings.minCodeDigits) { - $(el.sendVerifyBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.sendVerifyBtn).addClass('disabled').prop('disabled', true); - } - }).on('keypress', (e) => { - if (e.which == 13) { - $(el.sendVerifyBtn).click(); - } - }).on('focus', () => { - t.startTimer(); - }); - $(el.sendCodeBtn).on('click', function () { - let code = $(el.codeInput).val().replace('+', ''), - phone = $(el.telRealInput).val().split(' ').join(''); - - if (!$(this).hasClass('disabled') && code && phone) { - GlobalWidget.setPhoneCode(`+${code}`); - GlobalWidget.setPhone(phone); - $(el.codeInput2).val(GlobalWidget.getPhoneCode()); - $(el.telRealInput2).val(GlobalWidget.getPhone()); - - // 1 - send sms - const msg = enc(encAuth({ - type: 'reg', - token: '', - phone: GlobalWidget.getPhoneNumber(), - client_id: client('reg_'), - dev_key: devKey() - })); - ws.send(msg); - } - }); - $(el.sendVerifyBtn).on('click', () => { - // 2a - verify - let phone = GlobalWidget.getPhoneNumber(), - verifyCode = $(el.verify).val().split(' ').join(''), - msg = enc(encAuth({ - type: 'verify', - phone, - token: token(), - dev_key: devKey(), - sms_code: verifyCode - })); - ws.send(msg); - }); - $(el.resendSms).on('click', (e) => { - e.preventDefault(); - - $(el.timerMsg).removeClass('hidden'); - $(el.resendSms).addClass('hidden'); - $(el.timerBlock).removeClass('started'); - $(el.verify).val('').focus(); - - // 2b - resend code - const msg = enc(encAuth({ - type: 'resend', - token: token(), - phone: GlobalWidget.getPhoneNumber(), - client_id: client('reg_'), - dev_key: devKey() - })); - ws.send(msg); - }); - $(el.voiceCall).on('click', (e) => { - e.preventDefault(); - - $(el.timerMsg).removeClass('hidden'); - $(el.resendSms).addClass('hidden'); - $(el.timerBlock).removeClass('started'); - $(el.verify).val('').focus(); - - // 2c - get code via voice call - const msg = enc(encAuth({ - type: 'voice', - token: token(), - phone: GlobalWidget.getPhoneNumber(), - client_id: client('reg_'), - dev_key: devKey(), - services: ['ua'] - })); - ws.send(msg); - }); - $(`${el.first_name},${el.last_name}`).on('keyup', () => { - if ($(el.first_name).val().length) { - $(el.doneBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.doneBtn).addClass('disabled').prop('disabled', true); - } - }).on('keypress', (e) => { - if (e.which == 13) { - $(el.doneBtn).click(); - } - }); - $(el.doneBtn).click(() => { - let f = $(el.first_name).val(), - l = $(el.last_name).val(); - - if (f) { - // 4. update roster - const msg = enc(encRoster({ - id: t.getRosterId(), - names: f, - surnames: l, - phone: GlobalWidget.getPhoneNumber(), - status: 'patch' - })); - ws.send(msg); - } - }); - }, - startTimer() { - if (!$(el.timerBlock).hasClass('started')) { - if (verifyAttempt <= t.settings.voiceLinkAfter) { - $(el.timerBlock).addClass('started').timer([el.resendSms]); - verifyAttempt++; - } else { - $(el.timerBlock).addClass('started').timer([el.voiceCall]); - } - } - }, - currentStep() { - return localStorage.getItem('currentStep'); - }, - nextStep(nextStep) { - const curStep = Number(nextStep) - 1; - localStorage.setItem('currentStep', nextStep); - - $(el.step + curStep).addClass('disabled completed hidden'); - $(el.step + nextStep).addClass('active').removeClass('disabled hidden'); - - if (nextStep == 2) { - $(el.verify).focus(); - } - }, - getRosterId() { - // @TODO: need to remove this function - return localStorage.getItem('rosterId'); - }, - smsSent() { - t.nextStep(2); - }, - login(res) { - if (typeof res.code.src !== 'undefined') { - localStorage.setItem('client', res.code.src[0]); - localStorage.setItem('token', res.code.src[1]); - localStorage.removeItem('currentStep'); - - // 3a. close "reg" connection - mqtt_close(); - - setTimeout(() => { - // 3b. connect with gotten token - mqttOptions.password = token(); - mqttOptions.cleanSession = false; - delete mqttOptions.mqttVersion; - delete mqttOptions.mqttVersionExplicit; - mqtt_open(mqttOptions); - - SignUpWidget.nextStep(3); - }, 200); - } - }, - toDashboard(res) { - location.replace('/web/dashboard.htm'); - } - }; - - $(document).ready(() => { - SignUpWidget.components = Provider.getInstance('components'); - SignUpWidget.init(); - }); -}()); diff --git a/src/assets/vendor/utils/spa_mq.js b/src/assets/vendor/utils/spa_mq.js deleted file mode 100644 index 47a76ad231b141bc113b667ec0b1652066a2cc9e..0000000000000000000000000000000000000000 --- a/src/assets/vendor/utils/spa_mq.js +++ /dev/null @@ -1,123 +0,0 @@ -let mqtt = '', - nodes = 4, - mqttOptions = { - timeout: 2, - userName: 'api', - password: token(), - cleanSession: true, - onFailure(m) { - console.log('%cClient{%s, %s} - connection to backend failed: %s', 'color:red', client(), token(), m.errorMessage); - }, - onSuccess() { - console.log('%cClient{%s, %s} - connected to backend', 'color:green', client(), token()); - } - }, - ws = { - send(payload, qos) { - const message = new Paho.MQTT.Message(payload); - message.destinationName = topic('events'); - message.qos = qos || 2; - binPayload(payload); - - if (!mqtt.isConnected()) { - // @TODO: check this reconnect - // console.log('MQTT Reconnect') - // mqtt_open(mqttOptions); - } - mqtt.send(message); - } - }; - -function gen_client() { - return Math.random().toString(36).substring(2) + (new Date()).getTime().toString(36); -} - -function client(prefix) { - var prefix = prefix || 'emqttd_'; - let c = localStorage.getItem('client'); - const d = devKey() || gen_client(); - if (c == null) { - c = prefix + d; - } - localStorage.setItem('client', c); - localStorage.setItem('devKey', d); - return c; -} - -function token() { - return localStorage.getItem('token') || ''; -} - -function devKey() { - return localStorage.getItem('devKey') || ''; -} - -function vsn() { - return 1; -} - -function topic(prefix) { - return `${prefix}/${vsn()}/${rnd()}/api/anon/${client('reg_')}/${token()}`; -} - -function rnd() { - return Math.floor((Math.random() * nodes) + 1); -} - -function binMsg(BERT) { - const mas = new Uint8Array(BERT); - let s = '<< rp(binary_to_term(<<'; - for (let i = 0; i < mas.length; i++) { - s += `${mas[i]},`; - } - s = s.substr(0, s.length - 1); - s += '>>)).'; - - console.log(s); -} - -function binPayload(mas) { - let s = '>> rp(binary_to_term(<<'; - for (let i = 0; i < mas.length; i++) { - s += `${mas[i]},`; - } - s = s.substr(0, s.length - 1); - s += '>>)).'; - - console.log(s); -} - -function mqtt_open(options) { - mqtt = new Paho.MQTT.Client(host, 8083, client('reg_')); - mqtt.onConnectionLost = function (o) { - console.log(`connection lost: ${o.errorMessage}`); - }; - mqtt.onMessageArrived = function (m) { - const BERT = m.payloadBytes.buffer.slice( - m.payloadBytes.byteOffset, - m.payloadBytes.byteOffset + m.payloadBytes.length - ); - try { - erlang = dec(BERT); - binMsg(BERT); - for (let i = 0; i < $bert.protos.length; i++) { - p = $bert.protos[i]; - if (p.on(erlang, p.do).status == 'ok') return; - } - } catch (e) { - console.log(e); - } - }; - mqtt.connect(options); -} - -function mqtt_close() { - mqtt.disconnect(); -} - -function mqtt_subscribe(topic) { - mqtt.subscribe(topic); -} -mqtt_open(mqttOptions); - -// @TODO: added an extra MQTT connection to N2O to middle wire (for react component data ) diff --git a/src/assets/vendor/utils/timer.js b/src/assets/vendor/utils/timer.js deleted file mode 100644 index b3fdc93b1be9490867b46390653974ac24c45e82..0000000000000000000000000000000000000000 --- a/src/assets/vendor/utils/timer.js +++ /dev/null @@ -1,21 +0,0 @@ -(function () { - $.fn.timer = function (show_elements) { - const el = $(this); - const start_value = el.text(); - var timerId = setTimeout(function counter() { - const new_value = el.text() - 1; - - el.text(new_value); - if (new_value > 0) { - timerId = setTimeout(counter, 1000); - } else { - el.parent().addClass('hidden'), - $.each(show_elements, (k, v) => { - $(v).removeClass('hidden'); - }); - el.text(start_value), - clearTimeout(timerId); - } - }, 1000); - }; -}(jQuery)); diff --git a/src/assets/vendor/utils/voximplant.js b/src/assets/vendor/utils/voximplant.js deleted file mode 100644 index bd5083a173e29c012403fccf8b560beb12743d9a..0000000000000000000000000000000000000000 --- a/src/assets/vendor/utils/voximplant.js +++ /dev/null @@ -1,83 +0,0 @@ -let initialized = false, - loggedIn = false, - connected = false, - voxImplant = VoxImplant.getInstance(); - -// Add event listeners -voxImplant.addEventListener(VoxImplant.Events.SDKReady, handleSDKReady); -voxImplant.addEventListener(VoxImplant.Events.ConnectionEstablished, handleConnectionEstablished); -voxImplant.addEventListener(VoxImplant.Events.AuthResult, handleAuthResult); - -function handleSDKReady() { - initialized = true; - logMessage('VoxImplant SDK ready'); - // Connection with VoxImplant Cloud can be established now - voxImplant.connect(); -} - -function handleConnectionEstablished() { - connected = true; - logMessage('Connection established'); - login(); -} - -function handleAuthResult(e) { - logMessage(`AuthResult: ${e.result}`); - if (e.result) { - // Logged in successfully - loggedIn = true; - makeCall(); - } else { - logMessage('Authorization failed. Please specify correct username and password'); - } -} - -function login() { - // Authorization required before we can use other functions - let host = '@test.nynja.voximplant.com', - email = 'befaster', // localStorage.getItem('username'), - password = 'd423327D'; // localStorage.getItem('password'); - - - voxImplant.login(email + host, password); -} - -function logMessage(msg) { - document.getElementById('log').innerHTML += `${msg}\n`; -} - -function makeCall(username) { - // Number isn't important - our simple VoxEngine script will just playback the audio file - const call = voxImplant.call(username); - - // Add event listeners for call events - call.addEventListener(VoxImplant.CallEvents.Connected, handleCallConnected); - call.addEventListener(VoxImplant.CallEvents.Failed, handleCallFailed); - call.addEventListener(VoxImplant.CallEvents.Disconnected, handleCallDisconnected); -} - -function handleCallConnected() { - logMessage('Call Connected'); -} - -function handleCallFailed(e) { - logMessage(`Call Failed. Code: ${e.code} Reason: ${e.reason}`); -} - -function handleCallDisconnected() { - logMessage('Call Disconnected'); -} - -function testCall() { - // Initialize SDK if not it's not initialized yet - if (!initialized) voxImplant.init(); - else { - // Establish connection with VoxImplant Cloud if it's not established yet - if (!voxImplant.connected()) voxImplant.connect(); - else { - // Login if not logged in yet, otherwise - make a call - if (!loggedIn) login(); - else makeCall(); - } - } -} diff --git a/src/assets/vendor/utils/welcome.js b/src/assets/vendor/utils/welcome.js deleted file mode 100644 index 7b5c3ea6bd8a607555fbcd3b67ccdba1df45b5ea..0000000000000000000000000000000000000000 --- a/src/assets/vendor/utils/welcome.js +++ /dev/null @@ -1,36 +0,0 @@ -let WelcomeWidget; - -(function (document) { - WelcomeWidget = { - settings: {}, - elements: { - termsLink: '.terms', - popup: '.n-popup', - popupText: '.n-text', - overlay: '.overlay', - close: '.close' - }, - init() { - t = this; - el = this.elements; - this.bindUIActions(); - }, - bindUIActions() { - $(el.termsLink).on('click', (e) => { - e.preventDefault(); - $(el.popupText).load('/web/terms.htm'); - $(el.popup).removeClass('hidden'); - $(el.overlay).removeClass('hidden'); - }); - $(`${el.overlay}, ${el.close}`).on('click', () => { - $(el.popupText).html(''); - $(el.popup).addClass('hidden'); - $(el.overlay).addClass('hidden'); - }); - } - }; - - $(document).ready(() => { - WelcomeWidget.init(); - }); -}(document)); diff --git a/src/containers/Forms/AuthForm/AuthForm.js b/src/containers/Forms/AuthForm/AuthForm.js index 40512cd6473ad7a0b114e0a3b619f325b795d63f..d96e01e0f264a73788339173be79a293f5737c22 100644 --- a/src/containers/Forms/AuthForm/AuthForm.js +++ b/src/containers/Forms/AuthForm/AuthForm.js @@ -1,4 +1,5 @@ -import React, { Component, PropTypes } from 'react'; +import PropTypes from 'prop-types'; +import React, { Component } from 'react'; import { withStyles } from 'material-ui'; import stylesFunc from './AuthForm.styles'; import { Link } from 'react-router'; diff --git a/src/containers/MenuAppBar/MenuAppBar.js b/src/containers/MenuAppBar/MenuAppBar.js index 7b96f3757adcde96d268dd1ff5f25b77ce8a2db7..c10181c279f92d885e1414a048b811ae3b8c3729 100644 --- a/src/containers/MenuAppBar/MenuAppBar.js +++ b/src/containers/MenuAppBar/MenuAppBar.js @@ -6,7 +6,7 @@ import IconButton from 'material-ui/IconButton'; import MenuIcon from 'material-ui-icons/Menu'; import { Grid, Avatar, Input, InputAdornment } from 'material-ui'; import { withStyles } from 'material-ui/styles'; -import avatar from '../../../assets/img/Richard_Smith.png'; +import avatar from 'Assets/img/Richard_Smith.png'; import Icon from 'material-ui/Icon'; import { Link } from 'react-router'; diff --git a/src/core/protocols/Index.protocol.js b/src/core/protocols/Index.protocol.js index caf0bbab5427fc1b55eeb9c1bd607e1506fec8a1..32c2505d265ea535f9f28fce6e4652efd4edf051 100644 --- a/src/core/protocols/Index.protocol.js +++ b/src/core/protocols/Index.protocol.js @@ -23,7 +23,6 @@ const check = (node) => { const factory = (name = '', utils = {}, eventFormer = null, ...args) => { - let response; const delimiter = '/'; const eventFormerCopy = eventFormer; diff --git a/src/core/protocols/Validator.protocol.js b/src/core/protocols/Validator.protocol.js index 2c3f3dfafdd3a97f6d5ec8358882b1dd16e43c94..b7f8c9b195164cd914e8363e590b2b17f6303fe7 100644 --- a/src/core/protocols/Validator.protocol.js +++ b/src/core/protocols/Validator.protocol.js @@ -23,8 +23,9 @@ const validate = (response) => { for (const protocol in protocols) { const node = protocols[protocol](); if (isCorrespond(res, node.len(), node.name)) { - const response = node.decode(res); - const event = node.eventFormer(response); + const decoded = node.decode(res); + const event = node.eventFormer(decoded); + return { response, event diff --git a/src/core/resource/Root.reducer.js b/src/core/resource/Root.reducer.js index c9c3ebc4c6562f76a41315e6241cd1aac77032fb..830347cf7674193dd4e58947338ac5c04a247a7b 100644 --- a/src/core/resource/Root.reducer.js +++ b/src/core/resource/Root.reducer.js @@ -1,23 +1,24 @@ import { combineReducers } from 'redux'; import { status } from './supplier/modules/Supplier.module'; -import { authInitReducers } from './auth/init'; import { profileReducers } from './profile'; import { contacts } from './contacts'; import { messages } from './messages'; import { reducer as formReducer } from 'redux-form' - +import { rosterReducers } from './roster'; +import { credentialsReducers } from './auth/credentials'; const rootReducer = combineReducers({ - form: formReducer, - supplier: combineReducers({ - status - }), - roster: combineReducers({ - profile: profileReducers.profile, - contacts, - p2p:messages, - auth: authInitReducers.credentials - }) + form: formReducer, + supplier: combineReducers({ + status + }), + roster: combineReducers({ + data: rosterReducers.data, + profile: profileReducers.profile, + contacts, + p2p: messages, + auth: credentialsReducers.credentials + }) }); export { rootReducer }; diff --git a/src/core/resource/Root.saga.js b/src/core/resource/Root.saga.js index a21bcdfec0f4f8cb26b4edf9715d01980e5f180c..daed15d686bf4720a9db86f50e42d899f49eee45 100644 --- a/src/core/resource/Root.saga.js +++ b/src/core/resource/Root.saga.js @@ -1,18 +1,23 @@ import { fork } from 'redux-saga/effects'; -import { authInitSagas } from './auth/init'; -import { authVerifySagas } from './auth/verification'; -import { supplierSagas } from './supplier'; -import { profileSagas } from './profile'; import { messagesSagas } from './messages' +import { loginSagas as login} from './auth/login' +import { supplierSagas as supplier } from './supplier'; +import { initProfileSagas, profileSagas } from './profile'; +import { + credentialsRootSaga +} from './auth/credentials'; const isGenerator = fn => fn instanceof (function* () {}).constructor; function* rootSaga() { - yield fork(supplierSagas.connectInitiator); - yield fork(authInitSagas.sentCode); - yield fork(authVerifySagas.verifyCode); - yield fork(profileSagas.initProfileSaga); - yield fork(messagesSagas.messageGet); + yield fork(supplier.connectInitiator); + yield fork(credentialsRootSaga); + //yield fork(messagesSagas.messageGet); + //yield fork(authVerify.verifyCode); + //yield fork(authComplete.onAuthReconnect); + //yield fork(initProfileSagas.initProfile); + //yield fork(profileSagas.createProfile); + //yield fork(login.loginWatcher); } export default rootSaga; diff --git a/src/core/resource/auth/completion/api/CreateProfile.api.js b/src/core/resource/auth/completion/api/CreateProfile.api.js deleted file mode 100644 index 15d705d7199501753e53bd6b5f0d8f43a382516f..0000000000000000000000000000000000000000 --- a/src/core/resource/auth/completion/api/CreateProfile.api.js +++ /dev/null @@ -1,2 +0,0 @@ -import { rosterUtils } from 'Core/bert/SignatureGenerator.bert'; - diff --git a/src/core/resource/auth/completion/index.js b/src/core/resource/auth/completion/index.js deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/src/core/resource/auth/init/api/InquiryCredentials.api.js b/src/core/resource/auth/credentials/api/CodeProcess.api.js similarity index 80% rename from src/core/resource/auth/init/api/InquiryCredentials.api.js rename to src/core/resource/auth/credentials/api/CodeProcess.api.js index e0dd0ad6265da625b6973debf48f3be90130228d..a4c276ee2aad8ba9f62ed7fa8a6167de9ddd3bd5 100644 --- a/src/core/resource/auth/init/api/InquiryCredentials.api.js +++ b/src/core/resource/auth/credentials/api/CodeProcess.api.js @@ -1,11 +1,7 @@ import { authUtils } from 'Core/bert/SignatureGenerator.bert.js'; import { setupClientEntry, setupDevEntry } from 'Core/store'; -const signature = (...args) => { - -}; - -const codeProcessConverter = ({ +const codeProcessFormatter = ({ type = '', token = '', phone = '', @@ -25,4 +21,4 @@ const codeProcessConverter = ({ return authUtils.encode(request); }; -export { codeProcessConverter }; +export { codeProcessFormatter }; diff --git a/src/core/resource/auth/credentials/api/VoiceCall.api.js b/src/core/resource/auth/credentials/api/VoiceCall.api.js new file mode 100644 index 0000000000000000000000000000000000000000..8e2ddbc3c728ab2526b7688d20e1615d1a2f6626 --- /dev/null +++ b/src/core/resource/auth/credentials/api/VoiceCall.api.js @@ -0,0 +1,24 @@ +import { authUtils } from 'Core/bert/SignatureGenerator.bert'; +import { setupDevEntry, setupClientEntry } from 'Core/store'; + +const voiceCall = ({ + phone = '', + token = '', + services = ['ua'], + client_id = setupClientEntry(), + devKey = setupDevEntry(), + type = "voice", + }) => { + const request = { + + }; + return authUtils.encode(request); + //"type": "voice", "token": token(), "phone": GlobalWidget.getPhoneNumber(), + // "client_id": client("reg_"), "dev_key": devKey(), "services": ["ua"] +}; + +const voiceCallApi = { + voiceCall +}; + +export default voiceCallApi; \ No newline at end of file diff --git a/src/core/resource/auth/credentials/index.js b/src/core/resource/auth/credentials/index.js new file mode 100644 index 0000000000000000000000000000000000000000..4569e32260974a5d766a587d039c89c6d30bc07b --- /dev/null +++ b/src/core/resource/auth/credentials/index.js @@ -0,0 +1,25 @@ +import credentials, { inquiryCredentialsActions, verifyCredentialsActions } from './modules/Credentials.module'; +import * as codeProcessApi from './api/CodeProcess.api'; +import * as voiceCallApi from './api/VoiceCall.api'; +import * as authVerifySagas from './sagas/VerifyCredentials.saga'; +import * as authInitSagas from './sagas/InquiryCredentials.saga'; +import * as authCompleteSagas from './sagas/Complition.saga'; +import credentialsRootSaga from './sagas/CredentialsRoot.saga'; + +const credentialsReducers = { + credentials +}; + +export { + codeProcessApi, + credentialsReducers, + + inquiryCredentialsActions, + verifyCredentialsActions, + + authInitSagas, + authVerifySagas, + authCompleteSagas, + + credentialsRootSaga +} \ No newline at end of file diff --git a/src/core/resource/auth/credentials/modules/Credentials.module.js b/src/core/resource/auth/credentials/modules/Credentials.module.js new file mode 100644 index 0000000000000000000000000000000000000000..1849a3cd84e229c8b7de9e12c41eaeb62ab039d5 --- /dev/null +++ b/src/core/resource/auth/credentials/modules/Credentials.module.js @@ -0,0 +1,81 @@ +import { createAction, createReducer } from 'redux-act'; + +const verifyCodeRequest = createAction('VERIFY_CODE'); +const verifyCodeSuccess = createAction('VERIFY_CODE_SUCCESS'); +const verifyCodeError = createAction('VERIFY_CODE_ERROR'); +const verifyCodeNotValid = createAction('VERIFY_CODE_NOT_VALID'); +const verifyCodeResponse = createAction('IO/LOGIN/OK2'); + + +const verifyCredentialsActions = { + verifyCodeRequest, + verifyCodeSuccess, + verifyCodeError, + verifyCodeNotValid, + verifyCodeResponse +}; + +const codeRequestApply = phone => ({ phone }); +const codeRequest = createAction('CODE_REQUEST', codeRequestApply); +const codeRequestHandler = (state, payload) => ({ + ...state, + ...payload, + status: { + isCreated: false, + isLogged: false, + isPending: true + } +}); + +const codeRequestSuccess = createAction('CODE_REQUEST_SUCCESS'); +const codeRequestError = createAction('CODE_REQUEST_ERROR'); +const serverCodeResponse = createAction('IO/SMS_SENT/OK'); + +const codeResponseSuccess = createAction('CODE_RESPONSE_SUCCESS'); +const codeResponseReject = createAction('CODE_RESPONSE_REJECT'); +const codeResponseError = createAction('CODE_RESPONSE_ERROR'); + +const voiceCallRequest = createAction('VOICE_CALL_REQUEST'); +const voiceCallError = createAction('VOICE_CALL_ERROR'); +const voiceCallRequestSuccess = createAction('VOICE_CALL_REQUEST_SUCCESS'); + +const inquiryCredentialsActions = { + codeRequest, + codeRequestSuccess, + codeRequestError, + + serverCodeResponse, + codeResponseSuccess, + codeResponseReject, + codeResponseError, + + voiceCallRequest, + voiceCallRequestSuccess, + voiceCallError +}; + + +const currentDate = (+ new Date); +const initialState = { + clientId: '', + token: '', + phone: '', + status: { + isCreated: false, + isLogged: false, + isPending: false + }, + created: '', + updated: currentDate +}; + +const credentials = createReducer({ + [codeRequest]: codeRequestHandler +}, initialState); + +export default credentials; + +export { + verifyCredentialsActions, + inquiryCredentialsActions +} \ No newline at end of file diff --git a/src/core/resource/auth/credentials/sagas/Complition.saga.js b/src/core/resource/auth/credentials/sagas/Complition.saga.js new file mode 100644 index 0000000000000000000000000000000000000000..91609f62d816d6ad0ba223fb3ca130d445f73896 --- /dev/null +++ b/src/core/resource/auth/credentials/sagas/Complition.saga.js @@ -0,0 +1,14 @@ +import { take, put, call } from 'redux-saga/effects'; +import { loginActions } from '../../login'; +import { supplierActions } from '../../../supplier'; + +function * authReconnectWatcher() { + while(true) { + const { token } = yield take(loginActions.loginSuccess.getType()); + yield put(supplierActions.reconnect(token)); + } +} + +export { + authReconnectWatcher +} \ No newline at end of file diff --git a/src/core/resource/auth/credentials/sagas/CredentialsRoot.saga.js b/src/core/resource/auth/credentials/sagas/CredentialsRoot.saga.js new file mode 100644 index 0000000000000000000000000000000000000000..b93d24e8158ea9ceda0bab87606670e43bf5761c --- /dev/null +++ b/src/core/resource/auth/credentials/sagas/CredentialsRoot.saga.js @@ -0,0 +1,14 @@ +import { fork } from 'redux-saga/effects'; +import { + authInitSagas, + authVerifySagas, + authCompleteSagas +} from '../index'; + +function * credentials() { + yield fork(authInitSagas.sentCodeWatcher); + yield fork(authVerifySagas.verifyCodeWatcher); + yield fork(authCompleteSagas.authReconnectWatcher); +} + +export default credentials; \ No newline at end of file diff --git a/src/core/resource/auth/credentials/sagas/InquiryCredentials.saga.js b/src/core/resource/auth/credentials/sagas/InquiryCredentials.saga.js new file mode 100644 index 0000000000000000000000000000000000000000..a32edd8d539f559528f4b89c2c01b0aec695bea2 --- /dev/null +++ b/src/core/resource/auth/credentials/sagas/InquiryCredentials.saga.js @@ -0,0 +1,55 @@ +import { fork, call, put, take, takeLatest, race } from 'redux-saga/effects'; +import { getSupplier } from 'Core/services'; +import { inquiryCredentialsActions as actions, codeProcessApi } from '../index'; + + +// workers +function * sentCode({ phone }) { + const supplier = getSupplier(); + if (!supplier.connected) { + //notify user + return; + } + try { + const request = { + type: 'reg', + phone + }; + const encoded = codeProcessApi.codeProcessFormatter(request); + console.log(encoded); + //yield call(supplier.send, encoded); + //yield put(actions.codeRequestSuccess()); + } catch (e) { + console.log(e); + } +} + +function * voiceCall(phone) { + +} + +function * resendCode(action) { + const { phone } = action; + +} + +// watchers +function * sentCodeWatcher() { + while(true) { + const { payload } = yield take(actions.codeRequest.getType()); + yield call(sentCode, payload); + } + //while(true) { + // const { codeRequest, voiceCallRequest } = yield race({ + // codeRequest: takeLatest(actions.codeRequest.getType()), + // voiceCallRequest: takeLatest(actions.voiceCallRequest.getType()) + // }); + // if(codeRequest) { + // yield call(sentCodeWorker, codeRequest); + // } else if(voiceCallRequest) { + // yield call(voiceCallWorker, voiceCallRequest) + // } + //} +} + +export { sentCodeWatcher }; diff --git a/src/core/resource/auth/verification/sagas/VerifyCredentials.saga.js b/src/core/resource/auth/credentials/sagas/VerifyCredentials.saga.js similarity index 58% rename from src/core/resource/auth/verification/sagas/VerifyCredentials.saga.js rename to src/core/resource/auth/credentials/sagas/VerifyCredentials.saga.js index 4606be257cc0ed0c85db1afbf3766425ca08da4a..ad9293fe61097167d8e4072261db9ade118ea236 100644 --- a/src/core/resource/auth/verification/sagas/VerifyCredentials.saga.js +++ b/src/core/resource/auth/credentials/sagas/VerifyCredentials.saga.js @@ -1,14 +1,11 @@ import { all, fork, call, put, takeEvery, take, takeLatest } from 'redux-saga/effects'; import { getProvider } from 'Core/services'; -import { authInitApi as api } from '../../init'; import { binPayload } from 'Tools/ErlangDebugger.tools'; import { sagas as logoutSagas } from '../../logout'; -import * as actions from '../modules/VerifyCredentials.action'; -import * as actionsType from '../modules/Verification.constant'; -import * as selectors from '../modules/Credentials.selector'; +import { verifyCredentialsActions as actions, codeProcessApi } from '../index'; -function* verifyCodeHandler(data, client) { +function * verifyCode(data, client) { const request = { type: 'verify', // token: @@ -20,7 +17,7 @@ function* verifyCodeHandler(data, client) { } try { - const encoded = api.codeProcessConverter(request); + const encoded = yield call(codeProcessApi.codeProcessFormatter, request); yield call(client.send, encoded); } catch (e) { yield put(actions.verifyCodeError()); @@ -28,22 +25,21 @@ function* verifyCodeHandler(data, client) { } -function* verifyCode() { +function * verifyCodeWatcher() { while (true) { - const data = yield take(actionsType.VERIFY_CODE); + const data = yield take(actions.verifyCodeRequest.getType()); const { client, token } = yield select(selectors.getCredentials); if (client && token) { // call specific action and redirects to dashboard return; } - yield call(verifyCodeHandler, data, client); - const response = yield take(actionsType.SERVER_CODE_VERFIY); + yield call(verifyCodeWorker, data, client); + const response = yield take(actions.verifyCodeResponse.getType()); yield put(actions.verifyCodeSuccess(response)); yield all({ reconnect: login - }); } } -export { verifyCode }; +export { verifyCodeWatcher }; diff --git a/src/core/resource/auth/init/index.js b/src/core/resource/auth/init/index.js deleted file mode 100644 index 7308079dd9c03c96644c6dace802dc54e0ab2490..0000000000000000000000000000000000000000 --- a/src/core/resource/auth/init/index.js +++ /dev/null @@ -1,15 +0,0 @@ -import { credentials } from './modules/Credentials.reducer'; -import * as authInitSagas from './sagas/InquiryCredentials.saga'; -import * as authInitActions from './modules/InquiryCredentials.action'; -import * as authInitApi from './api/InquiryCredentials.api'; - -const authInitReducers = { - credentials -}; - -export { - authInitApi, - authInitSagas, - authInitActions, - authInitReducers -}; diff --git a/src/core/resource/auth/init/modules/Credentials.reducer.js b/src/core/resource/auth/init/modules/Credentials.reducer.js deleted file mode 100644 index 3e939ea07b80c18571619bd602f4ec8b2dfd0938..0000000000000000000000000000000000000000 --- a/src/core/resource/auth/init/modules/Credentials.reducer.js +++ /dev/null @@ -1,16 +0,0 @@ -import * as actionsType from './InquiryCredentials.constant'; - -// const initialState = { -// isLoading: false, -// isError: false, -// isSuccess: false -// }; - -const credentials = (state = {}, action) => { - switch (action.type) { - default: - return state; - } -}; - -export { credentials }; diff --git a/src/core/resource/auth/init/modules/Credentials.selector.js b/src/core/resource/auth/init/modules/Credentials.selector.js deleted file mode 100644 index 9bab74f5c7e59775b6ea89175c6139607e1497a0..0000000000000000000000000000000000000000 --- a/src/core/resource/auth/init/modules/Credentials.selector.js +++ /dev/null @@ -1,3 +0,0 @@ -const getCredentials = state => state.profile.credentials; - -export { getCredentials }; diff --git a/src/core/resource/auth/init/modules/InquiryCredentials.action.js b/src/core/resource/auth/init/modules/InquiryCredentials.action.js deleted file mode 100644 index c5f502425fc456484e899437c53154724312538b..0000000000000000000000000000000000000000 --- a/src/core/resource/auth/init/modules/InquiryCredentials.action.js +++ /dev/null @@ -1,35 +0,0 @@ -import * as actionsType from './InquiryCredentials.constant'; - -const codeRequest = phone => ({ - type: actionsType.CODE_REQUEST, - phone -}); - -const codeRequestSuccess = data => ({ - type: actionsType.CODE_REQUEST_SUCCESS, - data -}); - -const codeResponseSuccess = () => ({ - type: actionsType.CODE_RESPONSE_SUCCESS -}); - -const codeRequestError = error => ({ - type: actionsType.CODE_REQUEST_ERROR, - error -}); - -const codeResponseError = error => ({ - type: actionsType.CODE_RESPONSE_ERROR, - error -}); - - -export { - codeRequest, - codeRequestError, - codeRequestSuccess, - - codeResponseSuccess, - codeResponseError -}; diff --git a/src/core/resource/auth/init/modules/InquiryCredentials.constant.js b/src/core/resource/auth/init/modules/InquiryCredentials.constant.js deleted file mode 100644 index 0ed162218a06515c3a934f7439621993f6dca447..0000000000000000000000000000000000000000 --- a/src/core/resource/auth/init/modules/InquiryCredentials.constant.js +++ /dev/null @@ -1,8 +0,0 @@ -export const CODE_REQUEST = 'CODE_REQUEST'; -export const CODE_REQUEST_SUCCESS = 'CODE_REQUEST_SUCCESS'; -export const CODE_REQUEST_ERROR = 'CODE_REQUEST_ERROR'; - -export const CODE_RESPONSE_SUCCESS = 'CODE_RESPONSE_SUCCESS'; -export const CODE_RESPONSE_ERROR = 'CODE_RESPONSE_ERROR'; - -export const SERVER_CODE_SENT = 'IO/OK/SENT_SMS'; diff --git a/src/core/resource/auth/init/sagas/InquiryCredentials.saga.js b/src/core/resource/auth/init/sagas/InquiryCredentials.saga.js deleted file mode 100644 index 46ea68c1a0a2727bb6ffa9dcf99139d92546d462..0000000000000000000000000000000000000000 --- a/src/core/resource/auth/init/sagas/InquiryCredentials.saga.js +++ /dev/null @@ -1,43 +0,0 @@ -import { fork, call, put, takeEvery, take, takeLatest } from 'redux-saga/effects'; -import { getProvider } from 'Core/services/MqttClient.service'; -import { codeProcessConverter } from '../api/InquiryCredentials.api'; -import { binPayload } from 'Tools/ErlangDebugger.tools'; -// import { logout } from './Logout.saga'; -import * as actions from '../modules/InquiryCredentials.action'; -import * as actionsType from '../modules/InquiryCredentials.constant'; -import * as selectors from '../modules/Credentials.selector'; - -// worker -function* sentCodeHandler(action) { - const { phone } = action; - - const client = getProvider(); - if (!client.connected) { - return; - } - try { - const request = { - type: 'reg', - phone - }; - const encoded = codeProcessConverter(request); - const data = yield call(client.onPublish, encoded); - yield put(actions.codeRequestSuccess()); - return data; - } catch (e) { - console.log(e); - } -} - - -// watchers -function* sentCode(params) { - while (true) { - const action = yield take(actionsType.CODE_REQUEST); - const token = yield call(sentCodeHandler, action); - const data = yield take(actionsType.SERVER_CODE_SENT); - yield put(actions.codeResponseSuccess(data)); - } -} - -export { sentCode }; diff --git a/src/core/resource/auth/login/index.js b/src/core/resource/auth/login/index.js index 32ee45a80d076a1b1cf15694ace9afd6d4a3e099..581ad93e1e6423af9e844a6a819124f631207c1f 100644 --- a/src/core/resource/auth/login/index.js +++ b/src/core/resource/auth/login/index.js @@ -1,3 +1,12 @@ -import { login } from './sagas/Login.saga'; +import credentials, { loginActions } from './modules/Login.module'; +import { loginSagas } from './sagas/Login.saga'; -export { login }; +const loginReducers = { + credentials +}; + +export { + loginSagas, + loginReducers, + loginActions +}; diff --git a/src/core/resource/auth/login/modules/Login.module.js b/src/core/resource/auth/login/modules/Login.module.js new file mode 100644 index 0000000000000000000000000000000000000000..02d0f77857dbedd5bf5be9b586a7be1602b65ef6 --- /dev/null +++ b/src/core/resource/auth/login/modules/Login.module.js @@ -0,0 +1,41 @@ +import { createAction, createReducer } from 'redux-act'; + +const getCredentials = (res) => { + const { code } = res; + if(code && code.src) { + return { + client: code.src[0], + token: code.src[1] + } + } + else { + return {} + } +}; + +const loginInit = createAction('IO/OK2/LOGIN', res => res); +const loginSuccess = createAction('LOGIN_INIT', getCredentials); +const loginSuccessHandler = (state, payload) => { + return { + ...state, + ...payload + } +}; + +const initialState = { + updated: (new Date).toLocaleString() +}; +const credentials = createReducer({ + [loginSuccess]: loginSuccessHandler +}, initialState); + +const loginActions = { + loginInit, + loginSuccess +}; + +export { + loginActions +} + +export default credentials diff --git a/src/core/resource/auth/login/sagas/Login.saga.js b/src/core/resource/auth/login/sagas/Login.saga.js index 1efc584fdf179ce08d58da0a0cb4ccb1ae09fea1..14c9db32adf43f903ad8b434ddc754559c17da8d 100644 --- a/src/core/resource/auth/login/sagas/Login.saga.js +++ b/src/core/resource/auth/login/sagas/Login.saga.js @@ -1,20 +1,18 @@ import { take, call } from 'redux-saga/effects'; +import { loginActions } from '../modules/Login.module'; import { getSupplier } from 'Core/services'; import { setupClientEntry } from 'Core/store'; import { supplierActions } from 'Core/resource/supplier'; -function* login() { - const supplier = getSupplier(); - yield call(supplier.close); - if (!supplier.connected) { - yield put( - supplierActions.connecting, - { - clientId: setupClientEntry('emqttd_'), - cleanSession: false - } - ); +function * loginWatcher() { + while(true) { + const response = yield take(loginActions.loginInit.getType()); + yield put(loginActions.loginSuccess(response)); } } -export { login }; +const loginSagas = { + loginWatcher +}; + +export { loginSagas }; diff --git a/src/core/resource/auth/verification/index.js b/src/core/resource/auth/verification/index.js deleted file mode 100644 index 894311620ec983c945bb53f43f8bf1797b60d080..0000000000000000000000000000000000000000 --- a/src/core/resource/auth/verification/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import * as authVerifySagas from './sagas/VerifyCredentials.saga'; -import * as authVerifyActions from './modules/VerifyCredentials.action'; - -export { - authVerifySagas, - authVerifyActions -}; diff --git a/src/core/resource/auth/verification/modules/Credentials.selector.js b/src/core/resource/auth/verification/modules/Credentials.selector.js deleted file mode 100644 index 9bab74f5c7e59775b6ea89175c6139607e1497a0..0000000000000000000000000000000000000000 --- a/src/core/resource/auth/verification/modules/Credentials.selector.js +++ /dev/null @@ -1,3 +0,0 @@ -const getCredentials = state => state.profile.credentials; - -export { getCredentials }; diff --git a/src/core/resource/auth/verification/modules/Verification.constant.js b/src/core/resource/auth/verification/modules/Verification.constant.js deleted file mode 100644 index 3c10cec97cacb14c7f9982b1e4491515e651d919..0000000000000000000000000000000000000000 --- a/src/core/resource/auth/verification/modules/Verification.constant.js +++ /dev/null @@ -1,4 +0,0 @@ -export const VERIFY_CODE = 'VERIFY_CODE'; -export const VERIFY_CODE_SUCCESS = 'VERIFY_CODE_SUCCESS'; -export const VERIFY_CODE_ERROR = 'VERIFY_CODE_ERROR'; -export const SERVER_CODE_VERFIY = 'IO/OK2/LOGIN'; diff --git a/src/core/resource/auth/verification/modules/VerifyCredentials.action.js b/src/core/resource/auth/verification/modules/VerifyCredentials.action.js deleted file mode 100644 index e89b13be8f7b951e0d3751254eb86ee930a81209..0000000000000000000000000000000000000000 --- a/src/core/resource/auth/verification/modules/VerifyCredentials.action.js +++ /dev/null @@ -1,21 +0,0 @@ -import * as actionsType from './Verification.constant'; - -const verifyCode = (...data) => ({ - type: actionsType.VERIFY_CODE, - data -}); - -const verifyCodeSuccess = ({ client = '', token = '' }) => ({ - type: actionsType.VERIFY_CODE_SUCCESS -}); - -const verifyCodeError = error => ({ - type: actionsType.VERIFY_CODE_ERROR, - error -}); - -export { - verifyCode, - verifyCodeError, - verifyCodeSuccess -}; diff --git a/src/core/resource/contacts/index.js b/src/core/resource/contacts/index.js index ed18553449fc95a8e0c6ff89cbb7d5f91ccc0e84..6a7da67f58f4ca6382183653fd4ed446a670098b 100644 --- a/src/core/resource/contacts/index.js +++ b/src/core/resource/contacts/index.js @@ -1,6 +1,7 @@ -import contacts, { contactsActions } from './modules/Contacts.module'; +import contacts, { contactsActions, contactsSelectors } from './modules/Contacts.module'; export { contacts, + contactsSelectors, contactsActions }; diff --git a/src/core/resource/contacts/modules/Contacts.module.js b/src/core/resource/contacts/modules/Contacts.module.js index 0c927a7c9040f67ecb9857cdb5a5111818a9706e..98d5e37ba6857f8e5eb0a2710875d5a3e95c6a85 100644 --- a/src/core/resource/contacts/modules/Contacts.module.js +++ b/src/core/resource/contacts/modules/Contacts.module.js @@ -12,12 +12,26 @@ const contacts = createReducer((on) => { on(contactsInit, handleLoad); }, initialState); -export const contactsActions = { +function isLoaded(globalState) { + return globalState.profile && globalState.profile.init; +} + +const pullReceivedContacts = ({ rosters = [] }) => { + return rosters.length && rosters[0].hasOwnProperty("userlist") ? roster[0].userlist : {}; +}; + +const contactsActions = { contactsInit }; +const contactsSelectors = { + pullReceivedContacts +}; + export default contacts; -export function isLoaded(globalState) { - return globalState.profile && globalState.profile.init; +export { + isLoaded, + contactsActions, + contactsSelectors } diff --git a/src/core/resource/init/index.js b/src/core/resource/init/index.js new file mode 100644 index 0000000000000000000000000000000000000000..6dc7c8990d057a392d99d1d2ca0b64dec691cfb7 --- /dev/null +++ b/src/core/resource/init/index.js @@ -0,0 +1,6 @@ +import root, { initActions } from './modules/Init.module'; + +export { + root, + initActions +} \ No newline at end of file diff --git a/src/core/resource/init/modules/Init.module.js b/src/core/resource/init/modules/Init.module.js new file mode 100644 index 0000000000000000000000000000000000000000..b0891a3747ef382951732418c534ba89209f1b77 --- /dev/null +++ b/src/core/resource/init/modules/Init.module.js @@ -0,0 +1,20 @@ +import { createAction, createReducer } from 'redux-act'; + +const initApp = createAction('INIT_APP'); +const initAppHandler = (state, payload) => ({ + ...state +}); + +const root = createReducer({ + [initApp]: initAppHandler +}); + +const initActions = { + initApp +}; + +export default root + +export { + initActions +} \ No newline at end of file diff --git a/src/core/resource/messages/index.js b/src/core/resource/messages/index.js index 8d6645f19a14e6b75e2d034a280424b261fbe3ab..bbd71f65db74aab981c086243e77861631328003 100644 --- a/src/core/resource/messages/index.js +++ b/src/core/resource/messages/index.js @@ -1,12 +1,12 @@ import { formatter } from './utils/FormatConverter.message'; -import messages, { messagesActions } from './modules/Messages.reducer'; +import messages, { unreadActions, unreadSelectors } from './modules/UnreadMessages.module'; import messageGet from './saga/Messages.saga' export { messages, - messagesActions, - formatter, - messageGet + unreadSelectors, + unreadActions, + formatter }; export const messagesSagas = { diff --git a/src/core/resource/messages/modules/Messages.reducer.js b/src/core/resource/messages/modules/UnreadMessages.module.js similarity index 58% rename from src/core/resource/messages/modules/Messages.reducer.js rename to src/core/resource/messages/modules/UnreadMessages.module.js index ff106d8f11333fbdb5c5178a9e74f171eb54eaac..da96425cca4aaf3c6b922aac171e67ed05b45edc 100644 --- a/src/core/resource/messages/modules/Messages.reducer.js +++ b/src/core/resource/messages/modules/UnreadMessages.module.js @@ -21,13 +21,40 @@ const messages = createReducer((on) => { on(messageGet, handleGet); }, initialState); -export const messagesActions = { +function isLoaded(globalState) { + return globalState.profile && globalState.profile.init; +} + +const pullReceivedUnread = ({ rosters = [] }) => { + let message = {}; + + if(!rosters.length) { + rosters.map(node => { + if (node.unread > 0) { + message[node.phone_id] = { + unread: node.unread, + history: [node.last_msg] + } + } + }); + } + return message; +}; + +const unreadActions = { messageGet, messagesInit }; +const unreadSelectors = { + pullReceivedUnread +}; + export default messages; -export function isLoaded(globalState) { - return globalState.profile && globalState.profile.init; -} + +export { + unreadActions, + unreadSelectors, + isLoaded +} \ No newline at end of file diff --git a/src/core/resource/messages/saga/Messages.saga.js b/src/core/resource/messages/saga/Messages.saga.js index 53e1a2a724c3319b8f6db1dfffcdc91a2679985c..dad8ee83f884bb1342d918845bbef39fa4879f8f 100644 --- a/src/core/resource/messages/saga/Messages.saga.js +++ b/src/core/resource/messages/saga/Messages.saga.js @@ -5,10 +5,9 @@ import _ from 'lodash'; const { put, take } = effects; -const messageGet = function* (params) { +const messageGet = function* () { while(true) { const data = yield take('MESSAGE/SENT'); - console.log(data); yield put(messagesActions.messageGet(data.response)); } diff --git a/src/core/resource/profile/api/Profile.api.js b/src/core/resource/profile/api/Profile.api.js new file mode 100644 index 0000000000000000000000000000000000000000..c5369ccdb7bdb1a3f8d4f8140eb75e664cb6f964 --- /dev/null +++ b/src/core/resource/profile/api/Profile.api.js @@ -0,0 +1,11 @@ +import { rosterApi } from '../../roster'; + +const createProfile = rosterApi.updateRoster; + +const profileApi = { + createProfile +}; + +export { + profileApi +} \ No newline at end of file diff --git a/src/core/resource/profile/index.js b/src/core/resource/profile/index.js index db9afef2af4976a5c915de1accc207299dec170c..83e8783fd195684be92c0bea8dbec24881102e84 100644 --- a/src/core/resource/profile/index.js +++ b/src/core/resource/profile/index.js @@ -1,16 +1,20 @@ -import profile, { userActions } from './modules/InitProfile.module'; -import initProfileSaga from './sagas/ProfileInit.saga'; +import { profileApi } from './api/Profile.api' +import profile, { profileInitActions } from './modules/ProfileInit.module'; +import initProfileSagas from './sagas/ProfileInit.saga'; + +import { profileSelectors } from './modules/Profile.module'; +import { profileSagas } from './sagas/Profile.saga'; const profileReducers = { profile }; -const profileSagas = { - initProfileSaga -}; - export { + profileApi, profileReducers, - profileSagas, - userActions + initProfileSagas, + profileInitActions, + + profileSelectors, + profileSagas }; diff --git a/src/core/resource/profile/modules/Profile.module.js b/src/core/resource/profile/modules/Profile.module.js new file mode 100644 index 0000000000000000000000000000000000000000..6d7491d32e0734b9bb4d30e75f8f7ef49ca4f7e1 --- /dev/null +++ b/src/core/resource/profile/modules/Profile.module.js @@ -0,0 +1,14 @@ +import { createAction, createReducer } from 'redux-act'; + +const getPhone = ({ profile = {} }) => ( + has(profile, "data.phone") ? profile.data.phone : undefined +); + +const profileSelectors = { + getPhone +}; + +export { + profileSelectors +} + diff --git a/src/core/resource/profile/modules/InitProfile.module.js b/src/core/resource/profile/modules/ProfileInit.module.js similarity index 52% rename from src/core/resource/profile/modules/InitProfile.module.js rename to src/core/resource/profile/modules/ProfileInit.module.js index 04ebf85613ad3c1f5489890ce9b6c4c5aaeb5c40..f040db2844d7a6e88b6f0a7862f25ec218406d2c 100644 --- a/src/core/resource/profile/modules/InitProfile.module.js +++ b/src/core/resource/profile/modules/ProfileInit.module.js @@ -1,9 +1,16 @@ import { createAction, createReducer } from 'redux-act'; +import has from 'lodash/has'; + +const profileInit = createAction('PROFILE/INIT'); const profileInitSuccess = createAction('PROFILE_INIT_SUCCESS'); const handleLoad = (state, action) => ({ ...state, init: true, data: action }); +const createProfileHandler = (firstName, lastName) => ({firstName, lastName}); +const createProfile = createAction('CREATE_PROFILE', createProfileHandler); + + const initialState = { init: false }; @@ -12,12 +19,19 @@ const profile = createReducer((on) => { on(profileInitSuccess, handleLoad); }, initialState); -export const userActions = { - profileInitSuccess +const profileInitActions = { + createProfile, + profileInitSuccess, + profileInit }; +function isLoaded(globalState) { + return globalState.profile && globalState.profile.init; +} + export default profile; -export function isLoaded(globalState) { - return globalState.profile && globalState.profile.init; +export { + isLoaded, + profileInitActions } diff --git a/src/core/resource/profile/sagas/Profile.saga.js b/src/core/resource/profile/sagas/Profile.saga.js new file mode 100644 index 0000000000000000000000000000000000000000..fac7c33b1afdcdc186fd14e6fffe5386c07e4500 --- /dev/null +++ b/src/core/resource/profile/sagas/Profile.saga.js @@ -0,0 +1,36 @@ +import { take, put, call, select } from 'redux-saga/effects'; +import { profileInitActions, profileSelectors } from '../index'; +import { profileApi } from '../index'; +import { rosterSelectors } from '../../roster'; +import { getSupplier } from 'Core/services' + +function * createProfile() { + while(true) { + const { firstName, lastName } = yield take(profileInitActions.createProfile.getType); + const rosterId = yield select(rosterSelectors.getRosterId()); + const phone = yield select(profileSelectors.getPhone()); + const request = { + rosterId, + firstName, + lastName, + phone + }; + try { + const encoded = yield call(profileApi.createProfile, request); + const supplier = yield call(getSupplier); + if(supplier.connected) { + yield call(supplier.send, encoded); + } + } catch(e) { + //notify + } + } +} + +const profileSagas = { + createProfile +}; + +export { + profileSagas +} \ No newline at end of file diff --git a/src/core/resource/profile/sagas/ProfileInit.saga.js b/src/core/resource/profile/sagas/ProfileInit.saga.js index 632d09326014b9fdc1e7c024a8877ec7967fa20a..8923f5abeab6d1b4ccd5c164e7408bb55228f488 100644 --- a/src/core/resource/profile/sagas/ProfileInit.saga.js +++ b/src/core/resource/profile/sagas/ProfileInit.saga.js @@ -1,37 +1,27 @@ -import { effects } from 'redux-saga'; -import { userActions } from '../index'; -import { contactsActions } from '../../contacts'; -import { messagesActions } from "../../messages"; -import _ from 'lodash'; -const { put, take } = effects; +import { take, put } from 'redux-saga/effects'; +import { profileInitActions as actions, profileApi } from '../index'; +import { contactsActions, contactsSelectors } from '../../contacts'; +import { unreadActions, unreadSelectors } from "../../messages"; +import { rosterInitActions, rosterInitSelectors } from '../../roster'; - -const initProfileSaga = function* (params) { +function * profileInit() { while(true) { - const data = yield take('PROFILE/INIT'); - console.log(data); - yield put(userActions.profileInitSuccess(data.response)); - yield put(contactsActions.contactsInit(data.response.rosters[0].userlist)); - - const contactsWithUnreadMsg = _.filter(data.response.rosters[0].userlist, (arr) =>{ - return arr.unread > 0; - }); - - if(contactsWithUnreadMsg.length > 0){ - let msgObg = {}; - let unreadInit = 0; - contactsWithUnreadMsg.map((arr)=>{ - msgObg[arr.phone_id] = { - unread: arr.unread, - history: [arr.last_msg] - }; - unreadInit += arr.unread; - }); + const { response } = yield take(actions.profileInit.getType()); + yield put(actions.profileInitSuccess(response)); + yield put(rosterInitActions.rosterInit(rosterInitSelectors.pullReceivedRoster(response))); + yield put(contactsActions.contactsInit(contactsSelectors.pullReceivedContacts(response))); - yield put(messagesActions.messagesInit({ dataInit:msgObg, unreadInit: unreadInit})); + const dataInit = unreadSelectors.pullReceivedUnread(response); + const unreadInit = Object.keys(dataInit).length; + if(unreadInit) { + yield put(unreadActions.messagesInit({ dataInit, unreadInit })); } - } +} + + +const profileInitSagas = { + profileInit }; -export default initProfileSaga; \ No newline at end of file +export default profileInitSagas; \ No newline at end of file diff --git a/src/core/resource/roster/api/Roster.api.js b/src/core/resource/roster/api/Roster.api.js new file mode 100644 index 0000000000000000000000000000000000000000..9d40cc39e9c2c9620d28e14a1aacf90a44bbd222 --- /dev/null +++ b/src/core/resource/roster/api/Roster.api.js @@ -0,0 +1,20 @@ +import { rosterUtils } from 'Core/bert/SignatureGenerator.bert'; +import { getSupplier } from 'Core/services'; + +const updateRoster = ({ + id, + names, + surnames, + phone, + status = 'patch' + }) => { + return rosterUtils.encode({ id, names, surnames, phone, status }); +}; + +const rosterApi = { + updateRoster +}; + +export { + rosterApi +} \ No newline at end of file diff --git a/src/core/resource/roster/index.js b/src/core/resource/roster/index.js new file mode 100644 index 0000000000000000000000000000000000000000..41ce876fa5a19378330cf66f8775f83378dcedd0 --- /dev/null +++ b/src/core/resource/roster/index.js @@ -0,0 +1,14 @@ +import { rosterApi } from './api/Roster.api' +import data, { rosterInitActions, rosterInitSelectors } from './modules/RosterInit.module'; +import { rosterSelectors } from './modules/Roster.module'; + +const rosterReducers = { + data +}; + +export { + rosterApi, + rosterInitActions, + rosterReducers, + rosterSelectors, +} \ No newline at end of file diff --git a/src/core/resource/roster/modules/Roster.module.js b/src/core/resource/roster/modules/Roster.module.js new file mode 100644 index 0000000000000000000000000000000000000000..0fae470694dc2fe9079161ecdeb196bb3f5aae77 --- /dev/null +++ b/src/core/resource/roster/modules/Roster.module.js @@ -0,0 +1,13 @@ +import { createAction, createReducer } from 'redux-act'; + +const getRosterId = ({ roster = {} }) => ( + has(roster, "data.id") ? roster.data.id : undefined +); + +const rosterSelectors = { + getRosterId +}; + +export { + rosterSelectors +} \ No newline at end of file diff --git a/src/core/resource/roster/modules/RosterInit.module.js b/src/core/resource/roster/modules/RosterInit.module.js new file mode 100644 index 0000000000000000000000000000000000000000..f536f78ef01c96819155bb2c657695550004fc18 --- /dev/null +++ b/src/core/resource/roster/modules/RosterInit.module.js @@ -0,0 +1,43 @@ +import has from 'lodash/has'; +import { createAction, createReducer } from 'redux-act'; + +const rosterInitApply = ({ rosterId = 0, roster = {}, rosterIndex = 0 }) => ({ rosterId, rosterIndex, roster }); +const rosterInit = createAction('ROSTER_INIT', rosterInitApply); +const rosterInitHandler = (state, payload) => ({ + ...state, + ...payload +}); + +const initialState = {}; +const data = createReducer({ + [rosterInit]: rosterInitHandler +}, initialState); + +const pullReceivedRoster = ({ rosters = [] }) => { + let roster; + const instance = rosters[0]; + if(rosters.length) { + roster = { + id: instance.id, + instance, + index: instance.index || 0 + } + } + + return roster || {}; +}; + +const rosterInitActions = { + rosterInit +}; + +const rosterInitSelectors = { + pullReceivedRoster, +}; + +export default data; + +export { + rosterInitSelectors, + rosterInitActions +} \ No newline at end of file diff --git a/src/core/resource/supplier/index.js b/src/core/resource/supplier/index.js index d72e38d95c50f2fde81e51a272c4322d5e8a266e..9341966984732e754abe78a147cd1e4c65ae17ad 100644 --- a/src/core/resource/supplier/index.js +++ b/src/core/resource/supplier/index.js @@ -1,5 +1,4 @@ import { connectWatcher as connectInitiator } from './sagas/SupplierConnector.saga'; - import { serverResponse, status, diff --git a/src/core/resource/supplier/modules/Supplier.module.js b/src/core/resource/supplier/modules/Supplier.module.js index 7bdad90610a807a575652743ddc04309971cd640..948d3f380bec8effbb66957a4539192ea265a90f 100644 --- a/src/core/resource/supplier/modules/Supplier.module.js +++ b/src/core/resource/supplier/modules/Supplier.module.js @@ -15,7 +15,6 @@ const changeCondition = createAction('CHANGE_CONDITION', ({ isConnecting })); const conditionHandler = (state, payload) => { - console.log(payload); return { ...state, condition: { @@ -30,6 +29,7 @@ const connecting = createAction('CONNECTING', ( updated = (new Date()).toLocaleTimeString(), details = '' ) => { + changeCondition({ isConnecting: true }); return { clientId, @@ -90,12 +90,15 @@ const error = createAction('ERROR', ( return { updated, details }; }); -const errorHandler = (state, payload) => ({ - ...state, - error: { - ...payload + +const errorHandler = (state, payload) => { + return { + ...state, + "error": { + ...payload + } } -}); +}; const serverResponse = (action, response, packet = {}) => ({ type: action, @@ -109,9 +112,10 @@ const status = createReducer({ [connected]: connectedHandler, [error]: errorHandler, [close]: closeHandler, - [changeCondition]: conditionHandler + [changeCondition]: conditionHandler, }, statusInitialState); + export { serverResponse, status, diff --git a/src/core/resource/supplier/sagas/SupplierConnector.saga.js b/src/core/resource/supplier/sagas/SupplierConnector.saga.js index 88a207de329b5422aeed9e0a6b71815d2c383230..9cadd0aeb1743c6b8a2f9e4afb1e5592fdaf6e54 100644 --- a/src/core/resource/supplier/sagas/SupplierConnector.saga.js +++ b/src/core/resource/supplier/sagas/SupplierConnector.saga.js @@ -1,39 +1,30 @@ -import { takeLatest, fork, call, put, take } from 'redux-saga/effects'; +import { takeLatest, fork, call, put, take, all } from 'redux-saga/effects'; import { supplierEventChannel } from 'Core/services'; import { getSupplier } from 'Core/services'; import { setupClientEntry } from 'Core/store'; -import { supplierActions } from 'Core/resource/supplier'; +import { supplierActions as actions } from '../index'; - -function* supplierEventManager(action) { - const socketChannel = yield call(supplierEventChannel, action); +function * supplierEventManager({ payload }) { + const socketChannel = yield call(supplierEventChannel, payload); while (true) { const eventAction = yield take(socketChannel); yield put(eventAction); } } -function* connectWatcher(params) { - yield takeLatest(supplierActions.connecting.getType(), supplierEventManager); +function * connectWatcher() { + yield takeLatest(actions.connecting.getType(), supplierEventManager); } - -function* reconnectWorker(action) { - const supplier = getSupplier(); - yield call(supplier.close); - if (!supplier.connected) { - yield put( - supplierActions.connecting, - { - clientId: setupClientEntry('emqttd_'), - cleanSession: false - } - ); - } +function * reconnect({ payload }) { + yield all([ + put(actions.close()), + put(actions.connecting(payload)) + ]); } -function* reconnectWatcher() { - yield takeLatest('RECONNECT', reconnectWorker); +function * reconnectWatcher() { + yield takeLatest(actions.reconnect.getType(), reconnect); } export { connectWatcher, reconnectWatcher }; diff --git a/src/core/services/MqttClient.service.js b/src/core/services/MqttClient.service.js index fffca0bde1566becea57b816ff384097f98be9be..385cf1fad0e6ef4c346bc6514e69704600bd4863 100644 --- a/src/core/services/MqttClient.service.js +++ b/src/core/services/MqttClient.service.js @@ -22,7 +22,6 @@ const configure = (customConfig) => { }; const getConfig = () => config || configure(); - const setConfig = patch => (config ? Object.assign(config, patch) : patch); const getSupplier = () => client || null; diff --git a/src/core/store/Browser.store.js b/src/core/store/Browser.store.js index 0ca2c76df72abea4b19ca288b77fbe3141d41704..28ca01cc332a3b88a633cdede6462be66e560cea 100644 --- a/src/core/store/Browser.store.js +++ b/src/core/store/Browser.store.js @@ -5,12 +5,6 @@ const generateClientId = () => Math.random().toString(36).substring(2) + (new Date()).getTime().toString(36); -const genClientId = () => ( - Math.random().toString(36).substring(2) - + (new Date()).getTime().toString(36) -); - - const setupDevEntry = () => { const devKey = browserStorage.getItem(DEV_KEY) || generateClientId(); diff --git a/src/core/store/Configure.dev.store.js b/src/core/store/Configure.dev.store.js index 80991a37476277661cee10ed102595a7f068ead3..3d45ed16fc7b6169b3105c3f69702040ddc0fad0 100644 --- a/src/core/store/Configure.dev.store.js +++ b/src/core/store/Configure.dev.store.js @@ -11,23 +11,25 @@ import { rootSaga } from '../resource'; import { browserStorage } from './index'; const configureStore = () => { - const sagaMiddleware = createSagaMiddleware(); + const sagaMiddleware = createSagaMiddleware({ + + }); const middlewares = [ crashReporter, - // logger, + logger, reduxImmutableStateInvariant(), sagaMiddleware // loadingBarMiddleware({ scope: 'page' }) ]; - + const initialState = JSON.parse(browserStorage.getItem(STORAGE_NAME)); const composeExtenders = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; - const store = createStore(rootReducer, {}, composeExtenders(applyMiddleware(...middlewares))); + const store = createStore(rootReducer, initialState, composeExtenders(applyMiddleware(...middlewares))); sagaMiddleware.run(rootSaga); store.subscribe(trottle(() => { - browserStorage.setItem(STORAGE_NAME, store.getState()); + browserStorage.setItem(STORAGE_NAME, JSON.stringify(store.getState())); }, SAVE_TIME_DELAY)); diff --git a/src/core/store/ConfigureBrowser.store.js b/src/core/store/ConfigureBrowser.store.js index cefb38c9bcdb63e6a1855116c1ec3830b968af08..4d6ee798bbd0b1c54f1ddb6614349ab810ee173f 100644 --- a/src/core/store/ConfigureBrowser.store.js +++ b/src/core/store/ConfigureBrowser.store.js @@ -5,7 +5,6 @@ const config = { version: 1 }; -const incomeDB = localforage.createInstance({ name: 'incomeDB', ...config }); -const outcomeDB = localforage.createInstance({ name: 'outcomeDB', ...config }); +const browserStorage = localforage.createInstance({ name: 'redux', ...config }); -export { incomeDB, outcomeDB }; +export { browserStorage }; diff --git a/src/core/store/InitialStateManager.store.js b/src/core/store/InitialStateManager.store.js new file mode 100644 index 0000000000000000000000000000000000000000..51953aef1a91e788dde2db436a3340c8cf576c71 --- /dev/null +++ b/src/core/store/InitialStateManager.store.js @@ -0,0 +1,22 @@ +const loadState = () => { + try { + const localState = localStorage.getItem(LOCALSTORAGE_ROOT); + return localState ? localState : {}; + } catch (err) { + return undefined; + } +}; + +const saveState = (state = {}) => { + try { + const serializedState = JSON.stringify(state); + localStorage.setItem(LOCALSTORAGE_ROOT, serializedState) + } catch (err) { + return undefined; + } +}; + +export { + loadState, + saveState +} \ No newline at end of file diff --git a/src/core/store/index.js b/src/core/store/index.js index 44f7c532f47c1a2cfef7d8d7629a5decba38cf39..02cba4d238e5c7e7fac243858cf9b835f6b08d59 100644 --- a/src/core/store/index.js +++ b/src/core/store/index.js @@ -14,4 +14,4 @@ export { browserStorage, configureStore, MqttLocaforageStore -}; +}; \ No newline at end of file diff --git a/src/index.js b/src/index.js index 490d0b70c7ca0a740bc0ea6dcea429d337c230aa..38eb9855f8a56a3e7fd86f2fc6b6f7ce95a340f3 100644 --- a/src/index.js +++ b/src/index.js @@ -15,7 +15,7 @@ require('./favicon.ico'); render(
    - +
    , document.getElementById('app') ); diff --git a/src/root.js b/src/root.js index de59dd9e2d79254df5359ad4dfaf26c0c9b10e6f..ff9f651be61e80c14e4c87ce9f528f12e5528829 100644 --- a/src/root.js +++ b/src/root.js @@ -15,13 +15,11 @@ class Root extends Component { const { store } = this.props; const history = createHistory(); return ( -
    - - - { routes() } - - -
    + + + { routes() } + + ); } } diff --git a/static/img/404.jpg b/static/img/404.jpg deleted file mode 100644 index fff7e35e07d54bbc19cde30304c7177127fca95c..0000000000000000000000000000000000000000 Binary files a/static/img/404.jpg and /dev/null differ diff --git a/static/img/7zip.png b/static/img/7zip.png deleted file mode 100644 index 6843fa432001516e9faa04a2805404394321bad7..0000000000000000000000000000000000000000 Binary files a/static/img/7zip.png and /dev/null differ diff --git a/static/img/Beverly_Johnson.png b/static/img/Beverly_Johnson.png deleted file mode 100644 index dbbd2e417443e42a1dfb6ffee691d25b9448e418..0000000000000000000000000000000000000000 Binary files a/static/img/Beverly_Johnson.png and /dev/null differ diff --git a/static/img/Christopher_Pryor.png b/static/img/Christopher_Pryor.png deleted file mode 100644 index 498448fb6859ba282a9c98bb9e73efba628edf76..0000000000000000000000000000000000000000 Binary files a/static/img/Christopher_Pryor.png and /dev/null differ diff --git a/static/img/David_Mickelson.png b/static/img/David_Mickelson.png deleted file mode 100644 index d5f422d31c38c160174d2be63021bf6567a4cc7a..0000000000000000000000000000000000000000 Binary files a/static/img/David_Mickelson.png and /dev/null differ diff --git a/static/img/Jennifer-Lawrence.png b/static/img/Jennifer-Lawrence.png deleted file mode 100644 index dc07e1a3a3951c5430ce421fd42d46a775c19df1..0000000000000000000000000000000000000000 Binary files a/static/img/Jennifer-Lawrence.png and /dev/null differ diff --git a/static/img/Mary.png b/static/img/Mary.png deleted file mode 100644 index 7c5c50f22e9cb69f905577d7b41663a72d62e56e..0000000000000000000000000000000000000000 Binary files a/static/img/Mary.png and /dev/null differ diff --git a/static/img/Richard_Smith.png b/static/img/Richard_Smith.png deleted file mode 100644 index 6fc8b9b0d8f1ff6d2aa2ba0414a597b9a9f3aef4..0000000000000000000000000000000000000000 Binary files a/static/img/Richard_Smith.png and /dev/null differ diff --git a/static/img/Rose_Willis.png b/static/img/Rose_Willis.png deleted file mode 100644 index 80a0f6f507b3997489cdba5bdad6b16640b51ada..0000000000000000000000000000000000000000 Binary files a/static/img/Rose_Willis.png and /dev/null differ diff --git a/static/img/Stephanie.png b/static/img/Stephanie.png deleted file mode 100644 index aef018a7b144bfb16ae5b6f53deee47d7d3c9eba..0000000000000000000000000000000000000000 Binary files a/static/img/Stephanie.png and /dev/null differ diff --git a/static/img/arrow-next.png b/static/img/arrow-next.png deleted file mode 100644 index 4e944c42f7f9cb13865ee35220ed36f24ced41d4..0000000000000000000000000000000000000000 Binary files a/static/img/arrow-next.png and /dev/null differ diff --git a/static/img/audio_call.png b/static/img/audio_call.png deleted file mode 100644 index 2a0ab495c1171a585ffa379190000fda17540798..0000000000000000000000000000000000000000 Binary files a/static/img/audio_call.png and /dev/null differ diff --git a/static/img/beerpong_at_spotkaraoke.png b/static/img/beerpong_at_spotkaraoke.png deleted file mode 100644 index 746b60093f683d2468a6fd2e1c7a58d7c1ad2380..0000000000000000000000000000000000000000 Binary files a/static/img/beerpong_at_spotkaraoke.png and /dev/null differ diff --git a/static/img/bg/dark-mountains_4k.jpg b/static/img/bg/dark-mountains_4k.jpg deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/static/img/bird.png b/static/img/bird.png deleted file mode 100644 index 31773f2b08ed0916d4251ec3416886bccafd76ed..0000000000000000000000000000000000000000 Binary files a/static/img/bird.png and /dev/null differ diff --git a/static/img/calls.png b/static/img/calls.png deleted file mode 100644 index b931ddb8629735f8b1ec488de0760ea6bcb9702a..0000000000000000000000000000000000000000 Binary files a/static/img/calls.png and /dev/null differ diff --git a/static/img/chats.png b/static/img/chats.png deleted file mode 100644 index df57baedcb6d8c968074588ed822cc70b0e207c5..0000000000000000000000000000000000000000 Binary files a/static/img/chats.png and /dev/null differ diff --git a/static/img/chats_tedst.png b/static/img/chats_tedst.png deleted file mode 100644 index 813ca92c57777c466049ef98b95dd574231bd241..0000000000000000000000000000000000000000 Binary files a/static/img/chats_tedst.png and /dev/null differ diff --git a/static/img/contact_1.png b/static/img/contact_1.png deleted file mode 100644 index f225d1ebc58eadc0acc07f68d49185593be83036..0000000000000000000000000000000000000000 Binary files a/static/img/contact_1.png and /dev/null differ diff --git a/static/img/contact_photo.png b/static/img/contact_photo.png deleted file mode 100644 index fde119b49e477e151acd6dd6032716e4351c7f4b..0000000000000000000000000000000000000000 Binary files a/static/img/contact_photo.png and /dev/null differ diff --git a/static/img/contacts.png b/static/img/contacts.png deleted file mode 100644 index aede7d04abd2db58ccb3ecfc024d50a612119114..0000000000000000000000000000000000000000 Binary files a/static/img/contacts.png and /dev/null differ diff --git a/static/img/country-icon.png b/static/img/country-icon.png deleted file mode 100644 index 136de708a9b598e2b91f3d91d96221048c77b45c..0000000000000000000000000000000000000000 Binary files a/static/img/country-icon.png and /dev/null differ diff --git a/static/img/drag.png b/static/img/drag.png deleted file mode 100644 index 9dfea6b407caeae0265504e9de11431224aa3bb7..0000000000000000000000000000000000000000 Binary files a/static/img/drag.png and /dev/null differ diff --git a/static/img/drag_handle.png b/static/img/drag_handle.png deleted file mode 100644 index 717fd23b3b8c4a8d681de96ef08800d4003e9ea9..0000000000000000000000000000000000000000 Binary files a/static/img/drag_handle.png and /dev/null differ diff --git a/static/img/emoji.png b/static/img/emoji.png deleted file mode 100644 index a62e24a2b39481902c9fd878bdc95f3e40af4e57..0000000000000000000000000000000000000000 Binary files a/static/img/emoji.png and /dev/null differ diff --git a/static/img/events.png b/static/img/events.png deleted file mode 100644 index 90bcf666ef3aadc7a108565ecdca3f2dca5e9124..0000000000000000000000000000000000000000 Binary files a/static/img/events.png and /dev/null differ diff --git a/static/img/family.png b/static/img/family.png deleted file mode 100644 index 35f00d9b5956c53bc55f743b6d6473df64ed36d6..0000000000000000000000000000000000000000 Binary files a/static/img/family.png and /dev/null differ diff --git a/static/img/favorite.png b/static/img/favorite.png deleted file mode 100644 index 1771945cc120af04aca3bf86a3d49c909ae3f88e..0000000000000000000000000000000000000000 Binary files a/static/img/favorite.png and /dev/null differ diff --git a/static/img/file.png b/static/img/file.png deleted file mode 100644 index 55e4a5bedf8a42b2968b1b276479fa65da2f15bb..0000000000000000000000000000000000000000 Binary files a/static/img/file.png and /dev/null differ diff --git a/static/img/from_pc.png b/static/img/from_pc.png deleted file mode 100644 index 04584c38bcf35473f0e7988c784b1c868027e953..0000000000000000000000000000000000000000 Binary files a/static/img/from_pc.png and /dev/null differ diff --git a/static/img/groups.png b/static/img/groups.png deleted file mode 100644 index 5d53138dc9646739b19d71ded7513b3f9585aeb1..0000000000000000000000000000000000000000 Binary files a/static/img/groups.png and /dev/null differ diff --git a/static/img/icon_completed.png b/static/img/icon_completed.png deleted file mode 100644 index 865243608ecb652a1a970830cc93c167e102564e..0000000000000000000000000000000000000000 Binary files a/static/img/icon_completed.png and /dev/null differ diff --git a/static/img/left_arrow.png b/static/img/left_arrow.png deleted file mode 100644 index f8013201b394bd311bd9f38638c9f995be86f71b..0000000000000000000000000000000000000000 Binary files a/static/img/left_arrow.png and /dev/null differ diff --git a/static/img/link.png b/static/img/link.png deleted file mode 100644 index 8428e02537a8aefc8a92b4da06e64eab5d17b4df..0000000000000000000000000000000000000000 Binary files a/static/img/link.png and /dev/null differ diff --git a/static/img/link_share.png b/static/img/link_share.png deleted file mode 100644 index 37b2a1720e31cdd38186797e17e67022fe2aef64..0000000000000000000000000000000000000000 Binary files a/static/img/link_share.png and /dev/null differ diff --git a/static/img/location.png b/static/img/location.png deleted file mode 100644 index 14aa10519bc9e56d500c6f2d3ac453001c967e5a..0000000000000000000000000000000000000000 Binary files a/static/img/location.png and /dev/null differ diff --git a/static/img/location_icon.png b/static/img/location_icon.png deleted file mode 100644 index 663e11218c694dbb6e7c8fcc4f25761db786fa08..0000000000000000000000000000000000000000 Binary files a/static/img/location_icon.png and /dev/null differ diff --git a/static/img/logo-s.png b/static/img/logo-s.png deleted file mode 100644 index 3c303e6f1f28e7564628d8243115e53a40141d76..0000000000000000000000000000000000000000 Binary files a/static/img/logo-s.png and /dev/null differ diff --git a/static/img/logo.png b/static/img/logo.png deleted file mode 100644 index ac20eb5b5c9f4068c2a4586ba13d39ca17f2ec41..0000000000000000000000000000000000000000 Binary files a/static/img/logo.png and /dev/null differ diff --git a/static/img/micro_background.png b/static/img/micro_background.png deleted file mode 100644 index 596a61f482656663e97ccc82aab2f4e85e89f9f4..0000000000000000000000000000000000000000 Binary files a/static/img/micro_background.png and /dev/null differ diff --git a/static/img/micro_icon.png b/static/img/micro_icon.png deleted file mode 100644 index 213052053799c117080edcae2b3608c917fe93ac..0000000000000000000000000000000000000000 Binary files a/static/img/micro_icon.png and /dev/null differ diff --git a/static/img/new_chat.png b/static/img/new_chat.png deleted file mode 100644 index 0e8f004eb0bf84243a334f9f4648ddfffe2a9d81..0000000000000000000000000000000000000000 Binary files a/static/img/new_chat.png and /dev/null differ diff --git a/static/img/notifications.png b/static/img/notifications.png deleted file mode 100644 index 9e1c227be3f86ef475bb748409c928842243db7e..0000000000000000000000000000000000000000 Binary files a/static/img/notifications.png and /dev/null differ diff --git a/static/img/number-icon.png b/static/img/number-icon.png deleted file mode 100644 index 181703ea60df3ffa72432e27d7e5b413d7890051..0000000000000000000000000000000000000000 Binary files a/static/img/number-icon.png and /dev/null differ diff --git a/static/img/pdf.png b/static/img/pdf.png deleted file mode 100644 index 8b490296d03f3b3985e6b20973771a53a9d765a2..0000000000000000000000000000000000000000 Binary files a/static/img/pdf.png and /dev/null differ diff --git a/static/img/photo_icon.png b/static/img/photo_icon.png deleted file mode 100644 index b1d9cdfa5d719a3f0753b46e6d144d349127d5bc..0000000000000000000000000000000000000000 Binary files a/static/img/photo_icon.png and /dev/null differ diff --git a/static/img/photos.png b/static/img/photos.png deleted file mode 100644 index 9a5487e09da146ecd287ec7d7294bfba08bf9825..0000000000000000000000000000000000000000 Binary files a/static/img/photos.png and /dev/null differ diff --git a/static/img/profile.png b/static/img/profile.png deleted file mode 100644 index 28a3f0e3e8317aee67e1a7462612077bcddb8e45..0000000000000000000000000000000000000000 Binary files a/static/img/profile.png and /dev/null differ diff --git a/static/img/psd.png b/static/img/psd.png deleted file mode 100644 index 8ee9a32b1c7152695be9f7dee7033c885dc88e5e..0000000000000000000000000000000000000000 Binary files a/static/img/psd.png and /dev/null differ diff --git a/static/img/recents.png b/static/img/recents.png deleted file mode 100644 index 3f7763ba9a5b66419aa987af60bb0c0b99702427..0000000000000000000000000000000000000000 Binary files a/static/img/recents.png and /dev/null differ diff --git a/static/img/right_arrow.png b/static/img/right_arrow.png deleted file mode 100644 index 003579eb2bf7d48009a7f97834f59cfa60ec66cc..0000000000000000000000000000000000000000 Binary files a/static/img/right_arrow.png and /dev/null differ diff --git a/static/img/right_bar_arrow.png b/static/img/right_bar_arrow.png deleted file mode 100644 index 3720db50e663485a1f1c28c50569d4f30d440cb5..0000000000000000000000000000000000000000 Binary files a/static/img/right_bar_arrow.png and /dev/null differ diff --git a/static/img/right_bar_arrow_down.png b/static/img/right_bar_arrow_down.png deleted file mode 100644 index 0616bf0a64be42ffc854ba1457b53c0092f84b41..0000000000000000000000000000000000000000 Binary files a/static/img/right_bar_arrow_down.png and /dev/null differ diff --git a/static/img/right_bar_arrow_up.png b/static/img/right_bar_arrow_up.png deleted file mode 100644 index 785ad819ed28645f9ae7b38ea33def7a126b48cc..0000000000000000000000000000000000000000 Binary files a/static/img/right_bar_arrow_up.png and /dev/null differ diff --git a/static/img/search_icon.png b/static/img/search_icon.png deleted file mode 100644 index e785aabf35df5aa3911cd0441402d1d53114cb59..0000000000000000000000000000000000000000 Binary files a/static/img/search_icon.png and /dev/null differ diff --git a/static/img/security-icon.png b/static/img/security-icon.png deleted file mode 100644 index 7ac66aa07f1702c84f38d1ac3b462e1882a1281a..0000000000000000000000000000000000000000 Binary files a/static/img/security-icon.png and /dev/null differ diff --git a/static/img/send_background.png b/static/img/send_background.png deleted file mode 100644 index df75f730db629431f68ab0c3005e27a88694a5f7..0000000000000000000000000000000000000000 Binary files a/static/img/send_background.png and /dev/null differ diff --git a/static/img/send_icon.png b/static/img/send_icon.png deleted file mode 100644 index dfeab0518ec5b3afe91c8fca13ac116dfeb1ea1f..0000000000000000000000000000000000000000 Binary files a/static/img/send_icon.png and /dev/null differ diff --git a/static/img/send_image.png b/static/img/send_image.png deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/static/img/send_image_2.png b/static/img/send_image_2.png deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/static/img/send_image_3.png b/static/img/send_image_3.png deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/static/img/send_image_4.png b/static/img/send_image_4.png deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/static/img/settings.png b/static/img/settings.png deleted file mode 100644 index a71de942f66abb70c920f9f89ed691c91c5b0960..0000000000000000000000000000000000000000 Binary files a/static/img/settings.png and /dev/null differ diff --git a/static/img/sidebar_logo.png b/static/img/sidebar_logo.png deleted file mode 100644 index 132a186b87cc3a9227114085029d055911abbe11..0000000000000000000000000000000000000000 Binary files a/static/img/sidebar_logo.png and /dev/null differ diff --git a/static/img/storage.png b/static/img/storage.png deleted file mode 100644 index 0610ab9dc834b899487fc15cd71a48839b206c3a..0000000000000000000000000000000000000000 Binary files a/static/img/storage.png and /dev/null differ diff --git a/static/img/text imput.png b/static/img/text imput.png deleted file mode 100644 index 0507a188c14369e4ac868c1716cf11fddbc85171..0000000000000000000000000000000000000000 Binary files a/static/img/text imput.png and /dev/null differ diff --git a/static/img/video_call.png b/static/img/video_call.png deleted file mode 100644 index 349ad593cdb344fdd766e4f2fad9c8f0c1a2db1f..0000000000000000000000000000000000000000 Binary files a/static/img/video_call.png and /dev/null differ diff --git a/static/img/video_icon.png b/static/img/video_icon.png deleted file mode 100644 index 4067d80c29f3ada89b82b49528d7c2465ea25c61..0000000000000000000000000000000000000000 Binary files a/static/img/video_icon.png and /dev/null differ diff --git a/static/img/video_icon_chat.png b/static/img/video_icon_chat.png deleted file mode 100644 index 481dd3b912473deaa87588a1b39e1748be405d72..0000000000000000000000000000000000000000 Binary files a/static/img/video_icon_chat.png and /dev/null differ diff --git a/static/img/video_share.png b/static/img/video_share.png deleted file mode 100644 index 983d4412e50e00691bad366d67a73387ad79a011..0000000000000000000000000000000000000000 Binary files a/static/img/video_share.png and /dev/null differ diff --git a/static/img/work.png b/static/img/work.png deleted file mode 100644 index 5218c620b710be16f3e950e7aec79a971f1cf0fc..0000000000000000000000000000000000000000 Binary files a/static/img/work.png and /dev/null differ diff --git a/webpack.dev.config.babel.js b/webpack.dev.config.babel.js index 68dd219bc30e798079ef66614425ec676033e98c..e351166bdd33f998e593c65c8d7f0b0d17a95806 100644 --- a/webpack.dev.config.babel.js +++ b/webpack.dev.config.babel.js @@ -16,6 +16,7 @@ export default { modules: ['node_modules', 'src'], alias: { Core: path.resolve(__dirname, 'src/core/'), + Assets: path.resolve(__dirname, 'src/assets/'), Tools: path.resolve(__dirname, 'tools/'), Pages: path.resolve(__dirname, 'src/pages/'), Home: path.resolve(__dirname, 'src/pages/home/index'),