From 692bd18f2a10e55461962d7d0b7ed0da3da7589c Mon Sep 17 00:00:00 2001 From: Adrian Mejia Date: Tue, 18 Sep 2018 12:55:08 -0400 Subject: [PATCH] benchmarking HashMaps --- benchmarks/hashmap.spec.js | 26 + benchmarks/words.txt | 24 + package-lock.json | 3741 +++++++++-------- package.json | 5 +- sortedArray1e4.txt | 1 - .../hash-maps/hashing-offset-test.js | 70 + .../hash-maps/hashing-prime-test.js | 67 + src/data-structures/hash-maps/hashing.js | 82 + src/data-structures/hash-maps/hashmap.perf.js | 59 + src/data-structures/hash-maps/stats.js | 108 + src/data-structures/hash-maps/stats.spec.js | 41 + 11 files changed, 2543 insertions(+), 1681 deletions(-) create mode 100644 benchmarks/hashmap.spec.js create mode 100644 benchmarks/words.txt delete mode 100644 sortedArray1e4.txt create mode 100644 src/data-structures/hash-maps/hashing-offset-test.js create mode 100644 src/data-structures/hash-maps/hashing-prime-test.js create mode 100644 src/data-structures/hash-maps/hashing.js create mode 100644 src/data-structures/hash-maps/hashmap.perf.js create mode 100644 src/data-structures/hash-maps/stats.js create mode 100644 src/data-structures/hash-maps/stats.spec.js diff --git a/benchmarks/hashmap.spec.js b/benchmarks/hashmap.spec.js new file mode 100644 index 00000000..03407cfe --- /dev/null +++ b/benchmarks/hashmap.spec.js @@ -0,0 +1,26 @@ +const HashMap = require('../src/data-structures/hash-maps/hash-map'); +const fs = require('fs'); +const readline = require('readline'); +const stream = require('stream'); + +describe('HashMap Performance Test', () => { + describe('#set', () => { + it('set lots of values', (done) => { + hashMap = new HashMap(); + + const instream = fs.createReadStream('./words.txt'); + const outstream = new stream; + const rl = readline.createInterface(instream, outstream); + + rl.on('line', function(line) { + console.log(line); + }); + + rl.on('close', function() { + expect(hashMap.collisions).toBeLessThan(1); + done(); + }); + + }); + }); +}); diff --git a/benchmarks/words.txt b/benchmarks/words.txt new file mode 100644 index 00000000..51b0fa96 --- /dev/null +++ b/benchmarks/words.txt @@ -0,0 +1,24 @@ +the +of +and +to +a +in +for +is +on +that +by +this +with +i +you +it +not +or +be +are +from +at +as +your diff --git a/package-lock.json b/package-lock.json index caabef00..98fa4f74 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,29 +5,37 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.49.tgz", - "integrity": "sha1-vs2AVIJzREDJ0TfkbXc0DmTX9Rs=", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "dev": true, "requires": { - "@babel/highlight": "7.0.0-beta.49" + "@babel/highlight": "^7.0.0" } }, "@babel/highlight": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.49.tgz", - "integrity": "sha1-lr3GtD4TSCASumaRsQGEktOWIsw=", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "dev": true, "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + } } }, "abab": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", - "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", + "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", "dev": true }, "acorn": { @@ -37,12 +45,21 @@ "dev": true }, "acorn-globals": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.1.0.tgz", - "integrity": "sha512-KjZwU26uG3u6eZcfGbTULzFcsoz6pegNKtHPksZPOUsiKo5bUmiBPa38FuHZ/Eun+XYh/JCCkS9AS3Lu4McQOQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.0.tgz", + "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", "dev": true, "requires": { - "acorn": "5.5.3" + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.1.tgz", + "integrity": "sha512-SiwgrRuRD2D1R6qjwwoopKcCTkmmIWjy1M15Wv+Nk/7VUsBad4P8GOPft2t6coDZG0TuR5dq9o1v0g8wo7F6+A==", + "dev": true + } } }, "acorn-jsx": { @@ -51,7 +68,7 @@ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { - "acorn": "3.3.0" + "acorn": "^3.0.4" }, "dependencies": { "acorn": { @@ -62,16 +79,22 @@ } } }, + "acorn-walk": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.0.1.tgz", + "integrity": "sha512-PqVQ8c6a3kyqdsUZlC7nljp3FFuxipBRHKu+7C1h8QygBFlzTaDX5HD383jej3Peed+1aDG8HwkfB1Z1HMNPkw==", + "dev": true + }, "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.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "ajv-keywords": { @@ -80,23 +103,6 @@ "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" - } - }, - "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.1.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", @@ -115,7 +121,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "anymatch": { @@ -124,10 +130,257 @@ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "requires": { - "micromatch": "3.1.10", - "normalize-path": "2.1.1" + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" }, "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.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.0" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "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.0" + } + }, + "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.0" + } + }, + "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.0.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.0.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.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^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.0" + } + }, + "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.0" + } + } + } + }, + "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.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.0" + } + } + } + }, + "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.0" + } + }, + "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.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-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.0.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", @@ -140,19 +393,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } } } @@ -163,7 +416,7 @@ "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "argparse": { @@ -172,14 +425,17 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "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 + "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.0.1" + } }, "arr-flatten": { "version": "1.1.0", @@ -205,7 +461,7 @@ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { - "array-uniq": "1.0.3" + "array-uniq": "^1.0.1" } }, "array-uniq": { @@ -215,9 +471,9 @@ "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=", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", "dev": true }, "arrify": { @@ -226,12 +482,21 @@ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "asciichart": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/asciichart/-/asciichart-1.5.7.tgz", + "integrity": "sha512-XhFFEBxWZPfrEEy9Ekp36pGvOCxBr5fRBk2cjxWVPsgakKPdbba3aDpJpZ8i9jpUSRvQKBn2Zm7a+NLA60A/RA==", "dev": true }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", @@ -256,7 +521,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "4.17.10" + "lodash": "^4.17.10" } }, "async-limiter": { @@ -272,9 +537,9 @@ "dev": true }, "atob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", - "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, "aws-sign2": { @@ -284,9 +549,9 @@ "dev": true }, "aws4": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", - "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", "dev": true }, "babel-code-frame": { @@ -295,9 +560,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "ansi-styles": { @@ -312,11 +577,11 @@ "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" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -325,7 +590,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -342,25 +607,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" + "babel-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.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" } }, "babel-generator": { @@ -369,14 +634,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "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.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "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.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" } }, "babel-helpers": { @@ -385,18 +650,18 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-jest": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-23.0.1.tgz", - "integrity": "sha1-u6079SP7IC2gXtCmVAtIyE7tE6Y=", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-23.6.0.tgz", + "integrity": "sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==", "dev": true, "requires": { - "babel-plugin-istanbul": "4.1.6", - "babel-preset-jest": "23.0.1" + "babel-plugin-istanbul": "^4.1.6", + "babel-preset-jest": "^23.2.0" } }, "babel-messages": { @@ -405,7 +670,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-istanbul": { @@ -414,16 +679,16 @@ "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", "dev": true, "requires": { - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "find-up": "2.1.0", - "istanbul-lib-instrument": "1.10.1", - "test-exclude": "4.2.1" + "babel-plugin-syntax-object-rest-spread": "^6.13.0", + "find-up": "^2.1.0", + "istanbul-lib-instrument": "^1.10.1", + "test-exclude": "^4.2.1" } }, "babel-plugin-jest-hoist": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.0.1.tgz", - "integrity": "sha1-6qEclkVjrqnCG+zvK994U/fzwUg=", + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz", + "integrity": "sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc=", "dev": true }, "babel-plugin-syntax-object-rest-spread": { @@ -433,13 +698,13 @@ "dev": true }, "babel-preset-jest": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-23.0.1.tgz", - "integrity": "sha1-YxzFRcbPAhlDATvK8i9F2H/mIZg=", + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz", + "integrity": "sha1-jsegOhOPABoaj7HoETZSvxpV2kY=", "dev": true, "requires": { - "babel-plugin-jest-hoist": "23.0.1", - "babel-plugin-syntax-object-rest-spread": "6.13.0" + "babel-plugin-jest-hoist": "^23.2.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0" } }, "babel-register": { @@ -448,13 +713,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "6.26.3", - "babel-runtime": "6.26.0", - "core-js": "2.5.7", - "home-or-tmp": "2.0.0", - "lodash": "4.17.10", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" } }, "babel-runtime": { @@ -463,8 +728,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.7", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -473,11 +738,11 @@ "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.10" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -486,15 +751,15 @@ "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.4", - "lodash": "4.17.10" + "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.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" } }, "babel-types": { @@ -503,10 +768,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -527,13 +792,13 @@ "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" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { @@ -542,7 +807,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -551,7 +816,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -560,7 +825,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -569,11 +834,17 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", @@ -583,13 +854,13 @@ } }, "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "brace-expansion": { @@ -598,37 +869,19 @@ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } + "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.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "browser-process-hrtime": { @@ -638,9 +891,9 @@ "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=", + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", "dev": true, "requires": { "resolve": "1.1.7" @@ -652,7 +905,7 @@ "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", "dev": true, "requires": { - "node-int64": "0.4.0" + "node-int64": "^0.4.0" } }, "buffer-from": { @@ -673,15 +926,23 @@ "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" + "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": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } } }, "caller-path": { @@ -690,7 +951,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "0.2.0" + "callsites": "^0.2.0" }, "dependencies": { "callsites": { @@ -708,11 +969,10 @@ "dev": true }, "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true, - "optional": true + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true }, "capture-exit": { "version": "1.2.0", @@ -720,7 +980,7 @@ "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", "dev": true, "requires": { - "rsvp": "3.6.2" + "rsvp": "^3.3.3" } }, "caseless": { @@ -729,26 +989,15 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "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, - "optional": true, - "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" - } - }, "chalk": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "chardet": { @@ -758,9 +1007,9 @@ "dev": true }, "ci-info": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz", - "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.5.1.tgz", + "integrity": "sha512-fKFIKXaYiL1exImwJ0AhR/6jxFPSKQBk2ayV5NiNoruUs2+rxC2kNw0EG+1Z9dugZRdCrppskQ8DN2cyaUM1Hw==", "dev": true }, "circular-json": { @@ -775,10 +1024,10 @@ "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" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -787,8 +1036,14 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true } } }, @@ -798,7 +1053,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-width": { @@ -808,24 +1063,14 @@ "dev": true }, "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, - "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - }, - "dependencies": { - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true, - "optional": true - } + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" } }, "co": { @@ -846,8 +1091,8 @@ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "color-convert": { @@ -856,7 +1101,7 @@ "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "dev": true, "requires": { - "color-name": "1.1.3" + "color-name": "^1.1.1" } }, "color-name": { @@ -871,14 +1116,15 @@ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "dev": true, "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, - "compare-versions": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.2.1.tgz", - "integrity": "sha512-2y2nHcopMG/NAyk6vWXlLs86XeM9sik4jmx1tKIgzMi9/RQ2eo758RGpxQO3ErihHmg0RlQITPqgz73y6s7quA==", - "dev": true + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true, + "optional": true }, "component-emitter": { "version": "1.2.1", @@ -898,10 +1144,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "1.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "contains-path": { @@ -911,10 +1157,13 @@ "dev": true }, "convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", - "dev": true + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } }, "copy-descriptor": { "version": "0.1.1", @@ -940,24 +1189,24 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "cssom": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", - "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz", + "integrity": "sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog==", "dev": true }, "cssstyle": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.3.1.tgz", - "integrity": "sha512-tNvaxM5blOnxanyxI6panOsnfiyLRj3HV4qjqqS45WPNS1usdYWRUQjqTEEELK73lpeP/1KoIGYUwrBn/VcECA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.1.1.tgz", + "integrity": "sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog==", "dev": true, "requires": { - "cssom": "0.3.2" + "cssom": "0.3.x" } }, "dashdash": { @@ -966,18 +1215,31 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "data-urls": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.0.0.tgz", - "integrity": "sha512-ai40PPQR0Fn1lD2PPie79CibnlMN2AYiDhwFX/rZHVsxbs5kNJSjegqXIprhouGXlRdEnfybva7kqRGnB6mypA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.0.1.tgz", + "integrity": "sha512-0HdcMZzK6ubMUnsMmQmG0AcLQPvbvb47R0+7CCZQCYgcd8OUWG91CG7sM6GoXgjz+WLl4ArFzHtBMy/QqSF4eg==", "dev": true, "requires": { - "abab": "1.0.4", - "whatwg-mimetype": "2.1.0", - "whatwg-url": "6.4.1" + "abab": "^2.0.0", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^7.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", + "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } } }, "debug": { @@ -1013,17 +1275,16 @@ "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "2.0.0" + "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=", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.11" + "object-keys": "^1.0.12" } }, "define-property": { @@ -1032,8 +1293,8 @@ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -1042,7 +1303,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -1051,7 +1312,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -1060,11 +1321,17 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", @@ -1079,13 +1346,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.1", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" } }, "delayed-stream": { @@ -1100,7 +1367,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "detect-newline": { @@ -1121,7 +1388,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "2.0.2" + "esutils": "^2.0.2" } }, "domexception": { @@ -1130,17 +1397,18 @@ "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", "dev": true, "requires": { - "webidl-conversions": "4.0.2" + "webidl-conversions": "^4.0.2" } }, "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, "error-ex": { @@ -1149,20 +1417,20 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es-abstract": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.11.0.tgz", - "integrity": "sha512-ZnQrE/lXTTQ39ulXZ+J1DTFazV9qBy61x2bY071B+qGco8Z8q1QddsLdt/EF8Ai9hcWH72dWS0kFqXLxOxqslA==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", + "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "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": "^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": { @@ -1171,9 +1439,9 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "is-callable": "1.1.3", - "is-date-object": "1.0.1", - "is-symbol": "1.0.1" + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" } }, "escape-string-regexp": { @@ -1183,16 +1451,16 @@ "dev": true }, "escodegen": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", - "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", + "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", "dev": true, "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.6.1" + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" }, "dependencies": { "esprima": { @@ -1216,44 +1484,44 @@ "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, "requires": { - "ajv": "5.5.2", - "babel-code-frame": "6.26.0", - "chalk": "2.4.1", - "concat-stream": "1.6.2", - "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.1", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "functional-red-black-tree": "1.0.1", - "glob": "7.1.2", - "globals": "11.5.0", - "ignore": "3.3.8", - "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.10", - "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", - "regexpp": "1.1.0", - "require-uncached": "1.0.3", - "semver": "5.5.0", - "strip-ansi": "4.0.0", - "strip-json-comments": "2.0.1", + "ajv": "^5.3.0", + "babel-code-frame": "^6.22.0", + "chalk": "^2.1.0", + "concat-stream": "^1.6.0", + "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.0.1", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^3.0.6", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.9.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "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", + "regexpp": "^1.0.1", + "require-uncached": "^1.0.3", + "semver": "^5.3.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "~2.0.1", "table": "4.0.2", - "text-table": "0.2.0" + "text-table": "~0.2.0" }, "dependencies": { "debug": { @@ -1279,7 +1547,7 @@ "integrity": "sha512-/vjm0Px5ZCpmJqnjIzcFb9TKZrKWz0gnuG/7Gfkt0Db1ELJR51xkZth+t14rYdqWgX836XbuxtArbIHlVhbLBA==", "dev": true, "requires": { - "eslint-restricted-globals": "0.1.1" + "eslint-restricted-globals": "^0.1.1" } }, "eslint-import-resolver-node": { @@ -1288,8 +1556,8 @@ "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", "dev": true, "requires": { - "debug": "2.6.9", - "resolve": "1.7.1" + "debug": "^2.6.9", + "resolve": "^1.5.0" }, "dependencies": { "resolve": { @@ -1298,7 +1566,7 @@ "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "dev": true, "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } } } @@ -1309,8 +1577,8 @@ "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=", "dev": true, "requires": { - "debug": "2.6.9", - "pkg-dir": "1.0.0" + "debug": "^2.6.8", + "pkg-dir": "^1.0.0" }, "dependencies": { "find-up": { @@ -1319,8 +1587,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "path-exists": { @@ -1329,7 +1597,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "pkg-dir": { @@ -1338,7 +1606,7 @@ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" } } } @@ -1349,16 +1617,16 @@ "integrity": "sha1-2tMXgSktZmSyUxf9BJ0uKy8CIF0=", "dev": true, "requires": { - "contains-path": "0.1.0", - "debug": "2.6.9", + "contains-path": "^0.1.0", + "debug": "^2.6.8", "doctrine": "1.5.0", - "eslint-import-resolver-node": "0.3.2", - "eslint-module-utils": "2.2.0", - "has": "1.0.1", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "read-pkg-up": "2.0.0", - "resolve": "1.7.1" + "eslint-import-resolver-node": "^0.3.1", + "eslint-module-utils": "^2.2.0", + "has": "^1.0.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.3", + "read-pkg-up": "^2.0.0", + "resolve": "^1.6.0" }, "dependencies": { "doctrine": { @@ -1367,8 +1635,8 @@ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { - "esutils": "2.0.2", - "isarray": "1.0.0" + "esutils": "^2.0.2", + "isarray": "^1.0.0" } }, "load-json-file": { @@ -1377,10 +1645,10 @@ "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" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "path-type": { @@ -1389,7 +1657,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "read-pkg": { @@ -1398,9 +1666,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -1409,8 +1677,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "resolve": { @@ -1419,7 +1687,7 @@ "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "dev": true, "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } }, "strip-bom": { @@ -1448,8 +1716,8 @@ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { @@ -1464,8 +1732,8 @@ "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { - "acorn": "5.5.3", - "acorn-jsx": "3.0.1" + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" } }, "esprima": { @@ -1480,7 +1748,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "esrecurse": { @@ -1489,7 +1757,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.1.0" } }, "estraverse": { @@ -1505,12 +1773,12 @@ "dev": true }, "exec-sh": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.1.tgz", - "integrity": "sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", + "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", "dev": true, "requires": { - "merge": "1.2.0" + "merge": "^1.2.0" } }, "execa": { @@ -1519,13 +1787,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, "exit": { @@ -1535,38 +1803,12 @@ "dev": true }, "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } + "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.0" } }, "expand-range": { @@ -1575,60 +1817,27 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.4" - }, - "dependencies": { - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "dev": true, - "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "3.0.0", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" - } - }, - "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" - } - }, - "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" - } - } + "fill-range": "^2.1.0" } }, "expect": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-23.0.1.tgz", - "integrity": "sha1-mRMfL9kRVZX4zDaXQB5/BzTUX+8=", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-23.6.0.tgz", + "integrity": "sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "jest-diff": "23.0.1", - "jest-get-type": "22.4.3", - "jest-matcher-utils": "23.0.1", - "jest-message-util": "23.0.0", - "jest-regex-util": "23.0.0" + "ansi-styles": "^3.2.0", + "jest-diff": "^23.6.0", + "jest-get-type": "^22.1.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0" } }, "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, "extend-shallow": { @@ -1637,8 +1846,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -1647,7 +1856,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -1658,80 +1867,18 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.19", - "tmp": "0.0.33" + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" } }, "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" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "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 - } + "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" } }, "extsprintf": { @@ -1764,7 +1911,7 @@ "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", "dev": true, "requires": { - "bser": "2.0.0" + "bser": "^2.0.0" } }, "figures": { @@ -1773,7 +1920,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "file-entry-cache": { @@ -1782,8 +1929,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" } }, "filename-regex": { @@ -1798,31 +1945,21 @@ "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", "dev": true, "requires": { - "glob": "7.1.2", - "minimatch": "3.0.4" + "glob": "^7.0.3", + "minimatch": "^3.0.3" } }, "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { - "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" - } - } + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "find-up": { @@ -1831,7 +1968,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "flat-cache": { @@ -1840,10 +1977,10 @@ "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" + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" } }, "for-in": { @@ -1858,15 +1995,9 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, - "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", @@ -1879,9 +2010,9 @@ "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "dev": true, "requires": { - "asynckit": "0.4.0", + "asynckit": "^0.4.0", "combined-stream": "1.0.6", - "mime-types": "2.1.18" + "mime-types": "^2.1.12" } }, "fragment-cache": { @@ -1890,7 +2021,7 @@ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "fs.realpath": { @@ -1906,8 +2037,8 @@ "dev": true, "optional": true, "requires": { - "nan": "2.10.0", - "node-pre-gyp": "0.10.0" + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" }, "dependencies": { "abbrev": { @@ -1933,8 +2064,8 @@ "dev": true, "optional": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "balanced-match": { @@ -1947,7 +2078,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -2011,7 +2142,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "fs.realpath": { @@ -2026,14 +2157,14 @@ "dev": true, "optional": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "glob": { @@ -2042,12 +2173,12 @@ "dev": true, "optional": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "has-unicode": { @@ -2062,7 +2193,7 @@ "dev": true, "optional": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": "^2.1.0" } }, "ignore-walk": { @@ -2071,7 +2202,7 @@ "dev": true, "optional": true, "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "inflight": { @@ -2080,8 +2211,8 @@ "dev": true, "optional": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -2100,7 +2231,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "isarray": { @@ -2114,7 +2245,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -2127,8 +2258,8 @@ "bundled": true, "dev": true, "requires": { - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" } }, "minizlib": { @@ -2137,7 +2268,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "mkdirp": { @@ -2160,9 +2291,9 @@ "dev": true, "optional": true, "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.21", - "sax": "1.2.4" + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, "node-pre-gyp": { @@ -2171,16 +2302,16 @@ "dev": true, "optional": true, "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.0", - "nopt": "4.0.1", - "npm-packlist": "1.1.10", - "npmlog": "4.1.2", - "rc": "1.2.7", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.1" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, "nopt": { @@ -2189,8 +2320,8 @@ "dev": true, "optional": true, "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npm-bundled": { @@ -2205,8 +2336,8 @@ "dev": true, "optional": true, "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.3" + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, "npmlog": { @@ -2215,10 +2346,10 @@ "dev": true, "optional": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -2237,7 +2368,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -2258,8 +2389,8 @@ "dev": true, "optional": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { @@ -2280,10 +2411,10 @@ "dev": true, "optional": true, "requires": { - "deep-extend": "0.5.1", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -2300,13 +2431,13 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "rimraf": { @@ -2315,7 +2446,7 @@ "dev": true, "optional": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { @@ -2358,9 +2489,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { @@ -2369,7 +2500,7 @@ "dev": true, "optional": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { @@ -2377,7 +2508,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -2392,13 +2523,13 @@ "dev": true, "optional": true, "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.2.4", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" } }, "util-deprecate": { @@ -2413,7 +2544,7 @@ "dev": true, "optional": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "wrappy": { @@ -2441,9 +2572,9 @@ "dev": true }, "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=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", "dev": true }, "get-stream": { @@ -2464,7 +2595,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -2473,12 +2604,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { @@ -2487,8 +2618,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" } }, "glob-parent": { @@ -2497,7 +2628,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "globals": { @@ -2512,12 +2643,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "graceful-fs": { @@ -2533,31 +2664,22 @@ "dev": true }, "handlebars": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", - "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz", + "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==", "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^2.5.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" }, "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": "1.0.1" - } + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, @@ -2568,13 +2690,13 @@ "dev": true }, "har-validator": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", - "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", + "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", "dev": true, "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.3.0", + "har-schema": "^2.0.0" } }, "has": { @@ -2583,7 +2705,7 @@ "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", "dev": true, "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.0.2" } }, "has-ansi": { @@ -2592,7 +2714,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -2607,9 +2729,17 @@ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } } }, "has-values": { @@ -2618,17 +2748,37 @@ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "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.0.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.6" + "is-buffer": "^1.1.5" } } } @@ -2639,8 +2789,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" } }, "hosted-git-info": { @@ -2655,7 +2805,7 @@ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dev": true, "requires": { - "whatwg-encoding": "1.0.3" + "whatwg-encoding": "^1.0.1" } }, "http-signature": { @@ -2664,9 +2814,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.1" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "iconv-lite": { @@ -2681,14 +2831,20 @@ "integrity": "sha512-pUh+xUQQhQzevjRHHFqqcTy0/dP/kS9I8HSrUydhihjuD09W6ldVWFtIrwhXdUJHis3i2rZNqEHpZH/cbinFbg==", "dev": true }, + "immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=", + "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" + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" } }, "imurmurhash": { @@ -2703,8 +2859,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -2719,20 +2875,20 @@ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.2.0", - "figures": "2.0.0", - "lodash": "4.17.10", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", "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" + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" } }, "invariant": { @@ -2741,7 +2897,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -2756,7 +2912,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-arrayish": { @@ -2777,22 +2933,22 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-callable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", - "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", "dev": true }, "is-ci": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", - "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", "dev": true, "requires": { - "ci-info": "1.1.3" + "ci-info": "^1.5.0" } }, "is-data-descriptor": { @@ -2801,7 +2957,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-date-object": { @@ -2816,9 +2972,9 @@ "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" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -2841,7 +2997,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { @@ -2862,7 +3018,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -2883,33 +3039,16 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "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" - } - }, - "is-odd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", - "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "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 - } + "kind-of": "^3.0.2" } }, "is-path-cwd": { @@ -2924,7 +3063,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -2933,7 +3072,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-plain-object": { @@ -2942,7 +3081,15 @@ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } } }, "is-posix-bracket": { @@ -2969,7 +3116,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "1.0.1" + "has": "^1.0.1" } }, "is-resolvable": { @@ -3021,10 +3168,13 @@ "dev": true }, "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } }, "isstream": { "version": "0.1.2", @@ -3033,65 +3183,64 @@ "dev": true }, "istanbul-api": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.1.tgz", - "integrity": "sha512-duj6AlLcsWNwUpfyfHt0nWIeRiZpuShnP40YTxOGQgtaN8fd6JYSxsvxUphTDy8V5MfDXo4s/xVCIIvVCO808g==", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.7.tgz", + "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==", "dev": true, "requires": { - "async": "2.6.1", - "compare-versions": "3.2.1", - "fileset": "2.0.3", - "istanbul-lib-coverage": "1.2.0", - "istanbul-lib-hook": "1.2.0", - "istanbul-lib-instrument": "1.10.1", - "istanbul-lib-report": "1.1.4", - "istanbul-lib-source-maps": "1.2.4", - "istanbul-reports": "1.3.0", - "js-yaml": "3.11.0", - "mkdirp": "0.5.1", - "once": "1.4.0" + "async": "^2.1.4", + "fileset": "^2.0.2", + "istanbul-lib-coverage": "^1.2.1", + "istanbul-lib-hook": "^1.2.2", + "istanbul-lib-instrument": "^1.10.2", + "istanbul-lib-report": "^1.1.5", + "istanbul-lib-source-maps": "^1.2.6", + "istanbul-reports": "^1.5.1", + "js-yaml": "^3.7.0", + "mkdirp": "^0.5.1", + "once": "^1.4.0" } }, "istanbul-lib-coverage": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz", - "integrity": "sha512-GvgM/uXRwm+gLlvkWHTjDAvwynZkL9ns15calTrmhGgowlwJBbWMYzWbKqE2DT6JDP1AFXKa+Zi0EkqNCUqY0A==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", + "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", "dev": true }, "istanbul-lib-hook": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.0.tgz", - "integrity": "sha512-p3En6/oGkFQV55Up8ZPC2oLxvgSxD8CzA0yBrhRZSh3pfv3OFj9aSGVC0yoerAi/O4u7jUVnOGVX1eVFM+0tmQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz", + "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz", - "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", + "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", "dev": true, "requires": { - "babel-generator": "6.26.1", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.2.0", - "semver": "5.5.0" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.1", + "semver": "^5.3.0" } }, "istanbul-lib-report": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.4.tgz", - "integrity": "sha512-Azqvq5tT0U09nrncK3q82e/Zjkxa4tkFZv7E6VcqP0QCPn6oNljDPfrZEC/umNXds2t7b8sRJfs6Kmpzt8m2kA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz", + "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", "dev": true, "requires": { - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "has-flag": { @@ -3106,178 +3255,187 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } }, "istanbul-lib-source-maps": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.4.tgz", - "integrity": "sha512-UzuK0g1wyQijiaYQxj/CdNycFhAd2TLtO2obKQMTZrZ1jzEMRY3rvpASEKkaxbRR6brvdovfA03znPa/pXcejg==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz", + "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", + "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true } } }, "istanbul-reports": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.3.0.tgz", - "integrity": "sha512-y2Z2IMqE1gefWUaVjrBm0mSKvUkaBy9Vqz8iwr/r40Y9hBbIteH5wqHG/9DLTfJ9xUnUT2j7A3+VVJ6EaYBllA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.5.1.tgz", + "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "jest": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-23.0.1.tgz", - "integrity": "sha1-DQgykO5BEs7Pt4Dfb/gTMu03MgE=", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-23.6.0.tgz", + "integrity": "sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw==", "dev": true, "requires": { - "import-local": "1.0.0", - "jest-cli": "23.0.1" + "import-local": "^1.0.0", + "jest-cli": "^23.6.0" }, "dependencies": { "jest-cli": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-23.0.1.tgz", - "integrity": "sha1-NRpbpRzyjs8gM22XowuXDR9TClY=", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-23.6.0.tgz", + "integrity": "sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ==", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "exit": "0.1.2", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "import-local": "1.0.0", - "is-ci": "1.1.0", - "istanbul-api": "1.3.1", - "istanbul-lib-coverage": "1.2.0", - "istanbul-lib-instrument": "1.10.1", - "istanbul-lib-source-maps": "1.2.4", - "jest-changed-files": "23.0.1", - "jest-config": "23.0.1", - "jest-environment-jsdom": "23.0.1", - "jest-get-type": "22.4.3", - "jest-haste-map": "23.0.1", - "jest-message-util": "23.0.0", - "jest-regex-util": "23.0.0", - "jest-resolve-dependencies": "23.0.1", - "jest-runner": "23.0.1", - "jest-runtime": "23.0.1", - "jest-snapshot": "23.0.1", - "jest-util": "23.0.1", - "jest-validate": "23.0.1", - "jest-worker": "23.0.1", - "micromatch": "2.3.11", - "node-notifier": "5.2.1", - "realpath-native": "1.0.0", - "rimraf": "2.6.2", - "slash": "1.0.0", - "string-length": "2.0.0", - "strip-ansi": "4.0.0", - "which": "1.3.1", - "yargs": "11.0.0" + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "import-local": "^1.0.0", + "is-ci": "^1.0.10", + "istanbul-api": "^1.3.1", + "istanbul-lib-coverage": "^1.2.0", + "istanbul-lib-instrument": "^1.10.1", + "istanbul-lib-source-maps": "^1.2.4", + "jest-changed-files": "^23.4.2", + "jest-config": "^23.6.0", + "jest-environment-jsdom": "^23.4.0", + "jest-get-type": "^22.1.0", + "jest-haste-map": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0", + "jest-resolve-dependencies": "^23.6.0", + "jest-runner": "^23.6.0", + "jest-runtime": "^23.6.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "jest-watcher": "^23.4.0", + "jest-worker": "^23.2.0", + "micromatch": "^2.3.11", + "node-notifier": "^5.2.1", + "prompts": "^0.1.9", + "realpath-native": "^1.0.0", + "rimraf": "^2.5.4", + "slash": "^1.0.0", + "string-length": "^2.0.0", + "strip-ansi": "^4.0.0", + "which": "^1.2.12", + "yargs": "^11.0.0" } } } }, "jest-changed-files": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-23.0.1.tgz", - "integrity": "sha1-95Vy0HIIROpd+EwqRI6GLCJU9gw=", + "version": "23.4.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-23.4.2.tgz", + "integrity": "sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA==", "dev": true, "requires": { - "throat": "4.1.0" + "throat": "^4.0.0" } }, "jest-config": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-23.0.1.tgz", - "integrity": "sha1-Z5i/8SR8ejkLEycZMwUAFYL8WPo=", - "dev": true, - "requires": { - "babel-core": "6.26.3", - "babel-jest": "23.0.1", - "chalk": "2.4.1", - "glob": "7.1.2", - "jest-environment-jsdom": "23.0.1", - "jest-environment-node": "23.0.1", - "jest-get-type": "22.4.3", - "jest-jasmine2": "23.0.1", - "jest-regex-util": "23.0.0", - "jest-resolve": "23.0.1", - "jest-util": "23.0.1", - "jest-validate": "23.0.1", - "pretty-format": "23.0.1" + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-23.6.0.tgz", + "integrity": "sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ==", + "dev": true, + "requires": { + "babel-core": "^6.0.0", + "babel-jest": "^23.6.0", + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^23.4.0", + "jest-environment-node": "^23.4.0", + "jest-get-type": "^22.1.0", + "jest-jasmine2": "^23.6.0", + "jest-regex-util": "^23.3.0", + "jest-resolve": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "micromatch": "^2.3.11", + "pretty-format": "^23.6.0" } }, "jest-diff": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-23.0.1.tgz", - "integrity": "sha1-PUkTfO4SwyCktNK0pvpugtSRoWo=", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-23.6.0.tgz", + "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==", "dev": true, "requires": { - "chalk": "2.4.1", - "diff": "3.5.0", - "jest-get-type": "22.4.3", - "pretty-format": "23.0.1" + "chalk": "^2.0.1", + "diff": "^3.2.0", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" } }, "jest-docblock": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.0.1.tgz", - "integrity": "sha1-3t3RgzO+XcJBUmCgTvP86SdrVyU=", + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", + "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "dev": true, "requires": { - "detect-newline": "2.1.0" + "detect-newline": "^2.1.0" } }, "jest-each": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-23.0.1.tgz", - "integrity": "sha1-puXb9TCvxr+ddHkt3mnY23D4RwY=", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-23.6.0.tgz", + "integrity": "sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg==", "dev": true, "requires": { - "chalk": "2.4.1", - "pretty-format": "23.0.1" + "chalk": "^2.0.1", + "pretty-format": "^23.6.0" } }, "jest-environment-jsdom": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-23.0.1.tgz", - "integrity": "sha1-2mieuTWNwW5XCKuyCPTrJqQ5V1w=", + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz", + "integrity": "sha1-BWp5UrP+pROsYqFAosNox52eYCM=", "dev": true, "requires": { - "jest-mock": "23.0.1", - "jest-util": "23.0.1", - "jsdom": "11.11.0" + "jest-mock": "^23.2.0", + "jest-util": "^23.4.0", + "jsdom": "^11.5.1" } }, "jest-environment-node": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-23.0.1.tgz", - "integrity": "sha1-Z2t0DiBfHyvnckGWnngSvoJO55U=", + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-23.4.0.tgz", + "integrity": "sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA=", "dev": true, "requires": { - "jest-mock": "23.0.1", - "jest-util": "23.0.1" + "jest-mock": "^23.2.0", + "jest-util": "^23.4.0" } }, "jest-get-type": { @@ -3287,124 +3445,126 @@ "dev": true }, "jest-haste-map": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.0.1.tgz", - "integrity": "sha1-zYkFKr/Iy6AfVgu+wJ1PNq7CXU8=", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.6.0.tgz", + "integrity": "sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg==", "dev": true, "requires": { - "fb-watchman": "2.0.0", - "graceful-fs": "4.1.11", - "jest-docblock": "23.0.1", - "jest-serializer": "23.0.1", - "jest-worker": "23.0.1", - "micromatch": "2.3.11", - "sane": "2.5.2" + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.1.11", + "invariant": "^2.2.4", + "jest-docblock": "^23.2.0", + "jest-serializer": "^23.0.1", + "jest-worker": "^23.2.0", + "micromatch": "^2.3.11", + "sane": "^2.0.0" } }, "jest-jasmine2": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-23.0.1.tgz", - "integrity": "sha1-Fth1NW5jYIcrukhCb30x/cGwvOo=", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-23.6.0.tgz", + "integrity": "sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ==", "dev": true, "requires": { - "chalk": "2.4.1", - "co": "4.6.0", - "expect": "23.0.1", - "is-generator-fn": "1.0.0", - "jest-diff": "23.0.1", - "jest-each": "23.0.1", - "jest-matcher-utils": "23.0.1", - "jest-message-util": "23.0.0", - "jest-snapshot": "23.0.1", - "jest-util": "23.0.1", - "pretty-format": "23.0.1" + "babel-traverse": "^6.0.0", + "chalk": "^2.0.1", + "co": "^4.6.0", + "expect": "^23.6.0", + "is-generator-fn": "^1.0.0", + "jest-diff": "^23.6.0", + "jest-each": "^23.6.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "pretty-format": "^23.6.0" } }, "jest-leak-detector": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-23.0.1.tgz", - "integrity": "sha1-nboHUFrDSVw50+wJrB5WRZnoYaA=", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-23.6.0.tgz", + "integrity": "sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg==", "dev": true, "requires": { - "pretty-format": "23.0.1" + "pretty-format": "^23.6.0" } }, "jest-matcher-utils": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-23.0.1.tgz", - "integrity": "sha1-DGwNrt+YM8Kn82I2Bp7+y0w/bl8=", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz", + "integrity": "sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==", "dev": true, "requires": { - "chalk": "2.4.1", - "jest-get-type": "22.4.3", - "pretty-format": "23.0.1" + "chalk": "^2.0.1", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" } }, "jest-message-util": { - "version": "23.0.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.0.0.tgz", - "integrity": "sha1-Bz89dscB98cYpLmvHrfxOHksR5Y=", + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.4.0.tgz", + "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", "dev": true, "requires": { - "@babel/code-frame": "7.0.0-beta.49", - "chalk": "2.4.1", - "micromatch": "2.3.11", - "slash": "1.0.0", - "stack-utils": "1.0.1" + "@babel/code-frame": "^7.0.0-beta.35", + "chalk": "^2.0.1", + "micromatch": "^2.3.11", + "slash": "^1.0.0", + "stack-utils": "^1.0.1" } }, "jest-mock": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-23.0.1.tgz", - "integrity": "sha1-FWn0d5aMZo/HKCc6F8N2d3O0Y1c=", + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-23.2.0.tgz", + "integrity": "sha1-rRxg8p6HGdR8JuETgJi20YsmETQ=", "dev": true }, "jest-regex-util": { - "version": "23.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-23.0.0.tgz", - "integrity": "sha1-3Vwf3gxG9DcTFM8Q96dRoj9Oj3Y=", + "version": "23.3.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-23.3.0.tgz", + "integrity": "sha1-X4ZylUfCeFxAAs6qj4Sf6MpHG8U=", "dev": true }, "jest-resolve": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-23.0.1.tgz", - "integrity": "sha1-P4QDRisQo0wt8dR6q1V0xJNbzSQ=", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-23.6.0.tgz", + "integrity": "sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==", "dev": true, "requires": { - "browser-resolve": "1.11.2", - "chalk": "2.4.1", - "realpath-native": "1.0.0" + "browser-resolve": "^1.11.3", + "chalk": "^2.0.1", + "realpath-native": "^1.0.0" } }, "jest-resolve-dependencies": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-23.0.1.tgz", - "integrity": "sha1-0BoQ3a2RUsTOzfXqwriFccS2pk0=", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-23.6.0.tgz", + "integrity": "sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA==", "dev": true, "requires": { - "jest-regex-util": "23.0.0", - "jest-snapshot": "23.0.1" + "jest-regex-util": "^23.3.0", + "jest-snapshot": "^23.6.0" } }, "jest-runner": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-23.0.1.tgz", - "integrity": "sha1-sXauPs+eGUqkuEp/z3DRuNsjGqc=", - "dev": true, - "requires": { - "exit": "0.1.2", - "graceful-fs": "4.1.11", - "jest-config": "23.0.1", - "jest-docblock": "23.0.1", - "jest-haste-map": "23.0.1", - "jest-jasmine2": "23.0.1", - "jest-leak-detector": "23.0.1", - "jest-message-util": "23.0.0", - "jest-runtime": "23.0.1", - "jest-util": "23.0.1", - "jest-worker": "23.0.1", - "source-map-support": "0.5.6", - "throat": "4.1.0" + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-23.6.0.tgz", + "integrity": "sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA==", + "dev": true, + "requires": { + "exit": "^0.1.2", + "graceful-fs": "^4.1.11", + "jest-config": "^23.6.0", + "jest-docblock": "^23.2.0", + "jest-haste-map": "^23.6.0", + "jest-jasmine2": "^23.6.0", + "jest-leak-detector": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-runtime": "^23.6.0", + "jest-util": "^23.4.0", + "jest-worker": "^23.2.0", + "source-map-support": "^0.5.6", + "throat": "^4.0.0" }, "dependencies": { "source-map": { @@ -3414,44 +3574,44 @@ "dev": true }, "source-map-support": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz", - "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", + "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", "dev": true, "requires": { - "buffer-from": "1.0.0", - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } } } }, "jest-runtime": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-23.0.1.tgz", - "integrity": "sha1-sddl+wP7bUBDgFrycGdqaT9QTVc=", - "dev": true, - "requires": { - "babel-core": "6.26.3", - "babel-plugin-istanbul": "4.1.6", - "chalk": "2.4.1", - "convert-source-map": "1.5.1", - "exit": "0.1.2", - "fast-json-stable-stringify": "2.0.0", - "graceful-fs": "4.1.11", - "jest-config": "23.0.1", - "jest-haste-map": "23.0.1", - "jest-message-util": "23.0.0", - "jest-regex-util": "23.0.0", - "jest-resolve": "23.0.1", - "jest-snapshot": "23.0.1", - "jest-util": "23.0.1", - "jest-validate": "23.0.1", - "micromatch": "2.3.11", - "realpath-native": "1.0.0", - "slash": "1.0.0", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-23.6.0.tgz", + "integrity": "sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw==", + "dev": true, + "requires": { + "babel-core": "^6.0.0", + "babel-plugin-istanbul": "^4.1.6", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "exit": "^0.1.2", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.11", + "jest-config": "^23.6.0", + "jest-haste-map": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0", + "jest-resolve": "^23.6.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "micromatch": "^2.3.11", + "realpath-native": "^1.0.0", + "slash": "^1.0.0", "strip-bom": "3.0.0", - "write-file-atomic": "2.3.0", - "yargs": "11.0.0" + "write-file-atomic": "^2.1.0", + "yargs": "^11.0.0" }, "dependencies": { "strip-bom": { @@ -3469,32 +3629,37 @@ "dev": true }, "jest-snapshot": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-23.0.1.tgz", - "integrity": "sha1-ZnT6Gbnraamcq+zUFb3cQtavPn4=", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-23.6.0.tgz", + "integrity": "sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg==", "dev": true, "requires": { - "chalk": "2.4.1", - "jest-diff": "23.0.1", - "jest-matcher-utils": "23.0.1", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "pretty-format": "23.0.1" + "babel-types": "^6.0.0", + "chalk": "^2.0.1", + "jest-diff": "^23.6.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-resolve": "^23.6.0", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^23.6.0", + "semver": "^5.5.0" } }, "jest-util": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-23.0.1.tgz", - "integrity": "sha1-aOpb1+2xd9MFn5eXJZ+ODazOL5k=", - "dev": true, - "requires": { - "callsites": "2.0.0", - "chalk": "2.4.1", - "graceful-fs": "4.1.11", - "is-ci": "1.1.0", - "jest-message-util": "23.0.0", - "mkdirp": "0.5.1", - "source-map": "0.6.1" + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-23.4.0.tgz", + "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=", + "dev": true, + "requires": { + "callsites": "^2.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.11", + "is-ci": "^1.0.10", + "jest-message-util": "^23.4.0", + "mkdirp": "^0.5.1", + "slash": "^1.0.0", + "source-map": "^0.6.0" }, "dependencies": { "source-map": { @@ -3506,24 +3671,35 @@ } }, "jest-validate": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-23.0.1.tgz", - "integrity": "sha1-zZ8BqJ0mu4hfEqhmdxXpyGWldU8=", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-23.6.0.tgz", + "integrity": "sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "jest-get-type": "^22.1.0", + "leven": "^2.1.0", + "pretty-format": "^23.6.0" + } + }, + "jest-watcher": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-23.4.0.tgz", + "integrity": "sha1-0uKM50+NrWxq/JIrksq+9u0FyRw=", "dev": true, "requires": { - "chalk": "2.4.1", - "jest-get-type": "22.4.3", - "leven": "2.1.0", - "pretty-format": "23.0.1" + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "string-length": "^2.0.0" } }, "jest-worker": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.0.1.tgz", - "integrity": "sha1-nmSd2WP/QEYCb5HEAX8Dmmqkp7w=", + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz", + "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=", "dev": true, "requires": { - "merge-stream": "1.0.1" + "merge-stream": "^1.0.1" } }, "js-tokens": { @@ -3538,8 +3714,8 @@ "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "jsbn": { @@ -3550,37 +3726,37 @@ "optional": true }, "jsdom": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.11.0.tgz", - "integrity": "sha512-ou1VyfjwsSuWkudGxb03FotDajxAto6USAlmMZjE2lc0jCznt7sBWkhfRBRaWwbnmDqdMSTKTLT5d9sBFkkM7A==", - "dev": true, - "requires": { - "abab": "1.0.4", - "acorn": "5.5.3", - "acorn-globals": "4.1.0", - "array-equal": "1.0.0", - "cssom": "0.3.2", - "cssstyle": "0.3.1", - "data-urls": "1.0.0", - "domexception": "1.0.1", - "escodegen": "1.9.1", - "html-encoding-sniffer": "1.0.2", - "left-pad": "1.3.0", - "nwsapi": "2.0.1", + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", "parse5": "4.0.0", - "pn": "1.1.0", - "request": "2.87.0", - "request-promise-native": "1.0.5", - "sax": "1.2.4", - "symbol-tree": "3.2.2", - "tough-cookie": "2.3.4", - "w3c-hr-time": "1.0.1", - "webidl-conversions": "4.0.2", - "whatwg-encoding": "1.0.3", - "whatwg-mimetype": "2.1.0", - "whatwg-url": "6.4.1", - "ws": "4.1.0", - "xml-name-validator": "3.0.0" + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" } }, "jsesc": { @@ -3637,15 +3813,14 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "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, - "optional": true + "kleur": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-2.0.2.tgz", + "integrity": "sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ==", + "dev": true }, "lcid": { "version": "1.0.0", @@ -3653,7 +3828,7 @@ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "left-pad": { @@ -3674,8 +3849,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "load-json-file": { @@ -3684,11 +3859,11 @@ "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" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { @@ -3697,8 +3872,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, "lodash": { @@ -3712,19 +3887,13 @@ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", "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=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0 || ^4.0.0" } }, "lru-cache": { @@ -3733,8 +3902,8 @@ "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "makeerror": { @@ -3743,7 +3912,7 @@ "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", "dev": true, "requires": { - "tmpl": "1.0.4" + "tmpl": "1.0.x" } }, "map-cache": { @@ -3758,7 +3927,7 @@ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "math-random": { @@ -3773,7 +3942,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "merge": { @@ -3788,7 +3957,7 @@ "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", "dev": true, "requires": { - "readable-stream": "2.3.6" + "readable-stream": "^2.0.1" } }, "micromatch": { @@ -3797,80 +3966,34 @@ "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" - }, - "dependencies": { - "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" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "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" - } - }, - "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" - } - }, - "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" - } - } + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } }, "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==", + "version": "1.36.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", + "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==", "dev": true }, "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "version": "2.1.20", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", + "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", "dev": true, "requires": { - "mime-db": "1.33.0" + "mime-db": "~1.36.0" } }, "mimic-fn": { @@ -3885,7 +4008,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -3900,8 +4023,8 @@ "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "dev": true, "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -3910,7 +4033,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -3937,32 +4060,43 @@ "dev": true }, "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.0.tgz", + "integrity": "sha512-F4miItu2rGnV2ySkXOQoA8FKz/SR2Q2sWP0sbTxNxz/tuokeC8WxOhPMcwi0qIyGtVn/rrSeLbvVkznqCdwYnw==", "dev": true, "optional": 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" + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "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", @@ -3989,10 +4123,10 @@ "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==", "dev": true, "requires": { - "growly": "1.3.0", - "semver": "5.5.0", - "shellwords": "0.1.1", - "which": "1.3.1" + "growly": "^1.3.0", + "semver": "^5.4.1", + "shellwords": "^0.1.1", + "which": "^1.3.0" } }, "normalize-package-data": { @@ -4001,10 +4135,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -4013,7 +4147,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "npm-run-path": { @@ -4022,7 +4156,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -4031,16 +4165,22 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, + "numbers": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/numbers/-/numbers-0.7.0.tgz", + "integrity": "sha512-bdHRauOohlyg20dLiOitEJrXVs4xtu4GeDeKyChkWSfMeDLM39lUDcaOShSdmxqt4Ihu9syh480Fx/EiDY5zYQ==", + "dev": true + }, "nwsapi": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.1.tgz", - "integrity": "sha512-xOJJb7kAAGy6UOklbaIPA0iu/27VMHfAbMUgYJlXz4qRXytIkPGM2vwfbxa+tbaqcqHNsP6RN4eDZlePelWKpQ==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.9.tgz", + "integrity": "sha512-nlWFSCTYQcHk/6A9FFnfhKc14c3aFhfdNBXgo8Qgi9QTBu/qg3Ww+Uiz9wMzXd1T8GFxPc2QIHB6Qtf2XFryFQ==", "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=", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true }, "object-assign": { @@ -4055,9 +4195,9 @@ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -4066,15 +4206,15 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } }, "object-keys": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", - "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", "dev": true }, "object-visit": { @@ -4083,7 +4223,15 @@ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } } }, "object.getownpropertydescriptors": { @@ -4092,8 +4240,8 @@ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.11.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" } }, "object.omit": { @@ -4102,8 +4250,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "object.pick": { @@ -4112,7 +4260,15 @@ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { - "isobject": "3.0.1" + "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 + } } }, "once": { @@ -4121,7 +4277,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -4130,7 +4286,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "optimist": { @@ -4139,8 +4295,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "optionator": { @@ -4149,12 +4305,12 @@ "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" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" }, "dependencies": { "wordwrap": { @@ -4177,9 +4333,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "os-tmpdir": { @@ -4200,7 +4356,7 @@ "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -4209,7 +4365,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.2.0" + "p-limit": "^1.1.0" } }, "p-try": { @@ -4218,16 +4374,25 @@ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, + "pandas-js": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/pandas-js/-/pandas-js-0.2.4.tgz", + "integrity": "sha1-e/vaeaqw5cJ4IDeJyia3A2MyNdc=", + "dev": true, + "requires": { + "immutable": "^3.8.1" + } + }, "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" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" } }, "parse-json": { @@ -4236,7 +4401,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "parse5": { @@ -4287,9 +4452,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "performance-now": { @@ -4316,7 +4481,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { @@ -4325,7 +4490,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "2.1.0" + "find-up": "^2.1.0" } }, "pluralize": { @@ -4359,13 +4524,13 @@ "dev": true }, "pretty-format": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.0.1.tgz", - "integrity": "sha1-1h0GUmjkx1kIO8y8onoBrXx2AfQ=", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" }, "dependencies": { "ansi-regex": { @@ -4394,12 +4559,28 @@ "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", "dev": true }, + "prompts": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-0.1.14.tgz", + "integrity": "sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w==", + "dev": true, + "requires": { + "kleur": "^2.0.1", + "sisteransi": "^0.1.1" + } + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, + "psl": { + "version": "1.1.29", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", + "dev": true + }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -4413,14 +4594,14 @@ "dev": true }, "randomatic": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", - "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", + "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", "dev": true, "requires": { - "is-number": "4.0.0", - "kind-of": "6.0.2", - "math-random": "1.0.1" + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" }, "dependencies": { "is-number": { @@ -4443,9 +4624,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -4454,8 +4635,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { @@ -4464,8 +4645,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "path-exists": { @@ -4474,7 +4655,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } } } @@ -4485,22 +4666,22 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "realpath-native": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.0.0.tgz", - "integrity": "sha512-XJtlRJ9jf0E1H1SLeJyQ9PGzQD7S65h1pRXEcAeK48doKOnKxcgPeNohJvD5u/2sI9J1oke6E8bZHS/fmW1UiQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.0.2.tgz", + "integrity": "sha512-+S3zTvVt9yTntFrBpm7TQmQ3tzpCrnA1a/y+3cUHAc9ZR6aIjG0WNLR+Rj79QpJktY+VeW/TQtFlQ1bzsehI8g==", "dev": true, "requires": { - "util.promisify": "1.0.0" + "util.promisify": "^1.0.0" } }, "regenerator-runtime": { @@ -4515,7 +4696,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "regex-not": { @@ -4524,8 +4705,8 @@ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "regexpp": { @@ -4541,9 +4722,9 @@ "dev": true }, "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", "dev": true }, "repeat-string": { @@ -4558,35 +4739,35 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { - "version": "2.87.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", - "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", - "dev": true, - "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.7.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" } }, "request-promise-core": { @@ -4595,7 +4776,7 @@ "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", "dev": true, "requires": { - "lodash": "4.17.10" + "lodash": "^4.13.1" } }, "request-promise-native": { @@ -4605,8 +4786,8 @@ "dev": true, "requires": { "request-promise-core": "1.1.1", - "stealthy-require": "1.1.1", - "tough-cookie": "2.3.4" + "stealthy-require": "^1.1.0", + "tough-cookie": ">=2.3.3" } }, "require-directory": { @@ -4627,8 +4808,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" }, "dependencies": { "resolve-from": { @@ -4651,7 +4832,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" } }, "resolve-from": { @@ -4672,8 +4853,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "ret": { @@ -4682,23 +4863,13 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "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, - "optional": true, - "requires": { - "align-text": "0.1.4" - } - }, "rimraf": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "rsvp": { @@ -4713,7 +4884,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rx-lite": { @@ -4728,7 +4899,7 @@ "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "dev": true, "requires": { - "rx-lite": "4.0.8" + "rx-lite": "*" } }, "safe-buffer": { @@ -4743,26 +4914,279 @@ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, "sane": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "dev": true, "requires": { - "anymatch": "2.0.0", - "capture-exit": "1.2.0", - "exec-sh": "0.2.1", - "fb-watchman": "2.0.0", - "fsevents": "1.2.4", - "micromatch": "3.1.10", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.18.0" + "anymatch": "^2.0.0", + "capture-exit": "^1.2.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.3", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" }, "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.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.0" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "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.0" + } + }, + "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.0" + } + }, + "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.0.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.0.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.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^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.0" + } + }, + "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.0" + } + } + } + }, + "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.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.0" + } + } + } + }, + "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.0" + } + }, + "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.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-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.0.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", @@ -4775,19 +5199,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } }, "minimist": { @@ -4822,10 +5246,10 @@ "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" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -4834,7 +5258,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -4845,7 +5269,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -4866,6 +5290,12 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, + "sisteransi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-0.1.1.tgz", + "integrity": "sha512-PmGOd02bM9YO5ifxpw36nrNMBTptEtfRl4qUYl9SndkolplkrZZOW7PGHjrZL53QvMVj9nQ+TKqUnRsw4tJa4g==", + "dev": true + }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", @@ -4878,7 +5308,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0" + "is-fullwidth-code-point": "^2.0.0" } }, "snapdragon": { @@ -4887,14 +5317,14 @@ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.0" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "define-property": { @@ -4903,7 +5333,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -4912,7 +5342,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -4923,9 +5353,9 @@ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { @@ -4934,7 +5364,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -4943,7 +5373,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -4952,7 +5382,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -4961,11 +5391,17 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", @@ -4980,7 +5416,7 @@ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" } }, "source-map": { @@ -4995,11 +5431,11 @@ "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "dev": true, "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-support": { @@ -5008,7 +5444,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } }, "source-map-url": { @@ -5023,8 +5459,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -5039,8 +5475,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -5055,7 +5491,7 @@ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "sprintf-js": { @@ -5065,19 +5501,20 @@ "dev": true }, "sshpk": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", - "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", + "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "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" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" } }, "stack-utils": { @@ -5092,8 +5529,8 @@ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -5102,7 +5539,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -5119,8 +5556,8 @@ "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", "dev": true, "requires": { - "astral-regex": "1.0.0", - "strip-ansi": "4.0.0" + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" } }, "string-width": { @@ -5129,8 +5566,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "string_decoder": { @@ -5139,7 +5576,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { @@ -5148,7 +5585,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" }, "dependencies": { "ansi-regex": { @@ -5165,7 +5602,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -5186,7 +5623,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "symbol-tree": { @@ -5201,54 +5638,25 @@ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { - "ajv": "5.5.2", - "ajv-keywords": "2.1.1", - "chalk": "2.4.1", - "lodash": "4.17.10", + "ajv": "^5.2.3", + "ajv-keywords": "^2.1.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "string-width": "^2.1.1" } }, "test-exclude": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.1.tgz", - "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.3.tgz", + "integrity": "sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA==", "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "3.1.10", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" - }, - "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 - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - } - } + "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": { @@ -5275,7 +5683,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "tmpl": { @@ -5296,7 +5704,7 @@ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "to-regex": { @@ -5305,10 +5713,10 @@ "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" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -5317,17 +5725,29 @@ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "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.0.2" + } + } } }, "tough-cookie": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", - "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "requires": { - "punycode": "1.4.1" + "psl": "^1.1.24", + "punycode": "^1.4.1" }, "dependencies": { "punycode": { @@ -5344,7 +5764,7 @@ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", "dev": true, "requires": { - "punycode": "2.1.1" + "punycode": "^2.1.0" } }, "trim-right": { @@ -5359,7 +5779,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -5375,7 +5795,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "typedarray": { @@ -5385,49 +5805,35 @@ "dev": true }, "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", + "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "commander": "~2.17.1", + "source-map": "~0.6.1" }, "dependencies": { - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "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, - "optional": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } + "optional": 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 - }, "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" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -5436,7 +5842,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -5445,10 +5851,10 @@ "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" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -5459,8 +5865,8 @@ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -5469,9 +5875,9 @@ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -5490,6 +5896,12 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true } } }, @@ -5500,21 +5912,10 @@ "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 - } - } + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true }, "util-deprecate": { "version": "1.0.2", @@ -5528,14 +5929,14 @@ "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", "dev": true, "requires": { - "define-properties": "1.1.2", - "object.getownpropertydescriptors": "2.0.3" + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" } }, "uuid": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", - "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", "dev": true }, "validate-npm-package-license": { @@ -5544,8 +5945,8 @@ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "verror": { @@ -5554,9 +5955,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "w3c-hr-time": { @@ -5565,7 +5966,7 @@ "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", "dev": true, "requires": { - "browser-process-hrtime": "0.1.2" + "browser-process-hrtime": "^0.1.2" } }, "walker": { @@ -5574,7 +5975,7 @@ "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", "dev": true, "requires": { - "makeerror": "1.0.11" + "makeerror": "1.0.x" } }, "watch": { @@ -5583,8 +5984,8 @@ "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", "dev": true, "requires": { - "exec-sh": "0.2.1", - "minimist": "1.2.0" + "exec-sh": "^0.2.0", + "minimist": "^1.2.0" }, "dependencies": { "minimist": { @@ -5602,29 +6003,40 @@ "dev": true }, "whatwg-encoding": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz", - "integrity": "sha512-jLBwwKUhi8WtBfsMQlL4bUUcT8sMkAtQinscJAe/M4KHCkHuUJAF6vuB0tueNIw4c8ziO6AkRmgY+jL3a0iiPw==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.4.tgz", + "integrity": "sha512-vM9KWN6MP2mIHZ86ytcyIv7e8Cj3KTfO2nd2c8PFDqcI4bxFmQp83ibq4wadq7rL9l9sZV6o9B0LTt8ygGAAXg==", "dev": true, "requires": { - "iconv-lite": "0.4.19" + "iconv-lite": "0.4.23" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } } }, "whatwg-mimetype": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.1.0.tgz", - "integrity": "sha512-FKxhYLytBQiUKjkYteN71fAUA3g6KpNXoho1isLiLSB3N1G4F35Q5vUxWfKFhBwi5IWF27VE6WxhrnnC+m0Mew==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.2.0.tgz", + "integrity": "sha512-5YSO1nMd5D1hY3WzAQV3PzZL83W3YeyR1yW9PcH26Weh1t+Vzh9B6XkDh7aXm83HBZ4nSMvkjvN2H2ySWIvBgw==", "dev": true }, "whatwg-url": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.4.1.tgz", - "integrity": "sha512-FwygsxsXx27x6XXuExA/ox3Ktwcbf+OAvrKmLulotDAiO1Q6ixchPFaHYsis2zZBZSJTR0+dR+JVtf7MlbqZjw==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", "dev": true, "requires": { - "lodash.sortby": "4.7.0", - "tr46": "1.0.1", - "webidl-conversions": "4.0.2" + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" } }, "which": { @@ -5633,7 +6045,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -5642,13 +6054,6 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": 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.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", @@ -5661,8 +6066,8 @@ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -5671,7 +6076,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { @@ -5680,9 +6085,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "strip-ansi": { @@ -5691,7 +6096,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -5708,7 +6113,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "0.5.1" + "mkdirp": "^0.5.1" } }, "write-file-atomic": { @@ -5717,19 +6122,18 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, "ws": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz", - "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", "dev": true, "requires": { - "async-limiter": "1.0.0", - "safe-buffer": "5.1.2" + "async-limiter": "~1.0.0" } }, "xml-name-validator": { @@ -5751,36 +6155,23 @@ "dev": true }, "yargs": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", - "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", - "dev": true, - "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" - }, - "dependencies": { - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" - } - } + "version": "11.1.0", + "resolved": "http://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" } }, "yargs-parser": { @@ -5789,15 +6180,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "4.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - } + "camelcase": "^4.1.0" } } } diff --git a/package.json b/package.json index fe9b2731..806f6cc2 100644 --- a/package.json +++ b/package.json @@ -7,11 +7,14 @@ "lodash": "4.17.10" }, "devDependencies": { + "asciichart": "1.5.7", "eslint": "4.19.1", "eslint-config-airbnb-base": "12.1.0", "eslint-plugin-import": "2.12.0", "eslint-plugin-jest": "21.17.0", - "jest": "23.0.1" + "jest": "23.6.0", + "numbers": "0.7.0", + "pandas-js": "0.2.4" }, "scripts": { "test": "jest src/data-structures # jest # mocha src/**/*spec.js # jasmine JASMINE_CONFIG_PATH=jasmine.json # node jasmine-runner.js", diff --git a/sortedArray1e4.txt b/sortedArray1e4.txt deleted file mode 100644 index 07c0c45c..00000000 --- a/sortedArray1e4.txt +++ /dev/null @@ -1 +0,0 @@ -[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,100,100,10003782173628224,1000418633,1000502964334,10007022,10010104498476608,100102294885014,1001181683666,10013,10019,100203217162,100207201924779,100208215153692930,10026238856601402,100302,1003060550720601,100312430,100312489408,1003183700442,10032346251598636,10033112,10040446669,10043021598575,10047043,10050277891,100512960771,10053,10054365368,10055929,1005868880565,100592251935240,100598258,100606598414028830,100615,100620,10066,100745686253244800,10076208,1007798743546442,10078001,1007940,100822418555561580,10083769,10088319,100892429,1009,100901,10091275160,100927173342963420,10097427623746758,100990500732468,101,101,101,101,101,1010098,1010227,10102929145313038,101056,10110706379095,10111002315379482,101161,101203459349160590,101221574428246110,1012903984657892,10133499,1013471023,1013978016395199,10140739583,1014254151471527,10151145238219,101546645387041,1015941524218359,1016087984,101615749250758380,10162,101847148143727,10190112078110,10194,101996,102,102,102,102,102,102,102020994743268,102057775356891,1021,10210958413,102186685967710,102186834390,1022,1022121,10224370878,1022591789,10229,102340645555578620,1023717673740034,102397,102415230042945,1024254,10248825304,102498222456521840,10250,10255144059373798,10256531108,1026,102603956985072560,10260690,102617,102626206197272510,102651,10271569,10272,102732,10274549,102745889999,1028242790,1028848,102916,102933,1029536595195,102973548,103,103,103,103,103022211367381,1030549,10308589975,103086351898911580,10309127450177366,1031109,10311252047050368,10314140986,10317,103202,1032036786065711,10325652419,10327295802,10328647,10329522517853,10331,10334232323032,1033489411,10337412196131,10337651,103435,103453342416417,1035050235046,10354,1035691,10358300948735604,1035967,103645209152291550,10377,103795,1038,10381972033003232,10388839340,10394825,10395914658,10399603203890,104,104,104003632345,10404284682107,104059227,104072447492449040,10408,1040862233775,10409595,1041,104128424,1041892,10419444,1041951763,104199001226,104258855922044,10432,10434007163,1043675894,1044,10445,10447,104524294854524,104570081,1045836199,104586044181619,10463516272,104642562,10470902294683,1047152593704,10475470686414,10481046,104875894519859,1048993896488668,104920036,104936,104975327792876,105,105,105,10500122324153952,10502026218415906,105097,1051027640,1051028286340699,10513659191,10515,1052,1052318220738,105254,105280943455308510,10530591668,10538,10539481046494,1054102699746958,10547190332523,105527889575969,105538909247253,10554458882227958,10557,1055998589180383,1056,1056572050900515,10566832787430080,105679472603,10568053217856002,1057,10575,1057632201458485,1058,105803886,10582991232,10584,10595411,10595862118915696,106,1060424338397,106065786505502,106117948,1061765525366,106205951369598460,106231533563,1062495,1063332,106384,1064348778,1064493920361809,1064526,106458612996,1065,1065258120461417,106574559159,10664933,10670123,1067108860,1067206145005532,10681351069,106827338,106828404627499,106834646518845060,10688447710,106890907261069,10690920355,10696,10696356791,107,1070,1070293928,107064836528,107075,1070841994,10709,10709,10711415869349482,1071533172801867,10715693774729,10716,10717845479362,1072,10725422620,1073,107324,1073529844,10737467604377,107400041,10741051094941,1074335192522,107463368,107464656438921,107490013532646420,1075,10753,1075655894,1075769947503,1076,10760794,107628595,107681917960458990,1077070659262,107741403616,10777,1078,10789528036,1078976120,1079534,10795457001249,108,108051537920916,108055499821,1080574213300561,108129149614846,1082,10821277,1082533300156,108286906282,108441062181622,1085181428614,1085707769,1086,10864,108691620826983860,1087,108701147076098110,10872140839813226,10878613570,108818,10885725476,1089,10890810,1089321240005,10894,1089608644,10897,1089749786083544,108977,109,1090390378273,10909799704167,109099034368515760,1091,1091175351859,10916565,1091990097,1092125081964172,1092869556496631,109297021171325060,109348800457571180,10935,1094,1094044471,109447972,1094626,109492651891,1095,1095233,1095446678334688,1095568471,1095846035590,1096,109660685,10974846624,10975139,10976798,10979711,1097997138308,109819,109848257057,10988,10992,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,110,110,110008954221237470,11018057811946976,110189141299394350,11028357796,110323099,110435313842,11043729219523546,11047623,1105,1105,1105206,1105238022116,11054,11057838855670290,110582994861,1106,110603986133700,110653594959,1106584,1107,11072,11078,11079491829,1108,1108080860293,11082,110824,11083165618868266,110858574734324,110862970404242130,11089390606691260,110894825218,1109109147007,11091358,110945288850710000,1109635715,11096845840482310,111,11108652,11121,11125841595,111264,111319266348411420,11136377946332,111363903,11138704,111421,11149712,1115324943,111533815707475,111550724929287,11159,1116,11169735,11170772911029,11171010,111849028705676,11186232,111863736,111873759,111889117373461360,11189690,1119,1119072741,11196806516035796,112,112,11204716659,11207595407193576,11212346031601292,11214011225065344,112161,1122948361,11236128245,112363745555615200,1123953824680,112410873101526400,1124225,112425242182,11243,112515553072,11254107422,1125561054,112564,1125742116367358,11258775792304,1126,112730,1127735013,1127913466934,112812109881,112838882272,112891,11297582,113,11302244563,1130630650,11309,113116,113173748,11319,11333018554,1133365152233,11335105508101,11335639669588508,11337367,113375941,11346241951320,1134808142053,1135,113552229504,11358602,11362299979125854,113661,1137761108731,1137920434,1138063,11384251011711306,1139,113973,11398618960,1140,114015114876674,1140191529024758,114044911,11410067,114130556136832,11413593836,11415111441787,1141657,1141861342065,114227188014333,114256,114334180077277,11435,11436685303168004,114368,1144,114428,114462726573569,11455551049968336,1145559089,114624717518188,114655,1146681329394,11471947,1148,11486,1148785445241370,114972497,11498379118105222,115,115,115,115,11503021460509596,115053678,115118,1152,115265015547744200,11526927,1153125,11531436023520144,11532221,1153281119,11539835379,1154118404986512,115438525155088,1155059961,115510472878686640,11557179147368,11559091189819,11560274652342192,11561947903200862,115710779,115727,11574904780498,1157642049314,11579229266790592,1158325,11595354436320468,116,1160423966465797,116125165,1161287,116167645,116253262,11630373530233232,116349855,116360678588062,116442903798284,11645050385535574,11648731562985,1165,1165495922828,1166,11672,11674279183327,116786630,116891289340502430,1169131206004,116966228,116968229,116969271,116980,1169953701,117,117,117,117,117024382992806,117039071873741550,117069,11709,11716259544313180,1172,11725501392873394,1173,1173527838693239,11737153887272312,117404503556,117407379680,1175,117525766414,1175438857,11756667,117589075,117607,1176610081389276,1176672873598,117686035183366780,117698,1177,117712,1177474,1177919853,1178,117810169759750,1179,117933651727089,11794310335233,117960,118,118,1180605,1181882,118260078653615650,118328,11837821424107860,1184742364560136,11847609805530842,118504732917,11852,118592130,1185959750,118662054109860080,118673,1187,1187,1187909836352689,1189,118984,118987381404318,119,119,119,11901303,11904,119048688331,119098233,119115560454106580,119189729030,1192845164144555,119290790,119367673023,11941037,1194436777493,11951,1195369,119571727,11959,119594968394,1196632297291,11969994480,119710071524,119718493,119887861,11989546540869,11991874866473830,119924,1199540346240,1199971256,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,120,120,120,12015820651,1201730832,120235,12023931916,12029,12030,12036684501,12038891207194,12042706691799,120430763,1204990877,120513,12053752032,1205826,120591505579,1206066239186531,1206434,1206990354,120738189215962,1207438709988435,120750404194530050,12075498774121866,120788411300,120792,1208,12083767851704,12086,120903641797699340,12098817,120997631,121,1210809865,121092837,1210990633624763,12110380336503366,12123956283574996,121240909720909,121295,12131537087,12137,121400,1215136967379,1215536116,121623713886794,121625076284947570,12164,121710756879447,121721277149971400,1217235,1217280973462,12181525111,12182584604,121856201,12188059597846,12191925,12191941957377,12192967,122,122019635094,12202677230,12205,12207742025157,12214030,1221544666941,12216387854864158,12217,1222326017,12224287582031096,1222696,12232373866570,122509633,1225243006870019,122543743,12259,122623865905678580,12265310,12265445551705,12266633834,122673191,1227304305202401,1227437379609,1228,12285562881414,12295,122953497815,123,123,1230,12301164,12301543295893156,123053439250648380,1231048,12317932746,123199168081073570,1232151160886,1233,12334697352,1233810989,12342818212841,1234813348367739,123521195,123588,123634,12369203483203,123718946421088220,1237481,1238,12386182033655,12387840227112,1238853,1239,1239,1239,12393543084770940,124,124,124,12403493091351930,124056092,12408012940593,12412837,12416948384,12417979549149024,12422448415,12434,124376692966729,124477,1244794677670164,12452,1246083909163,12471388997459,124751408,1248,124817148123,12492443861096584,12493359122,125,125,1250,125057102023002,125088189240284350,12509313588789064,12514,12514724,125156138412499,1252270,12530358903,125305966042619,12531296473719,12538348,12543028663498,1255009603860438,125505678912038160,12554596032,1255469,1256006497909,1256087226109,12562538128,1257144,12571734943,12579244884483,1258098,125837382396067170,125900434987581340,1259480634,126,126,126,12600,126006221130307090,126009417531063310,1260171286672,126037646616627700,126077040013,126206998,126218,1262806619871846,12630945299399,1264,126400908,12643430394666168,126437237306539,12645962,12650377,12651089430,126550255456,1265605051,1265921740842751,1265948,12662757,12666852,1267655,12677187190029,1268506680271,12686140439376,12690334130348,126903533,1269255426757,1269289,12694353229638,12697121060321490,12697553027949,12699658715116438,127,127,127,1270,12702331265393,12705871031975,12710,1271120453,12711308,127128,127164921213799,1271672796570439,12717229131498,12720893364866,12725760374,127377299,1275164040,1275558023,12758992205,1276,1276,127720,1278284756828034,127838653593578,12788,127989462920334,128,128,128,12803,1280415,128045167,12810698029,12816407265,128220,12824930477913890,128256406,1283,128324737,128326922073,1283402137,1283960420828,12841494289,12846516739351,12854435160406,128557774,128566956437739800,128609781,128764168,1287924045069727,12879648455976,128835242,128866,12887961578247,12888159867329860,129,129,1290,1290189,129042204741893,1291,129160017,129169045375640300,12920265,12936084,12938462147,129483367,12950,1295437,129584818025126960,12961963,12963549,12971351,12972015046280,12972510283729790,12975091,12977161159,1298,12980940429,129879414,12987948508346256,1298924058614,129907111487,129930355838796,129945072396869230,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,130,130,130016579908451,13007253764920,1301017040,130138845394,13020001,130265,13027,130382263886469010,13038548,130438037570019,13044314926,130512249130463,13061,130614,13062077831,1306865016,130727820173326,13076670373,13078512598251656,13081573634566,130818387,130888313,130931718914,131,131,131,131,1311126,1312643817225058,1313,131403081424543040,131421387396120,13149023679,13152565,13154614994,131650139439933,131650171010270,131664131149582500,13174982600,1317979,131802589775,13189096669,1319,132,1320101,13205091603,1321167070,13217,132233060,13224,13225588,1322580879900686,132380,1324290478512,132485499,13253360860109706,132557915358594,13260314249,13265094766653,132721,1327257,132761764262692,132787,13279,132834218,1328849293746,132915554465452140,133,133,13307383865132,133145332788,13322090,133246580396018,1332701,13332513928753192,1333411,1333421,1333453340,1333482017,133372217,1334005976710,133492802629255,1335526,133610789641812740,13362216,1336373772,1336491774,133657668024498,133661,133740807598,1338035250,133818060682129,1338964665780365,13392658154,133933358,133967594811014,134,1340,134013,13401500996404,1340376541,134079149,13409,134115014378,134144,13417,1342041,1342649945800,13432183,134371,1343734121119,1344288119017,134464,134473394434837,1345337,13456815510700778,134584789711,134663250,134674696,1346881375179,134690888903853180,134721243968,13476300010273,13487929542531014,1349,134903065415,134922,13494681916353566,134989193189,135,1350,1350,135027845832434940,13503957264984124,135056294128,1350703507604,1351716975112,1352464282958324,13525051,1352521518,135301,135309359,13531170332699844,1353800428348658,135410,1355226407806022,13554075564,13558244515118544,1355861288408786,135599205922,13560282116327822,135671641313547,1356818394,13568662601,13578366319188,13582511120317466,13583335,1358692129893,1358794102608266,135905763741225,1359188315504364,1359393090604,13597854123973490,135980842675,1359896523428,136,136,136,1360,13602,136051,1360531960,1362594,1362692794011812,136289612,1362997134506884,136312927528,136414517956,13643504336,1364409,1364871625375,13649497,1365,136524,13655678599,136585316124,1366767923758242,1367883043024,136797,136813789,136824228734519,13698137760930,13699581561,137,137,137012792784011280,1370164441355,13706509,1370846,1371575,13718510058635,13723,1373519190,13739,1375719083396450,137584342996915,1375949639299604,1376096175,137645389941127490,13776838555679,13777198522117294,137801185560213,137821557122235,1378679,13788223462,1378838214,1379022971422529,137921,138142302271,138162233137456,138165125,13821606,13825,138265770956,138367757751,138374830,138503476,138556133,1385878077769754,13863621870833482,1386588016,1387243578508133,1388222,138824394,138824686930635170,13884456102,13888470723936776,138893335250,1389,138926,1389511964,1389801614946288,139,139,139,139048703401657760,13924379125937,139270631252,13928,139291356084,13938893247596422,1393942954715110,13942135272487804,139449,139484857521,139575164462,1396199492745,139649150,139880572388,1399014756625,139905297125,1399255347,13994612303303,1399939957587023,139998737,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,140,140,140008770858031,1400348817078,14004435343988676,140066716289868340,140072,14012051272152,14016877,14020133,14021775,14023,1403,14034741076,14035615545,140370524590,14038243733723,14047311251718,14058809,1406007509660666,140658,1406947,1407093078980757,14074348667,140771254642830050,140785626654168750,14081036605,140887765119905,1408925028909,1409619074219849,141,1410,14104484,141047090766809870,141075471490931,141081356311941,1410859872,141138634,141143337922092,1411483168560316,141173857641680,1411761401090,1411779350,1413,1413046673,14134559041,141466,1415386,141538735,141562,141590,1416,1417,1417517625523277,141770323,141772485,141807224611,14183,1418395,14197922885702,1419906,1419933570,1419990,142,1420,142032056,142119561786423310,142277627,14229,1423,1423016490,14230859533,142317902761985550,142410071775594,142419953620889,14242153423,1424757229860589,14249226727788,1425,14251453790301578,1425304,142578639737,142645381434193,142668935884782,14269903118064974,1427785760255,142843,1428611384022789,142864490750426,1429,14292,142950659,143,14300,143063667588800,143118557300465,143139958,1432228,143233943,143295,14331963,14332788,14335377245659,1434240425650855,1434596,14346724,14352658550,1436,14360967757,14365,143653550183314190,1436852,1437205463896496,1437528,1438506805560427,1438867,1439,1439025230892,143913442281873,144,14405761359,14412707,14417366613230,144176,14424,144314,14438204984,1444227,144432452413026300,144517865635140,1446,144703029167,14473957012420972,1447400,14475,144769720,144801837511752700,14484,1448436973902640,1449,14499173054297,145,145,145,145107,14516137962,1451723514153125,145225,145247896505069760,14529040285,1452954,1453,14537074557719032,145400,145405639130,14543990301216326,1455908374,145633743832291070,14569637074205,145700,145758480876705,14585880,1459065,14594,14594479042563,14597144777,146,146012845001094,146051791111,146122951,1461528071,1461631,1461932928576,14626059827,14628037108525054,146313181880297,1463557113702,14647010402033,146471,1465044350697,146532642,1466078,146651,1466696786335334,14669,1466961,1466961822,1467312784957577,14674876,14684,1469017173,14694,147,14700152,147161147191419,14726,1473,14735,14738,147385534619693660,1475152857078548,1475457343889762,1476,14777772,14781944936034,14783557699821548,14788,1479121974,147921348,14794351276648,148,148,14803288712322606,1480729970492,148138,14814251699511100,1482,1482660116577,14832068191932968,148415976823,1485645780,148654853,148707050996391,14878,1488109630206233,148828661,148863261415,14893886810958,149,149,149,14901138777,149099763560175,14915858171228,14916,14921569982818,149384,1494,149445515,1494692687525859,14952315620939,149523347,14958,1497072153,149717896800636,14974260,14974365484423454,14979081794060,1498596981249,1498720473,1499,1499229785,14993944997392,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,150,15002,1500402,150113515357494050,1501667,1502060853278212,1502272868573,15026,150260,1502702997774911,15040365915,1504870736420178,1505074470580,1505360084804200,150563887197,150591619,1506342,15066022850167096,15067,15071816702,150738780,1507480,1508098013,15081792,15083535,1509297603362791,150942130313,1509584,151,151,1510432408327402,15106325,15107274,1510941995,151094646132926820,15110,151121927,1512690797459,1512824391,151378103072953,151384226,15140680520091702,151491617521632,1515,151526389243499,1516,151636167313337470,15164703957,1517168790,15172150105,15175323453888346,151764,15179197300,1519,152,152,152,152,152037034175,152052554990417,152128852816995400,1521886484578022,1522399,1522938645150578,152344072,15234974474,15239434500581,152443366936859300,15247745157,15255504378,152558845010514300,15259,15259,15266,15266380486034,1526898748,15269030693,1526928,152700489,152737266339854750,152746239828012,152803151283,1528444067610083,1528747044,152913438471,15298115,153,1530609817,153198379868680,15327839206562,1533437410493512,15335,15335046864,153443697188,15344991141953,153538,153548738,1536,15360609,153621,153682916817264,1537,1537287508356946,1537731115608979,153802856358793,153822621,153883568077,154,15401310845634,15405815201390,15409600943182438,154106225251,1542699217,15428392170372848,154349823456040,15436004023,154370759,15439652764345052,15447604,1545422,1546219352,1546339394212316,154679274981008,1546803,15469757126352,1547898774992592,15481474356,1548333285,1548378,154887966500884700,154952756974,154980934977958940,15512,155156528234346660,15517767928280422,155216,15528,1553043264,15531287,1553149516201450,1553343119783779,15534911154833398,1553535454539,1553548985924812,15538559,1554,15543089429245,155458215393094400,155666793,155704104950558880,1557217743994,15577907008162,15579890,1558,1558712656248924,1559063678842,1559248836845780,1559401328719,155978176224257,156,156,1560473231,1560636395711,15608823247277,156142,15619702868672952,1562156329195,156253942970,156268,1562701952636983,156363622110615680,156388,1564,156425,156430614484480580,15644,156542708883504,15655561,156598017076223230,156613492199080,15664303,15665699218,15669,15671050854,156802942193682270,1568321892526,156873817509615,1569690450365855,157,15704396821,15707207990,15712136505790,1571224481,1571261,157248771,15725498476383610,157332700075,15733295982,1574114694151,157456939763510,157517998,1575183,15756978563391308,1576,1576682490924933,15774386935592414,157804202042531,157865202,158,158,1580,1580654,158070,1581205779632987,15813994,1582472,15824973,1582746,1582914319742282,1583270422,15834075535,1583873,158481,15849917677,15860815,158646,158708,1587149823,15876840,1587697254505811,15886024068212,158988527406,159033132,1590510,15905281364976754,1590953037742439,15913042332442278,1592216866358959,1592416164,15925891232,15927,15932783228295426,1593405469,15943450748774452,159439206789141280,1594598522876,159464816,159575841389984,1596,159708847813,1598,159815640677,159867451056971260,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,160,16000052330021198,16009358006,16012860,1602,1602023186,1602210490042,160236041350081920,16038430735097118,1604,160464954526401630,160494293394405820,1605158935036,16058197121858,1606,1606193,160644378,1606634748,160683,160703329402849100,16078,160872216500,160895,1609,160951616867,160965,16098116333,161,161,161,161016835,1610373215671,16110332089,1611483748,161179,1612043176083140,161242533324706,1612648142155,161270,16133139101726718,1613597321,161427094159,1615525,16158659550,1616219155094,16173,161730893960764,161731,1617627119660721,161776674295591,1618243171945711,161849726870154,16188,16189541,1619,161969,162,1622,162313665714,162320162,1623882507,1624236957525,16243355243072,162434032,1624416987849767,1624508117158355,16251887103064364,16253,1625637837,1626,162614,162616,162721528563,1628109,16281556191826,162837463,16285205,16289,1629,162935984259,163,16313516,1631758868,163189228609118,1632,163284839,16337621,16340761244,163496110132498300,16350,16352852851667,1635299524647070,163572565017122,163582,1636061580,163632267374,16364617486646,16369284602905,1636985674125814,1638,16387949,16389557417387346,163922516801,16396347,1640,164057777927341,16408,164112,164116239,16417397,164194177,16423335,1643,16431690,164352107794943,164433171184,1644613,16446579527496982,164482416910635700,16450591853218456,16452129303,164652238649284,16465342,1646690104,164682057864019420,1647,16474566,164776692097,164900319270848320,1649201,1649895469,165022922571,16504178,1650646,165109986301,165113,165113141886164580,16513125910,1652,1652202,16523,16529429,16529551081181,16529773984,1653784,165430245,165576344,165612819030402980,165626338062946,1656405853155,165665368703822,16574571950446896,1657645,165801494914026,1659407714717,1659729575,16599,166,166,1660,16600,16603619700557,16607861040279432,1660965,16613719707244,1662,16626120,166265,16636560498810966,1663767517,166380312512,16641129259572,16665040899,166685869236389,1667,16675,166756025985253570,166784793582,1668,16682043840504224,1669367083668359,1669604,16697,166988189788053,167,1671039,16712,167196892009803400,1672,16734707226750,1673641,1674,167490468445,167529,1675382131791755,167548560,16755280235813,167572251184032700,1677,1677464789354715,16783034,16783754533250612,167942764810216,16795,16796368,1680261657023578,168078454510,168108855243476400,16812,168158269793201,16816916463,16817991681,16825,1682599409030893,16827120317966890,1683160154700,16833972874,16835231438843458,16838659916931,168522355037655,16853,1685531083471,168635,16865,1686620125,168664034,1686988311819,1687114719394,1687204,168779647027920,1687802842800836,16878790094,16885227625,1689025799862566,1689593957,169,169,169103217261,169158992925,16918488038722,16921600,169377340647,16937957471350334,16958,1695869413,1696153,169659,16976415866,16981,16984440604,17,17,17,17,17,17,17,17,17,17,17,170,170,170,170,170,1700761,1701,1701380472452072,17021,170233607,170398,17046561198582,170468371,170479113864322,170525129968575,17054916,1706,1706423514979930,17073730,170739221434625900,17074871169,1708363508,17087178950,1708997955940,170925126,17096929566,17102542824049750,171033,1710679514093,171082556432,17110737,1711667,171178859691035,1712136705745,171304068272053300,171388978663,1714149813053359,1715848648264914,17159,1716214438,17164,17168,1716839642,1717155932493123,171742169,1717476,17176235196564942,17177521277,17182761376,1719,171971964431681,172011758186377280,1721612701,172180782317615,17223436752,1723,17235986349,172592173365,172597498825,1726238347422740,172671025163360420,172742379144312580,17277576000,172827146658378,172887881575,1728924,17294307,173,173061145358,17308933487,17310,1731545643290895,1732111,173229945913,1733299908876,173333810,17334719,17338150024115118,17340823811,173478272616,173494652,173628032301293340,1737342910,174,174,174,1740320232275126,174219443634944200,1742433910739,1742768556,174316025135159,1744894776752876,17449390721575096,174494335929423,17464,17467822870,17467943,1746916352931747,17473308617,174883931453934500,1749,174982684916848,1749877083783,175,1750352208314791,1751,17514996993,1751843739,17526561,175328,1754,17543773813504312,17545500695737752,17554193566,1755612221042892,175582042894700740,175674493,17568345127140,1758015330854126,17585403221,1759,1759122,17599159,176,176,17603,1761067899,17613281935679,17622311250948178,176301490,176363695533,176402665669952000,17647096,17653,1765714599078,17658684,176716241,17672730766273,17679581032480,17679935738442854,1768012056,176849993184858,17686,1768682217911536,1769,1769,17690212,176951168156,177,177,1770610411857,1771079696497,1772483223,17729,177374333547,1774204,17752,1775365275,177650312220441150,177655837,1777,17777388,17777642600,17785151,17789435951268,17790666464217900,177981,1779992,1780093867033789,1780205534042,178238966,17826996381694,17829953869652,178317095522203,17839168,1784,1784632,178493130322428,1785007918701844,17855,1785608,1785995767,178648938838,17866487592140,178711876726111,1787429294223,17888,1789,17896065,179,1790518775,17908,17909341,17915447,1791849105516247,17927128138417,179279,1792827,1793566854969,1794449027484092,1796639008,17968933615,179739366033155400,17975296,17980386619016,17980477168830144,17982143,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,180,180186889510116,180267,1803,180305262,18036684912612292,180467570504136540,180467664300,18062,18064404,18068450894203176,1807119486,180790442990162200,180878,181,181,181,181024382904822,18106293,18108798,181106223068,181131926924782,1811656241,181295127,18130773669,1814,1814473725,181475416502724130,181565103389627,181571805564,1816,18169026,18171263429449364,18173014199244550,1817441186390,1818201905268736,18183860,181845611,181866,181866841786579900,18191536888016,1819324389,1819645293,182,182,1820,182002480990734,18203,182030701263,18212780150,1821752660,1822267136608365,182250739,1823055004,18232650782515,1823413,182400063775220640,182487291,18252,1825380379019528,182617,182716094459565,18280812565632,18286377,18286772,1829,1829,18296885077019,18297658551851,1829874650311463,183,183005874932,18302957450,1830334395,1832136482,1832598,183365744,1833754,18341472858679356,18344988987752,1835,1835,183538,1835498419,183567,1836682424911,18368,183734968895272670,1837447243,183777,183868828924730,1838866793,1839529261756491,184087330808117,1843,18430550763,184306944807,184358,18447018,1846474,184673348,1847973421457787,1848,18490177,184919,184942787,185,185,185,185146,185149524089136740,185151,1852052,185263035761590,18527791,185329032774,18533270,18534,185390112,1855384505455476,1855917699,18562293,1857,18584295365548,18588,1859,1859041765,185977319183137,185994386908462,186,18602656563,186103843017985500,18615093010,18617,18625,186286624163668,186426210730354600,1865,18651764,186539308,186540,186568340164022850,1865704441679573,1865809599153,1866,1866775,186893,18692101,186922343739,18693615991706704,1869849102405,187,187,1871904,18723147395,1872782,1873874899523015,187451593,187455181570657730,187464638604,18748357,1875693613,1876,187678609376556,1877166556630,1877925145,187814480477286270,1879,187901408,18796,1880,18804895357814028,1880834,188097041722835,188117,18811982401149,188272,188382604428407,18852346070089084,188587130783,188650297460955230,188655979940,18888,18888211277,188936,188941514,189,189119124,1891373,1891455129034594,1891922244,18924821928,1893171668071565,1893274,18947806517,1894791887549,18951379,189537516,189560986,189562669156734,1896374438609,189681,189681,18969868109981,189707500934,189798245893,189848563710819,18985954947978164,18987061350771932,189881,189884,1899051296,1899714783046456,189987,189987348804384,19,19,19,19,19,19,19,19,19,19,19,19,19,19,190,190,190,19001479982631244,190197833678,1902,1902296727605,190284,1903081121685,19033416042,1904009671462658,19041836815815176,19042,19043478,1904515637805,19051724892241010,19061106835991256,190667,19067,19079511586732396,1908,190833654389670460,19085391921911,190890268228638300,1909,1909078665311708,190928842277320,191,191,191,1910,1910227715,191041971,191130607232,1911783352988072,19122105,1913,19135279,1913577193,19141365314234292,191437616,191490811068994,191571,1915906751193205,19160666841,19163241,1917,19178304311859,1918366922673617,191873,19194622510485,19196756738,192,192,1920,1921049,19211956011898744,19213522405,192138058,192142148,1921527403955277,19222249688751,19227839033,1923,192346,19248364963386,19264837636540,19266301,1928438776423557,19284547109396,192865324536102,19288485,19306721,193100693,193161223149157,19323338,1933568582799,193400684,19345767043596090,193547996716660200,19356380379041,19361845666897,193650750855,193681,193700286453173400,1937026,19371,19378464551484516,1938092890735835,19389115445844,1939208378898,19394,194,194,194035808211713,19409833956529348,19412904,194146734756525380,19417631369,1943621,1943736718208,1944134753383,19449463150,19456,194572061398404,194611724026706500,1946655206,1947056,194717852716709,19474644082530050,19476780088423,194782818827506600,194787868974,19487565694472,194912774419056830,19492942244517,19493211179,194944274381363,195,195029432454923,19504149424056,1952931,195365,19539146170,19554130,1956,195618662,19563916,195650082,19576,19578823368293,1958165257,1958722,19595,196,19605810834062,196090189171,1960999320680,196139979120,19624954602,19628656879891,196354100916334,196448760259,19646427208752,1964814331,1965268,1967067774,1969467834446,19696478937950044,196980208889721,197,197,197062,19707741897202590,19711233,1971557930313,1971805238828,1972,197280967,197441098115462,19748895,1974980647,19750618989051,19751687,197546581692972,1975471185,197563218272478,1976,197648198661909470,1977918777080,197868689843404,19794,198,198054493066988300,198086683,1981785340,19819778806676200,1982227138570674,19843519,1985,1985013,19854,198618707,1987283315,1987367884694604,1987437093133635,1988723560776998,198963732862243,199,199,199,1990352168043,19904359046,1990922,199162245019014,199175478491116,199375910297208,1994,1994906358288239,1995779,1997104857473924,199754366844856860,19975609911,1998473,1999669671516225,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,200,2000,2000,200091463577431970,2001359323,200168307579012,2002179601754,200218021541056770,20024842841,2002785,200294327261337180,20031662981,200338,20039,2004,20049310,20060,20063262626,20064297,200656,200839934103210900,2008451,20088350,200887292,200987557,201,201003037788080740,201068882,20108645481833,201172,2011845789609045,201199508,20124333,20125287078480,2013345465386388,201368168659,2014,20142734007,201454,201490414,20149870028,201500788,201533428070,201706656,201838,2019006886092679,2019161,2019184735,20199031235184,2020,202110901453245,202142009131668580,2021702468116915,20227432780474,202372362,2024,20245828807,2025,2025597436,2026,202764,2028,2028469744013,202950807,202962265,2030,203022128123100640,2031,203117528502144,2031879367,203234622488476,20325,20327,2033301513076,20338862,2037231543511059,2037358984788,20380397,2038290686,20389,2039161986495065,2039349,2039942876805030,203995564132,204,204,2040829191,20411645487044,2041647,204259424637,204277280,2042828175420361,2044,2045028130396702,204587341,20474622,204756,20480513,204844,204858471,204909058,20499916837,205004413011,20500982,205048671520,20507737103,205082546812033,2051847911367,20518629122,2052,2052078,205259950246216220,20528448192179,2053004506869289,205366112537164,20544126008553,2054797,20550245238442748,20554,20555,20561,20563907198,205685876033308,2057204844568,205747156,20578487,206,206019,2060268331913016,20612462405615532,20614895,20630202160,2063493463626486,20639835,2065297211,20665200956479,2066559571672,20681,206829690168147420,2068988258857765,20693403892623036,206949127,207,20701504,2070336899025246,20705,207147378058434,2071518657828,2071545478864,2071857,207238309204,20734251,207346894323096540,207448263228,2074772774935,2076,2076697373,207680157,2077,2077610190594,2077659163907988,207784262,20783663314635840,20785960583016460,20798494260094,208,2080017347866,208070842166402620,2081,208243,20838753947186,208397932,2084,20844,2086517260301230,2086565,208783405,20885981335187,2088650860,2089058644299210,20891908984996,208967079986,2089796323088166,20899,209,20907498,20912784946,20919975,20921251276,20924,20925593819,20943,2094674861787,209570247,20963230,20980591382888910,20990871,20995886375,2099900,21,21,21,21,21,21,21,21,21,21,210,21008074,21016506595874,210292362489,2103152386792,21038660622335,2104003403,2104348065,210448,2105199504597,2106140,210680,2107541742,2107846451,2108,210831214376902,2108895360,210906727393820,21091764709928,210974943,211,211067691642715,2110756,2110805955391,2111171261573691,21122962,2112682956479047,21127921,21148249,211490109672649250,2116044770815,211737,21174255,211763467849,21179505447,2118747647485,2119633357765777,2120186914196,2120330219,2120974,212139154046724,21217,2124120177606091,21248782771170,21276574731339,212904171326292,21294909,213009782721,213037150,21319,21322797592296,213300,2135242,213545893,21375114977,21375471129279,21382440660,214,21401,2140251,2141101934,21416073091884310,214248617070528,2142546960,2144378637673,2146664794180,2147119,2147698,21479,214813,215025964,215049919,215166,215176,21521,21528,215334,2154275715999,215565279,21560,21560752455,2156208851009,2157,215721671882042300,21573995155,2157646541,215936653241,2160387169746,2161,2161,2161,2161,216238664180043,21635071708,2164289308,21646,2164723148551928,216474356259259170,21653542241396430,21654912268163892,21660246433999680,2166732650910,216737,2168410593517,21689753211731,2169,21690,216978449246198900,2169914691,217,2171563,217168021136,2172312060344959,21730,2174285,217453962450,21747390478609,21750573700300,21755130084991256,21755627064,21769413247,21771,2177141037801451,217739640340,218,218,2180017,21804,21804800,218152,218176794779,21830,218304165119,21837868335,218439912463373440,21850506,2185529754,21868846757,21874829398991628,2187890476845601,218853695531371550,21890525873586,21890705,219,2190249322836,2192,2193333953821471,219428010,2195577789822384,2196516504474,2197901330127608,219869343,2199287623886865,2199562921673603,22,22,22,22,22,22,22,22,22,22,22,220,22008537464880656,2200955,2201,220139572211,2201654450412182,22020562194971,22026635,22033799248543,2204508374081063,2204526622805916,220476794410944,2206374394921,22064839641031,22092801985469980,2209680681377,221,221,221031011502901,2210837,221101459,221106552,2211690,2211786,2212,22127,2213,2213488523,22137703459233,221506481244899870,2215485049,22163,2216446,22175606125,221786349,2219,221921092,22204407696445760,2222,222237052,222239262066576,22226293,222278301,222410448166,222415037633,222521335,22256878751334480,222601586882458700,22265567,22266062245,22267,222813,2228256,2228771792090,222877567598152,2229694,222988860768722,223,2230,22305,2230568482796,22308669264309016,223088655608,22329037809192924,2233319975150885,2233589298,223383777156,223449302089242,223518,2235522758508897,223579,223580451,2238069169,223817302766210720,22383322000656,22388783626,223973666,224,224,224,22405575765638800,2241093360345228,22412728529641,224144373525353630,224183,224264013011,2242729284,224356403512,224594673099440,22469196648349,2247509412168,2249368128257,224972366534542500,225,2250,2251014118101870,2252090831464,22528570574,2252978488,225381455013298020,2253827027,225556600336,22566750,22567913895,2257015620731,2257350673,22575529,22583760982572710,2259,2259,22598037887396580,226,22600596328,2260420,2260599917369928,22608,226097446982,226099162018,2261230635257586,226136481698099,22615973151606370,22620423896860584,2262465908,22625901556165650,2262664,226293864185,2263307,2264144231844590,2265476975376,22660273333563,2267,22685259730223416,22689660947768,22694,2269473158,227014461,2270480133,227187411438723260,22723767854,227394,2274096436303,227527164,2277063474,227743,22787276089,2278867104893817,2279319786128,2279704344103740,2279996,22808714265,228120181,228138894,228164980782,22819,2281906642843419,2283013300361,228301530,22830980607603,228345438814733,228393378192,22841858350756216,2284381364,22850393677394456,2285079836,22859,228600446,2286129057138,22867768349,2286956489,22870,228709992907,22878230078,2289,22897,22907267952,229162960073891,22919,2292,2292210584,22931832,229453051,22945528309736444,22951079404952,229544799386690500,229775,229775999731312220,229847378237,229848136078,2299397705,23,23,23,230,23005593769730,2301725513171223,2302042050398,230233001763,2302377,2302921446649359,2304125,2305709,23067306316177,23067526,2307664941241,230829472088190820,230980591691397860,231024770340,231076,2310848784797,2311660853046151,23116792,231170549498476,2311973730764064,23135820693,23136,231362447,23138599,23147714870164,231542,23156307405,2316,231601340873430750,23175677742,23175842,2319941,2321126,23218715076,2322085,23246498295436990,2325193,2326352151313,23266197,2327468144263,2327661826,23278840140004764,2328,2329396948031,23303304,23313,23315925924,233163213390493,233164754,233343803294821,2334805595296631,233481922095,2335683,23357945481,2335803747,23362727849859,2336432,233727603727022530,2338,2338019521508,233814030404859,233854895866,23390987817555,2339982,234,23403034070,2341244496,234420921354,234778621149230430,23503000410,2351250838,235169987,23518711,23528442919,235391957932558720,2355,23551457,235547283,2358502467,2358735670516305,23591309928545,23596695,235979303338938,235986118390,236078102348841,236208918573,2362551176809,2362943,2363427951493452,2368,23686225,23689807990342,2369,2369382,237517,237613032263,237623,23770690903,237815346,237826954820562,23783207,237990,23806180,2382,238213855614536,2382524326759482,238372201754,238459768986652,2384791308,2385378190,2386161036,23862798671,23864,23864033429535,238685819725822,238686282,238701094,239,239,2390,23903293,2390490548206282,239066735215,23909388820034500,2391746417,2391911964,239448213,2394737280713,239608896457203,2397,2397918936549,2399235444573720,23993,239934254133051400,24,24,24,24,24,24,24,240,240,240024479313024,24017634635,2403791,240418875286,240420836600641300,2405975482262,2406,2406,2406856,240694665,24073026106,24077796465974,240883,24098651270973,241010546989194460,24104274488299,2413,24132,2414116,2414299762328,2415433748,24154931949214,241805030767061,24182039,2419001124,241930234468424,24195,242,242,24205,24207228571,24247956001803570,24248009966954,2427253,24275,242962167210739,243018793361,24305358357,24307,24315,2433241,24332937226304108,24337430618108,2434197,24345507857009210,243471795047,2436,243646778372,24365876522372770,24367973243,243691393354796,24379511,2437973993538,243865529892654180,243956485638706940,244,244,2440509525,2441022561852,24410508,24426097381,244265908819113,244352467494894,2443699163,2445260340248031,244536635497327,2445642,2445831131261,244693980,24474389298722,24484459,2448662399422,2449,245,245,2450,2450750603513,2451770285,24526784165,245329233,2453810973520985,245456217863060900,2456,2456998763,245756479775,24580039728515820,24583949232881,24596189906,246,246027993704505,2461,2461030348341,24614861960048660,246189,24620639183,246492268,24649264,246677,24668,24670235630,246726982984,2467885,24680642085,2468383751,24685069215374316,24688362958,247,247,24703056,24705596,24706170095138664,2470846492069,247097883930155,24714175659430,2471978922,2472512707053,247266529103543,24736035449132428,2474510666,2475488,2475782986342,2476906,2477029297,2477685581,2478973,247965690,2480931234,2481856411447717,248216769178596260,2482190,24828728592633444,248600472332739,24863292267716996,24864523,2488534038,2488851,249,249,249114357,24911793766137610,2491328392242278,2491351981094710,24914610,249174923212,24924546418,249265421124615,2494,24941,24942768220490664,249561,2495614884106109,24956939,2495821,249691961705,2497780,2497898,249838393136882,249916536,2499457464829337,2499787212683080,2499867960011,25,25,25,25,25,25,25,25,25,25,250,250,2500208,2500221260639150,2500435,250046583,2501081145,250155025296017,250179853011547000,250369767508,250481606528165980,25051576803,250568544,25062,25068856737386,25071650818794464,250728119449,250882826826721280,25090440487328804,25099340872940,251,25102407871518644,25107597840559,2511055037772688,25116,25119404780536868,25123,25130968,25136595569,2513759455,251410663,251522000927658750,251614769929,2516431676,251792448086,251871314726953540,25187682604944,251912631939,252,252041330736355800,252202709071989,25227,2522912470,252368,25243879766885,252447297215,252595,252711437053911,252800511,252815,2528422095,252863206,25296240486,252969,253,2530,25307898835411,25313,2534,253538170614538140,253572730327,25362889772,253661401,2536772042574,2537,25385902844489452,2540282794806,25408310846234,25411396621812,25421,25430260004931,2543642729,25436990376,25439,25449924981,254570821472,254594281350714,25460,254634553819,25465995711416,2547400076338,25474806408671224,254950395,254953514343,254971121979,254986,255,25518,25521515,25528,25534926417,25537610059213600,2554267888292041,255687574,25575,25576684910673190,2559471899395,255996599577,2561345,25635417977416,256379,2564,2568,2568308437734255,25687426731608,25690265031862,257,257,257,257,2571,2571,257105,2572,257266663080596,25748813681222,2575530,257617296466495170,257638881321833,2576993778,257915,257967899180219,258,258,258,258015876490822,2583,25833,2583389679193872,25834009897112004,25834121198,2583539143533400,25838444,25849588861,25849877860308630,25859,258592941486105,2587424084,2588,258858118411047,25886048456540,2588663238,2589167,258936985800,259,259,2590,2590276264381842,25905075892468,259055896010425150,25908877,259109806,25915,2592928,25932605,25936024728479,25942699227,25950,259518187419627260,2598,2598106268533,25982407750597316,26,26,26,26,26,26,26,26,26,26,260,260,2601441933459742,260158507,260166140,26018378,2603,2603092,2603294382,26041727,26049719193396,26059035709,26060818,2608,2608182295,261,2610,2610105265943,26109435137636,26110090843,2611125074,26112504074088108,2611335213,261251383920730800,261273374786,2613978777858058,261447425393023300,2615135824528,26152326990,26158438,261704290985357,2617617476,2619,26200970997800,26210,262118257883300860,26215,26221840654,26226,262366878265993,2624835830195736,2625268761040538,2625669641,2626032839105,2626426119834789,2626643305877,2627474,262836295984,26287927918986684,2630679138185,2631444361426,263187687553151,26324962890199804,2632596308466,263422,26350217496490064,263529,26361827600,26367214950633,263750990,2637730824613596,26383562,2638693983,2639408806323,263959291812871,264,26427,264277929955053,2644,2645847518,2646,2646840228648971,264706977559,264757643091081250,26479,2648241662342,264902,2649253136,264951373612439,264981676318119040,2649931,265211677663200,2652949,2655,2656,265754941,266,2660138972224298,266058,266116657,26612443,26614544746421296,266223869381,26623057,266267144,266303684556,266533221651,2665506,2665613161701690,266652914007158,26671342242,266725722659510,266726622855343970,26683888591475584,266851896,2668858,266924490020683,267004,26729242197,267322912,267360937,267419200380,2674850,26750,2675087595228210,26753481606881,26758453009387,2676312015,2676973272,2678,26787613571817,2679219515,26802785408521,268048145179,26808846991933844,2682026001038,26821585896492064,2683579271372,268541435149312,2685816,268742347532449,268802988467969100,26890522083786956,268915,2689267,268988,2689969793,269,2690925099343,26926161998397,269370887696297,2695002636902,26954248474473,2695849541643,2696145551327172,2697,269818932562,2698226877144542,269909160577,27,27,27,27,27,27,27,270,270,270,270,27008476645191100,270140846376584700,2702070824677234,27023236633057050,27042498025100,2704605752960,270662,27072669,2707631502897,27085,2708729040660993,2709593568515317,271,271164346307864,2712368,2712924,271400256385273300,27150586567320,271571920386868,2716,271825724443,27193587997667,2719510,272024670,2720266217171349,27214643931,27224,27226241620,272303796,272316448,272383113809085380,2724240449926115,27250072382,272517448303980160,272667966,27268651491040,272703867985,272743613,272761386,2727936,2728468378573006,27287286947732,27290808,27303350,273349834421917150,273430666252,27352639,2737560,2738594,27390979696,2739487293956319,27403211241003480,2740434022025087,274070,2741,274250173689575,27425274524,2744496448,27465142,274762832463535840,274812511,274849299270,2750336,275060017,27510892248276280,275175686143,2752674842788,27532995318644,275387113037471650,2755409458507455,2756288,27563245999449,27567196,275766629037939970,27586409800602932,27590,276,276036,27606741784062924,2761176,276528889858,27665463454122,276731748543285,2768763749787,277,277,2771,277156018793801,2772421444188,2773648,277409064119852,27744145272122,2776139581777582,277691368094,2777,2777384180411,277744928228682,27778792130499,2779510714176015,27798458487887644,278,2780068666991794,278043836484714,27830104,2783454085814262,2783465457236,2783592338,2784598747380,27846,27851618,27853,2785328445194,2785350,27856540965,2786768091,27868545,27882393,27885,278953187,278999,279020,279095505787713,2791229731274642,27931297620681,27957,2796411415139941,2796710840309,27983,2798327,27989099806,28,28,28,28,28,28,28,28,28,28,280,280,280084391,2801,280198977,28021,280287058,28033780,2804432979569222,28050410310,28052379099,28053664311,28056829475,2808130972147,280870146259064740,2809761182261127,281,281,2810230379260658,2810636,2812118801831,281238589246287,281379434809731420,28138,2814,281523689,28154230,281548,28156808275623,281576799519832,28169914195496,2817,28170379648,281741389569469100,281756826376729,281777916232507,281783,2819844492464452,28201292806134668,28206451,2820808,28217,2822528783583395,282266914041,28234308688,2823669405634200,28237477244712876,2823890,2824743478,28256378,2825715,28277853105,28286260501718908,28297,2832,2832955272254,2833636,283399338893427900,283492,28351,28358,28358652394,283733421,2838,2838012850022,2839,28392353974596,2839423747131261,28403035010594180,284038862168720,284123434663,28414370,2843,2843034462,2844031324291,2844751195,284524965029402,2845789,2846,28464972049293,284761797,2847622894,2847685500,28490922,2849861071226310,285,285049469746779,285109247,285211807543,2853635,2853750842515,285389758175653,2854146409,285763241106445,2858,286,2861183108760072,2862,2863090,28634103712464,28651693267060,286548,286655827356,286667199252,2868626750385191,286929,286942257817,287,287,28743009,28744316998231,287518385523,287635155632555520,287712775770,287870449429026620,288,288101715,2883626486367,2883660,2883744102361,288401096851822,2885418747909,2886873941160347,288692764442095360,2887,288706411,288821083770578100,28893288854762,289,289,2890124147,289191471604,28919314141,2893010140725082,2893046665204619,2895,28962459415,28968,2898,2899784,29,29,29,29,29,29,29,29002,290075,2900809384025676,29008948,29022888,2903042074247333,2903819168524521,29047186618130096,2906249695209578,29065029,290682179470531,290698820690,2907931,29098958,291,291,291,291,2910,29101155,291015642036849,29111647903313,2912853553,29130,2915726,291690506673760300,2917,29181,292,292,29203810229394,29207036462599,29208122892906190,2920826,2921397,2923243501311818,29234330656670956,292542157290008,292550849,29280974314300,29294393893,292988128810275500,293,293055,29319855769376,293267942413915,29345415000562,29349778,293546779619,2936569203,29366176,293699044542,293756257383,29380,2938360,29403438033,294148191,2941516,294166346523339700,2941896408403,2942,29447953525904860,294564860483,2946230,2947302604,2947326,294826580164030,29499,295,295,2950,29502212452,29510,2952,295274,295349979,2953950628525,2954997,295585,29596492,2959892724817,296116668088028,296213741922581,29661972,296655327,29675861011026260,29681412855858,29685564923196932,296882,2968847528,297,297,297,2970265,297149806,29717661493,297176744,297240,2973,297301588,29757,29765674280,297667223891,2977030,297756815,2978366212314,2979310297,29799119755643,298,29804227,29811816133138,2982269,2983,29833575767113,2983957919,29842278,2985,29868,29875011443614,298779,2988,29887,29892678228849332,29895719095,299076,29910801762,299161938,2992581782673,299325,2995178,29962626,299630218687,2996314579946,29986,299871488146847,2998964137735191,2999282419352179,299936858796,2999625290245848,2999639013752463,29997423256471490,299990077,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,30,30,30,30,30,30,30,30,30,300,300,3000078,300074,3000977855783260,3002764331,3004100843422135,30044306520,300563265,30081492263320308,300856,30106658722,30108,301275774,301309798501223100,30145,3014508376,30171019935195,301740218,3018409,3019,3019260368910,302,302094195,302189191943457800,30222717553723,302435155,30256214,30273187504738,3027936603774121,3028,3028867314326,3030037880,30316347574998,3032,303303149,30331928922,303427,30343,30353337751809,3035785034,303634390683160300,30366346822176,303982756616379300,30399393044078,304058759,3041187,30412,3041355962591,3041765203809,3041956,30425855956930916,30443,30465725785,3047328259360316,304739850193077,304805,305003853424082,305056,305161012170701400,3051654,30519919609204336,3052494877479,3053,30552327,3056,3058763189,30591645302248,30596064037,306,306,3060487122434084,3060576,3062040127335,30640,306511121942793,306539961829,30673163068173016,30677826462148636,307,30702398700,3071280427,3071302267602,3072326238466,3074966513,30753906016,307643027187858,307781137,308,30800195581993,308241582167252300,3082588146,30833391048,3086065100,3086780,308689599008860,30879995881889,30886039357689788,3088741092,30892954006952324,308951630888709,3090,309146801,30927274402,3094393578839888,3094541069499220,3094665680490901,30951510013860,3095380300281711,30958345563,3098062039,30992831890725,309975772061525,31,31,31,31,31,310082959,310176895463646,3103136603,3104,310411924767,31044670502235804,3105325794906433,3105601645546473,31073819412937270,31090619,310997764442170000,311,311,31107625,311090326721,311278,3113,311371036370630,311566751161,3116322362467,31173856771217504,3117657630008,31178416,31185758,3119201853715561,312,312282285245567,3123487676,3123923173115,31245708318857500,31281917530,312840853101,312880,312933,312997930671570900,313,31304729202,313148273633,31327254,31336,31338608763,31341545181,313418106217,31368547979923,3139,31392,31392298,3139829379265,314,31411470284883,31428022489469304,3142829062806,3144608514216,31446682,3144779327743321,3145956964309,3149,31491284307788812,315,315,31507,315080751416504770,315110515813,3151442897618,3151634404,315246113495454,3153753,31546291140054,315464650793611500,31557,31560356368918,3156150380631,3156318852,315763735881656,315768558667744,3158,3159847534911,316,316041538536,3160818750093160,31616433887,3164,31644763,316448789,3164888073043246,3166002988,31667233913232,31671170233,317,317,31702196,3171789853299712,31719849,3172717,317339,3173408,317403012,31746645,31747474455682,3175445,3179221308725,3179296170113,31793506,3179381855,31803188809745,318109,318169352,31827711,318381365516193,31852,3185985149,3186119526883,3186356751902,31871028580390156,31876,3188,3189754,31906029,31908,31909566,319098266463863,3192105929236,319324396,3193875701609,31945,31950,3196573,3196685,319712076770,31985808372430480,31989725960276,3198996812,3199832514,32,32,32,32,32,32012695,320286,3204107,320432856435268500,3205808922170707,32066,320703864,32079493675,3208,32080411855183,3208526,32093,321,3210807839263,32112,3212056358,321214,3214,3214034850749,32142662,321550920066,321610,3216100129497803,322,322,3220657920989335,3221477672,322367,32244462028192,3224891376182,32252270787012,322561442215208,32259627091,3227,3227,32278902948530420,322882,32299850,323,3230858662275507,323186855125,3232,32321468312098,3232296,3233542129,323430404619751230,323470981502,3234716653,32353773404452068,3237,32407,3240890643238,324184564489255700,3243126932269098,324314571247,32437296,3245033408,32459166273283,324719449,3248,32486723616225876,325094,32510612241282332,325255868,3253214414063532,32533623668981070,32538,325416205,325459113129,32550794341,3255135,325567547,3256530398,326024745,3260265716747748,3261,326182533,3264044285,3264761642,326557011813832,3266207023032603,326660,3267962233738,32680421,326903,3270575724406563,32711984972,327141305249041,32720918710325,327228,3272603556374327,32748961375,32770182082355228,327775973101697150,327841276423600,328,328,328204139956865100,3282290313580425,328240361987193200,328336,32839691027,32843216040,3285546300072180,32865803,32877768365,328974019658,329,329187729006910,329355,329466403688904800,329482171201,32955,32976,329766936619243200,329830542023,3298517,329855977,33,33,33,33,33,33,33,33,33,33,330011953,330124530620450,330253909851711,33027158912881,3305281433,331,331072647043447,33110013,3311354188,33126,3313,3313885319602846,3313898372249253,331668,3319486,332,3320112680,3320371912,33215,332167181,3322840675309362,3323347919119804,332382754619412,3324546190605693,332654,332681,33284952695547,332993945232,33324965943736550,3333612,33347495445090790,333523979255571600,33353378824021,3335340777,333644,333748857151549100,33375881474676,333932671,334,334019403119411,334032957067649,33425130416865,334285,3344296,3345972322083,334605239,33463477606001268,3348360260997822,33510901,335287915901,335303804,33546166666,33556,3356,335636049024360,33571693730,3357458376914,3357678401422003,3358720001525,336,3361081,336183193662,33629859866899976,336339539032,33637761351893,336549,3367,3368215,3368484212,336872,337,337006954084,337028943449208640,33705873098345108,3372,33730296152,33748,3375205496745,3375534,337578,3376296805415257,33776,337919171919612,33795245,338,338,33801366722864,33808385,33858789916,3386,3387128609,3387381966,3388810354,339104551,3391390862316,339154146067,3393088737491,33948575,3396022245,3396279381067065,3398591003080919,33990527947505780,33994382075480,34,34,34,34,34,34,34,34,34,34,3400125,340061204373,34006228033010,34006777,34010422,340120689756,34012859233738520,34041,3405476,3405948730080795,34090225207206490,34091322326156030,341,34104446888,34105242281150,34116982019773,341179346865,3414050459793196,341425778,3416273565853,34175198905302730,3417650,341796410788467,3418,3419,3419020,3419622532,3421,34220188216704724,342205886168047,342284,3423250,3427562321871246,34291441447,343,343,343,3430177,3430245049,343054657780,34308,343404,34342305420,34351277693,34371517305276,343991057694434700,3440108616679249,3440242500271137,344103961972311360,34428869692,34441835302422,3444625439731715,34491139,345031734085,3451820626224,34526,345323110,34540130959166,345501420706,3455168441,345561,3457173074,34584357,3458765988479570,345897108844,3459326,34594011095460400,3459442319367,345979720781,346035454146949,3460879473109,3461834,34626,34629,3464843430042,34661,3469738893195163,347,3470451,347139663,347634,3478880,348,348022753502,348051494056716900,3481,34812039711963984,348170023514428300,34837,3484689,348543357723875200,348580,349058,34907230553607,349143492223099200,3492124330,349228141,349274245474,34927479859601908,3493052,349371987085543,34942690236921,349614,349845461,349888948,35,35,35,35,35,35,35,35,35,35,35,35003,35007,35025591395543,3504038673863,35056351014154,3506,350615996,3506625790,3509,3509795993,35109038176950,3512306726,351335440817165,35141,35151634897426536,351519,3515611257353,35174317834,35187,352,352,3520262829,3520785558,3522,3524308961264,35252,35253783999,3525802824,35267455241060,3527032,3527653207408,3529,353018333,353099802984,35311134972920,3531488723,35348231824520250,3535,353715659236241,353723,3538,35398993959,35405,3540860138133079,35422849054295,3543445611239,35451186096903,35457,3549058036592696,355,355061380395974,3554034128,3559024541542593,35593461023818,355989776290492800,356,35620980,356266861394151,3563102268021836,35675898,356784201301744,3569132600,35696826051,356973945595,35700,35703899793,3572204,3572293,3572879,35744950373804,3576,357716287781735,357726300303015,3577812507941,35787356,3579,358,358031797043,35806834,35813000165,358163939402,3581933575737,35833231,358481887227135200,3585048,3586,3589557803,35937751592661260,359640626922,35976310904553,3598,36,36,36,36,36,36,36,36,360112169,360117369509301,360128,360139968631,360181504,3602451396949130,360279,3603,36067356,3607216203,36079090565081,3608,361016829963931,3611813856837491,36137344172404,361411107,36148131,361500680276349,36161641,3616564707595326,36169,361758745362,36184,3618759979679,36192258496,361975537533,36199665,36205,36220602213775,3623640458,36242422169883,362433224233730000,3624581397,36246342065546,362867529011,36294025,362966972394,363299,3634,3634297545917,363477147951,36361526472,36365,3637311972889,363755,36385,363869397524899840,363958788051354560,36425630,36431187,36440824300120010,36448494322295,36466928,3647,3647442674485,36486552,3649,365,365,365001,3651863767487,3652019480,3652059013288,36529,365348209569766,36540278170968,365490724,36570,36572189470637320,365748646343820,3657759,365810,3659,366,3661129185725413,36612945373,366430701950,36643733461787144,36652074228720776,36662659968980776,36663616466525,36681864,367,367,3670075369217,36719734809,367333976221449,3673565411695886,367501,3675053685163,3675250521156,367554551980603,367598307264856500,3676489512,36779164219,367874273587351,36789325,367922,3679526562394,368,368,368,368,368061,3684713338275769,3685,36860491776,3687631948856,36880,36881703412,3691212720188880,3692431229208,36933750455,36933966483349,369380702509,369435662863513000,369467,36962504277,369668515,369749996365,36994085708869040,36995300744564776,37,37,37,37,37,37,370,3703185,37033680130887980,37046123210245256,37053410,37062110871182150,370777248035,370876697,37095,370977119513,371,3710231809386674,3713,3714036,371668530450,37204,3721154741136083,372377176781052,372440582,3725,3727,3728504030659262,37287,372955050275,373,3731463771,37381505,3739006,373908,373915961530502900,37409915270158770,37411558159969,37428739781088984,374303594683,374329544994099700,374356928952,3744966154259,3745830060680,37463,374760955,3747919336,375062469122385150,3751,375179195566298,3752,37523685164,3752583,3753576136,375591385310,3756,375638,375849,37591404,376,3760111988,3760965,376280970,3764245625,3765,376520958634519700,376619,376982,377,377160032897548,377171897,3775967849127,37781311733401350,377957892092,3781,37812235,378413852893,37843250487450024,3785113175708621,37852,3785768913127182,37858220266655890,37873,37899,3792535,379275113893359550,3796582822,379796916359,38,38,38,38,38,38,380,380,380409294482,380763963927836,380789,381,381153091,38140404557,38144332489,38155273696786790,38174201193714,382,38201275986886,38201380,3820788351138983,382150429,3821661321,382186,3822,38220857159,38221461955852184,3826,38266736434,38268789222,3826991,3827747901534,38289456274099850,3832,383510523605756,3837560652568686,38392593560107,384,384,3841491,384376,3846044691537531,38469543105993,3849276,384982237237248,385,385,38536,3854028321,38545082079,385762930,3857760158774,385829,386096273653465,386218593,38624079959530650,386259833741,3862696,3863047,3863223,3863377,386830,38684046470640840,386862,38691562,3869777641731603,3872962339,3873151710,3873633010030742,3875441529290,3875842302,387647391880244350,3877138,387776114096745700,38792893,38796093,387995110595146,3880896203,3881,38819686731185,3882295038972,3882408,38825473344,388279412829920100,3883333,388370292403420700,3884498,3887278096946115,3890053122074970,389132374302295,38920106183,3892131595260846,38928,38948168,389511195117,389520345,3895771431451,3898,3898471319224,38990815528942620,39,39,39,39,39,390153,3901672,3902,39023969346,390260490779825,3903288,390367504109951,3904,390418769137014,39047734783039,3907,39077960522013110,390796,3908107747266079,39082,3908988747,390923,39094288804,391,3910011282023901,391069,391250584383579900,3913619129,39156,3915933047486790,3916621736,39168385311734,391826925082,39187567865,391969531,392174325046621,39218682541346220,3924,3925525867041,392665115,39276712694057250,39292380050372550,3929606335,39307320437,39317,39319,39343107676541,393624,393741515,393796158902396,393863010,39391229075178720,393948,39402590558567,394041873196,3942,39420,394359683190894500,39449774103693,3945,39457630019229670,39471758242,3948617352,3948818388,395,39506329874583,3951,395235,3952862810720,3954964235694604,3956130275331,39568381,3957165829448537,3960044,3960071564495,39603,39623049016751870,3962605412472,396302793655211,3965,39654593531847,39655811493528,396669548424,396873744,3970,3970405936950099,3971022989592349,39721453,397299,397352263012631,39739507,39752158696,39784371836,3979,3981495218997443,39818206310204100,3982472988942759,39825,3983,398305477750,3983732,39855268,39856995,3987126152,398824120068,3989498,39896378209,39913090448280340,399244226305915600,39937562473,3994297441776548,399591937865740,3996035912315068,3996506498,39969598114,3997794110524438,3998224857,3998299760175982,399853801313681,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,40,40,40,40012765084929,400175866979,4002,4003,4007,40070,401,401047340934,40109306586165,401293161856,40130598388996170,401638,401766020927260400,40190881,4020303353255,402269263239721,402373985896518,402392230865,4025898130,4025957227372,4028139,4029,4029971665523,40315037094959190,4032,4033180887,403471583,40348411786784,4034973990980,403632920,403738174090041400,403812365664,403896646,404,40403156450,4040532290233,4043352,40458905427,404612466924,4046444823149,404720800210811,40480830771300,4048411932896,40494585579665656,405007491207,405039356926,40515018,40533121957755030,405452651066,4055100753590,40554186,405574398318,4056232501520,40571265392,40576181137,4060764989,4061284704,4061917315285830,4062302703413506,40634910,40634938743910760,406765399432813,406792378431,4068546747,4069,407,4070332,40715307,4072461903788,40726140123,40742206202284216,407423978,4076,40763236,4076397494,4077822856,40782897846,40786898036243,40791054413,40791210007225400,408163,40820684895,4082705,40838,40844229421,408670054165458,40877988573062120,408871281896,4089358185034,409,409090326878,4091291,40913844,4091391289721979,409166437353435840,409447132844,409489103637,40962964,409640779329,40974741752420,4097608,409835853,41,41,41,41,41,410,41003635297,410168,410191767,41038729341668610,4103973439000,410399,41046112955008616,4105,4105776252301,410607932647573,4107336112360,410799,41106766,411076,4113,41134454,411368603,41147,4114917181317235,41157957176451,4118377963,412,412199,4123521,4127544001157665,4129194,41320403617,413656109682936,41373769,413757,414,414274168851678700,4145179372217,41453509311046170,4147,41474653347345,41490747163,415237,4152700789,4153,41578984753113,415943012,41596888953,415981733978435,416,416064956,416185411648737500,416361581,41636392657363,4164775973944,416629,41668362028,41674805333,4167624071,4167916138,4168900,4169318004088478,4171,417158313563752770,41739,4174,41740191206081,4174251,4175,417551,4178,4178298,417865,4179841229346,418,4181,418141,4181684,418208,418322645,4183337,4185454008339678,41866,41872701736533,418830415,4188863678887,4188972986753,41889790468050,41890879445,4190504987234125,419136620687100100,41915148851584696,41932840,4193528743,419621266870511,41990078409,41990624436609,42,42,42,42,420,42006556706703,420128068,42014753,420177386088284400,4202701711796,42036737584,4204,42049519803,42053726286,4209,421,42100399147144056,421460,421549987397998,42168,421793146182,42180611950185064,42192722447818344,42215496132,4222927657,422403474280104,42283110276667,42307,4230915257443768,4231792757,4233,423414,4237807386,423933634630,424,424076,424103,42453934674,42457054729574,4245764906,42466430352,424949773485384,42503714664817310,4253215,42535684,4253918361,4255809755364,42578554,425842,426,426069251456270900,42611532,42613373345,426215427610281,426381,426540484,426677,4267,4268,4269583181912,4270999736553435,427147032,42731399050652750,427318457392572350,42754809286,427696,4278298708,4279016,4282184,428313921443,42858513803,4286794676218248,4288630954142,42914307696487210,429159961923602000,4292299451,429350372306302,42948594196,42965,4297,43,43,43,43,43,43,43,43,4300549,4301586,430300,430437447905199,43051859,430631993657709,430750002445,4307996,430855,430878279,431,43128227,43147301969,43156280559556,43162,4316212995405,4317031359168,43171371510661,43176003,431939639722657,431959974432,431963118,432,4321579656503,4322629037,43238914669,432482085,4325,432687,4328,4329039842242,43291003076,432933262,43307091129056,4331123,43378343,4338,4340,434035586,43411793748455,4341667211580285,43425178275110056,4346,4346226024,43463818853,43485,435068240770,43514918379178820,4352214835884,435558,43565,43603322664161,43604,436800373613751,4368665770581895,43689580,4370951533,437217468084913,437289078748180,43731349752717656,437418035435859,4374462863878,43787169504,43793829876658,4380869078,438100404196822500,43839217507,438596251,43868778109392,438839339,439,439,4390169911665308,4390891150,439119623762840,439170161149,4393672,439552353804,44,44,44,44,44,44,44,44018910097181620,440199389128803,44024987585638,440512457733848960,440594,4406,44064991036087,44077331379728,440795759,440989,4410212,4411190987680241,441216970570928800,44131,441631784,441890964,441960133646,44215873318704,44235280513606,44238982678,442419445484793,442796,4430845,443134178712,4432,44334703932,4434477634200,4435942703283612,44365816464228950,44368,443905,443999374,44433537,4445122811513166,4445826,4448852478,4450,44517302631426490,44517877436607300,445309786243094,44546631006,44563763761,445672,44568041,4456817043503,445719,4457884175389,445846,446,446020307,4460369406568797,4462761,44645784675614680,4464882660,446508,44655497669,4466,447022064294127,44705011327960,447150,44716550824,44752148776,44754,4476133,44774562,44799658975130,448139919909145,44815689575,44818000770597270,44823392404,4485394,44854979660169,44862673,44865713195,449084082747835700,4496649897659,4499435,449983,45,45,45,45,450,45008,4501,4503252,450357,4505211015892,45054641862748810,45066,4509,451,451154824,4511599096543957,45125432902324620,451342098998512,45136968874206040,451413,4514328855,451481100714,45159,4517047431112,451714,451740976446,4518100690361,45182,4519191,452,4521091167661984,4522,452325,4523417120,452390924,45248755,45255,452586731391,452592238705,453,453,453051490,4530790771832114,453360472899,4535644850530778,45362428393923730,454,45406604571161,45408738475,454194970101375,454424772,4545113358,45481218,45487528067,454903,4549315142,455,4550,455136,455172882000934,45532384152,455518,4555482835820884,455593,455596,4557261312938679,4557992,455831,4559304964990,45593344315992820,455988509354,456,4560,4560120177256776,4560176392,4560272079,45613689317030504,4562,456277785617,45635013,4565530868,45659,4566099188268,45669,45691355,457,4573225,457397092439071,457464,45747540525476,4575512910,45761019,45773479,45783290352007990,45796270992869560,4580038348,4581217711471,45819279837884950,45862,45872222413808,45883349,4588756757709894,458891955,4589819129,459285,459333574938470200,459649893177890,4596693463,4597,45995195715518,46,46,46,46,46,46,46,46,46,4604634,460671609261517,4608708006480530,461,4610176655381854,46107,46119748,46140,4614739124691,46148937065,461784288,462197416,4623,462390074,4624480597,462473817,46261,46266481359821,462804796364402,463007,463096163690718460,46329217404823944,4634405611415,463593729,46361161,46371993186716,4637335727630,46373603326698880,463787886653,463828476,464,464,4640322,46408758,46448632960932,464604699421,4646314,4648178,465,465,4651253568448,46546355,4656,46567347889929,46573406,4659210073801255,466175917092881700,4662842530123528,4663582854,466502,466731929958778240,46679432893,46698890680,467036573257931,46712,46735,467441903457,467785882217797,46788534025,46791607,46798076990760810,46826,4683,46836121661,468472489,468583351544304300,46887173,469,4690175,4690335364833713,46911,4691663346190,4693023263,46958886,46982,4698756321,47,47,47,4700663,4701907,4702,470479,4705,4707665373,47077676,4709,47111,4713513119859181,4713777,4715,4715353,4716,47213806,47214097809,47219413567834984,47223464305607,4729640051,473,47309564,47319305,47320985303,47336716365202,47342,473483357578,473530,473554456809401500,47373426472000,473861134,473866981155813570,4739903055,474,4741150124883852,47496096,475,4752270,47543704348748,475503330,47555,4756105981103594,475869370332730,475910131181916,475950810522,47597,4760907782104,476100750192618200,4762087,47633864,4765998,47662087,47673,476872,4769,477,47716175,47718435,47719294,4777101081,4777271,477777299275011,4778261431029,478,478109183,478358377097020350,47845823690,478500965,478534266419,4786035853,478609,47864679894538450,4786673589513,47868773954,4787497392934000,478901410,479,47914793913368,47921036521943950,47932375796,4797260728931,48,48,48,48,48,48,48,480003331556571500,480584,480597513542,4806982812,48080404679850450,481,481102939272599,4814956,4817,4820495763,482088870377132,48213215143521784,482168457,482228565234752,4823242372,48233978,48234232136,482464636775903,4825,4825901,482715756873649,4827546851,4828447833168771,482874,483025177896,48309,4831361457,483522435058568640,48352412,483525,4835273345687075,483838317661272960,483850718682,484051357,4840969599,4842103450562,484263,4843427144,48448161857127,48459198,484712706957479550,484817347,4853,4853,48533411968998140,4855,485511,4855139691,48588625,4860951333,4860974053166829,48613093,48615,4864213757824712,486422,486476633883,48698,487013621510,4870830508889,48756629545,48757609,4877,48775256053950910,48781002240723790,48783,488,488,488035000399804400,488065217562,4884495402131093,4886,4886289466142,4886835355975,4888399,48898471,489,4891,4895,489545044,4897727011799880,48993456806651,48993864355835070,49,49,49,49,490,4900183,49042254157250,49043094570980180,490521031971673,4906948280538693,4908036338,49135,491529,491913,491926416543327,492,49224800440889544,49232224,4923406844,4923754912428,492377510550,492559240923,492576838268,49272036977831784,492829392427,493,493028954599,493115175896612000,49320939629,49326249,49332054305517976,4933667197722,4935,493587976011419,4936,493722662,49373830141287656,49383664397,4938701568,493915603670,494014077435244,49405256267,49433,494404,494477464,49473026364,494780,494877964072,49489,49491502231974,495,495,495048293145,4951456,495207785370,4953541,49543448,495632,495922184774380500,496,4960,496061943846281,4962266951053,4964098565197,49650235244,49658156,49673016,49673740360,49706108293083160,4972103291516571,49729334350877,49747599608815064,497529364851120500,49793210945,498098,49820761338237,499,49915289,49918,499184559066153400,499213982,4992206912494416,4992603342831240,49944841673,4995,499691957566429,49977230,49996136203611,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,50,50,500,50016525624,5004,5006973969514,5007499412,5008203564850871,50123109966,50147167,50148258,50149,50161405,5016871,5017110384,50181701172944,50184291392,501962227137029,50202,502058201696049,50227449663863260,50245970,5027,50281314,503,5032425177,50344489599745,503474953410293,5040012710565,504368,50458773406226930,50473,50477,504819652347578,5049,5050,505149,5052,505310111152504000,505372092799518,5054094946955405,505489,5055850336290,5056920676875243,505813,50598636746167830,50619703458215,5064,506530095784072,5067240941491,506852581967906400,506864,50699877624517180,507,5070,507044,5070487,5073,5073805,507409939578,5075148,5076,50761580400,5077766664116,5078,5081,50837043963074,50839936138,50851010,508593725637,50873,50883988416,50901386596167130,50910358,50915474645374,50917442512792,50921,5093458657610425,50946,509554003,5098,51,51,51,51,51,51,51,510,5100997709823587,5104059051318,5104359158854,510452062618854,510692,511,51117148457583,51135378805,51148954322575450,511505301393574,5115620161898368,5115622861,51175230827381280,5118862,512,5120186318,5125600376,5128,512961403494,5131,51325058547294,513398,513432940,513799685886,51392,514097,51426128,51427265611477630,5148662130,515214169,5155,51573022424,5158304668441,5158680585,516,5161,51610052511374,51614,51642838,51680959507,517,5172488,5177137,51791967,5180268,518033,5180779788051,51813393450985740,51814785,5181929547466,5183196267,5184,51845296,5186497266768,51870374781,51889246115596,519,51903,5191120494749049,5191435378,5197,5197711019392991,5198627,5198813378102260,52,52,52,52,52,52,52,520,52001,520134723907028,520165,520275853197046,520279132262384,5203289,52046233974756930,52069097250,5207234,52087,521,521,521,5210459418566993,52107078470680,52137094,52162,52196300476456,52210,52263528516242,5226497435325,5227715094803410,522779,522868930681408,5228938299712,5229147241934,5232953,5233,523639936342,523760,523832,523967612581618,52417,5241885438736,5242,524287,52439015224381,52445694,52462933628854120,524809,52503039489474,52514828,525227187,52554475928,52568062767770,52569085,5257,5258,52580181014687,5259,526,5262,5262041694498,5264342,526469,526498224419,5265,526569383317,5266181,5267427,52723880353526090,52742028786320550,528013874768659,5280150270335229,528026386,52813302,5286526766,528760648203197400,528794710769016,5289611,52897607,529,5292199,5293,5296499426,52973432961151016,52982200,53,53,53,53,53,530157081,53029863042116,5305276339614467,530527651965032,530641069283,5307,530851863155200640,5310761679,5313396,53136544559,53156,531680,53171388446144,5319217896,532,532117445,53215129644,53244965390,5325484665953,53261616939121200,532724091650,53288153674698380,53290915,5329428429857988,53298110586320800,53310,53316220,533265,533359018301816,5336841479458091,5337887194161,5337969008083927,53393037487,5341518060381226,534383127510545,534914539340099,53503345,53520106666,5354171384942164,535421780524806,53586818521,5358734270,535922461081123,536,5361366364850,5362231,5366063249080,536607,536663558,536695876979912,537069118836338,537191871063,537206758149952000,537345921,537426550208,5375268643,5376,5377134647,537738321,537817018692700,5381071240,538200872,53875,53880470,538854,539,53901,53918,539340597144,5393697606647030,5394840,53949450337269470,539508084,539811394,54,54,54,54,54,54,54,54,54018,540699664201431,5409905,541060404434,5413089,5419865,542,542,542076797690,542076914,542153081057,54221280533916,5422605760,542369434981,542505336,542595764230588700,54262503458700720,542747817,542955788139543,5433651,54344630435,5435745357566652,543772079309,543786,543886,545026985,545047,54509265712360536,5451984003076,545356425,54548,5454861,5456201528,54563,54604,54611,54676463500278,5473650785,5475586,548,54845989,548760991226017150,5488055,548889,548892254,549,549096870,5494,5496262107628,549699470342107100,54970996938,5497406,5498019963914861,549978014062301,55,55,55,55,550,55012647,5501976,5502,5502341083465355,55037851,550400591669058,5507487147,551,5512012539855,551222183433076,55177964666833576,5519,551952298980931,5519785,552051302775,5522,552293,5524,5524423,55254,55328186409160,553566604390777,5536,5539619,5542841481705,554559,554575318916689,554591938712,5547870,55494321947181990,555,5551039836,5551333,5553685146662561,55588,5561956004698,556342777021,556470427,55655383867795,5568484,55699503545,5571275026461003,5571521970,557223327515723,557259950170948,55748141996,5575243148136,55763759494974,558,558,558037572,558052149122714750,558220728539,55824,558296273759,558391910303770,558398144455217,55849,5585,55866,558704145,558808483959,55898055685721250,559,5593927313884781,5595593869,55969168967324,5597,559784404805352,55990876551,56,56,56,56,56,56,56,56,56,56,560,560187752609630,5602444089772331,56026429843,5602827576366,560305607738353,560876988,561062414181,561256,561373921104110,56141956013290,56194964,56202091086847030,5620561011005,562175536407419970,562630129441503,5627297520387,56289196,56315513152,56328539077,563334834429683,5633936349474,56380,5640692718,564190728446445,56421957,5643042962980,5643080441550700,564455746091787,56456112,56461909907727450,564676964,564710,56485611909733,56496729170227,565,565000,56507067,5652513212359,565458403189,565670074207521200,56567850860830,565900237,566090605114425,566540104511,56656585140,56659283,566606,56675768252163340,56676490546689,5669935203062826,56700504311320,5671948,56726,567886,568081138,5682871947866097,568705826878301,568807,5688147312024,569041184789233,56904587,569177833663945,569281,56977115944155,569799312078351,57,570062,57012665,57061808262,5706453282659,5706597,57067035405082,5707042498744287,570790012422205,571,5710699481006,57119,571292,57161945685543,5719,5719566817616,572,572,572130831548924,5721784743431,57239137347139980,572810841,573,57303750226376160,5730559772,573307,57351148395,57359307887950,57363188,5736801,5737785,5737821,574014,5743,574537,5746,574825738,5748483,574863723656,57504064289965,57541337573,575563,5758312893,57584,576018602408,5761784120566242,5763445,5764385,5765,576551,576565077738170,57671808713139180,57703198863,577042,57704454727248,5777238814713460,577787931184,57786362015,577888447327,5780206878935,578035192302,578166,578398,5785,57885032668262900,5792732958865,57932585,5794403932708,579657437352,57982650942,579827,58,58,5801626594359259,5802543999866,580511707,58074057,58087546219622370,581362241757600,581362961533,581367386456984,5813887114811248,581432,58145030399,5814895954358,58183807702924,58186,582,58216602,582366232185470800,58251,582711206,582801267,5828086377,582826504021,58300759282272520,58324278420140030,583733486,58404,5841,58421,5844611507,5846550086204084,58495807935633,585,585035799217813,58521,5852372211531417,585293120,5863016426432590,5864898644,58652601723,58661813137283,586793579,58682149,5869,5869,587043434982,587110463651005,58717531,58738485200320,5874828102451798,58762809826747,587637,5876423,5877697507590027,5877789169,5878502443983281,5879673,587975058414374,588,58820613363908,58829037865753940,58864,5886472401164091,588772,588820302051,58885,588852911050044,58889160570,589,589,58920128,589239,589388467203,589496016371,589858755587,589978054121729,59,59,59,59,590,590108775,590183371,590393829834,59087083,591,5911514528,5912869665,59140,59148311,591666391411,5918,5919521036105,591975,591999589,592118885697512100,59219831920396890,5924059,59245432401322,592564,59262947,593003374004,59333321378,59350295,593525825776,59358145743075,593642319414,593716636598592900,5938,593934,5940677234340,5941488968109453,594468,59470683182,5949433388528,5949733749228,5950269856,59523791959,59551,59566824294741,596005070810727,5961283639,59618895663,5962250396761,5963015490814,5964103,59658726,596644005,5967531857639860,5968,597059,597142884418,5972,5976343827685,5976615389,5979460091318,5981766542231907,5982954671,5986161895,59866892,5987428235511,598992240745,59923575580259,5992676992413,599348289,59943228428964,599671,5997034,5999,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,60,60,60,60,600,60006705503501704,600147129883,6002011561591927,6003,6003976306919,6004838722732380,6007338705225934,600828169783312,6009,6010,601166082489652,6011772671702466,60118274,60143236531,601535415567282600,602056608871725,602252897457412,602258432005,602530021,602571406923201,602588254729,6028467233,602863595,6029965431,603,60306198869241,60307904601,603503203270361,6038390305291,60386730327,60388714121702720,604037028,6041420755327583,6043,604479199292995,6045888720,604650,6047,60480502,605,605,6051535174743,6052,60531,60557583588849090,6058485312,606207295149579,60625443095833,60634004628,60657324096,606856699354,606879,6070,6071003712730,6074616347,607642719363,60765322050,60771,60793081836,608,60844233056935,6085265436477,609211,60931225517142120,609434,609769,609954374253,61,61,610413992493119,610658684,610681178,61099830325,611,61133489141888060,6114139000,611460,6117915039,6120007913001415,61204976356617400,612370923270429,61255721,612665142,6126773347076,612863,61298765200697,6130455,6131183,613385673889,6133967908,6134401252005344,61354122769994,6135769991,61374550216,6138912952941,614,61401165,6145062077014620,614567,614698110478,614729905,61473793953244,61532155847069060,6156061,61560824991394,616,6160590,616087640150255,6163684479602,6164471637461,6164885066101158,616881884468004400,6170,617312,61731662692335820,617528318215634,6175979798326,6178441121661,618,6180,618270951569993,61852,618520375493349100,61853613057,6193390576996,6196674625,619733376,61986,61992930,61995405,6199721,619987586,62,62,62,62,620,6200364792043,620222,620349989461,62049,62057382568,620579,62063,6208842189540,6208986717784872,6211006117198,6214116390582857,621725380049,622,622013524,6221441128314,6223725088096184,6226863069,622733737964927,62275727391473096,622895457333108,6229224,62293934,62296,6229905259137836,623156627402575,62317,62326526,6233101391,6234,623454171609641,62400881346098424,624066531427,6240888633,62411,624183743872530800,624294347738495,62441,624480610,6245,6250,6251,62518626586834,6252,62542505967645390,6259057,626100106591,6262159904,626300874,6263448097,62684794479022,626872644047578,627,62701721881593,627034436658,6275191968214713,628,628168,62840602,62840624,6289,6292622396,6293115993836970,62934,6294,629509620256057,6296658,62974539888185,629966145949,63,63,63,63,63,63,63,63031,63040577857945,6307,6308124199152,63090296363,63109,63113804,63146968286200,631611584404,63234098,632508574714334,6326,63287881875,63296904975314,63304373653,6331,633158937920,63342,63372,633993895933778,63406340476156920,635558203247693200,63561873536867,6356469998,63579519,636,63655303,63670897,63683663104631660,63744979843674,63746,637699603515,6382509168,6384737,6386711968,638954979,63913338028490,63931,639334181,6398,640023093438130,6400566110,6401807198,64049297275,64057780675,6406,64067005,64081,64135108,6413653310600,641557124265,641579161,6416,6418077914,6420518493818,64224899,642347706893934600,64241744,642621242780,642687209448829,6429400870,6430481021789113,6430987335,6433,64356,643590249354342,64372779,6438798,6438843749,644,644362085076423,64445073216,644903589529,644958552,644977457899,64518354040475220,64527401633688370,6453580350491884,64539,6454816244289,645504,6456178227,64575991986718,64577867,646266018,646325267730423,64636,64645389,646455242325750,64649770931715860,64655018346929230,646557,6465923444,6470206370,647033252144,64721288,647707,6480641321284894,64833227920,6484191382843,6485642350942948,6492349464674678,64938735,64938821343493,6495468813,65,65,65,650,650031992827277,6507121436,65117357,651225693,65127338545,651327,6513831,65163458617,65165038,651907624425,6519123932297271,65193169562,65194292450888090,65230,65237083,65276450088,653,65309,653137805643,65324113890270210,654,654019885966959700,654113102886661,654185354,6543445,654393,65453,6553614,6553916521860972,65577190211684,655874705253420,656,656227193,6563410805413,6566383,6566392890985,6569529,65700658259333090,65754162722,6581121,6581673,658586028008339200,658761,659172068343388,65938603407,6595,659841069,659851871839746,659887955,659910406,66,66,66,66,660177603744956,66052185850383,66064270,661,66118764536711,66151875799466980,66160696696006856,66220235,66224,6624038040413,6624684385564,6624739029,663,663237729529,663434222,66344,66364,66371332149,663929953814,66399121,6640084802155673,6644021277,6644902,6648,66484221697441120,66489710873600,665,665147924875,6651882448956,665534,66566991895,6659795548,665985460545785100,66612,6661639526644,6662994,666479,6668934,667045,6672187211,66732206085308,66765434944547,668038263063,66844396930151,668634,66878,66894273365935,6689466,6691073,66924,669300,669316760,6693544064930,669693442742240,66976819,67,670,67009060373254380,670697,670937844524243,6709525,67096280523,671413,671819987845,671974302616898,672,67213911545,6723817515566,672389,67264325,6726716,6727,6731271272,6735776009999,6738,674,674568462,6746,67478474,675,67510654418998,6753163915086,6757678868598149,6759172,676,67609,6761,676226,6762399,6763,67660,67700,677003043,67711213,6771827848886,677225862,6773482375,6778,67787526650096,677875586739482,6781445961,67829430665266824,6783648,67849080035337,67854287,679,6798405045490,68,68,68,68,680028507112106,68010643983700400,68027147363093,6805,68050884,6811062883026140,68119531677,681246946480456,68125379777623,68138690708,6816,682,6821937333887957,682683938994319200,682760223,6828884490113,683,6839,68414128266735,68438919680040640,68445731308683100,6849405,68496463687684,685189089963908,6856278237398718,685937313779,6860,6863996872,6868376476590,6870880526208035,68784514862340024,68792722620363830,688,688457,68852362371,68992923,69,69,69,69,6900514343332907,6901093551,6901354349,69033,6906596751776,69085841573813,6908805651,690907,691,69127,6918468235,6919525844205310,69202,6921936079732,6925092901386,692515,692565044740633,6938682,69395786047,694076,69491730,69505551260293,69519284830018660,695382077470,695478469082,69564349,696,696065700231349900,69631936,6964916,69669644116,6967504095679,69739,69745041,697886196,698,698,69811871126966230,698186184,69844329765,698597256,698741,698955278,6989932461687,6994439662404,699833,6999,69995,699996150807633800,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,70,70,700243317,70044,700493361995,700558339,70057008625998590,70078265,7009,70116095785,701191639,70204790631118,70218375639,702261565022513,7023269574,70265113881759960,7026651993125231,703203,703302405,7035073755,70367036,7037010105098,7041443596,7043703646,7046013726833582,70493603658411656,7049994,70544,7055170,70574530337,70595052232345,7060,7063328,706336747,70662357670913,706674228894,70674076684255970,70764,70774,7081551,708192393331821,7082405223,70838627202,7087409768,7087953946,709002821150070,7091,7097348235773335,709932105995453,71,7100,71015463507,710430,71064159763,71065339349257,710970834,7118779318,71190570,7120409,71245090,712527651633660,71282075045611096,712830717,71292,713010,7130894549433972,71326,71352,714,714419463815,7145322,714719711285040,7149,715209691,71524784427,715290265,71531022108409080,71571896,716355405486780,7168446395804175,71712,7173987,7175656601,7175698241,71764,71769565,71803707474467020,718138154281,7185,718620,7186342683430,7187813299,719,719,7192,71931609,7194456,719525716,72,72,72,72,72028,7207214512419,720767,7208141638,72093650572312,721,72122222373814020,7212751257735287,721512438031,72157842400225150,721796698,721860194260390700,7219800086072,722205544741415,7223,7225359494146,7225851127249,722663288,722761125902136,72276440731,722813900077,7228204,72298,7232012780119,72328408630,72343434030961970,723781922451,7248976456213,72511896,7260364952081049,72604837107351,72613326884235760,72613703917360,7262,72674,726744956940,726989944,72715175965206000,7273,72778917665076130,728107398909933,728226957241932,728718021728632,7289511377,7293088782675,7294713165742,7298838955843810,7299372828,73,73,730271,7303575383885555,730587933459204,731,73115587114,73178640214366,731867290,73192937369,732002,73224043662647,7323151,73235,732628440,73267346613937380,733778868,734184650781371,7343199106988875,7348804,735319945,735490627352,73571251872517,735750666,7358217954,736,73613889170,73621,73670331,736798,737064929,7370740570005,73741,737487100738009,737891501983671,73790770238,7380138,7383158590278,7383986,7384330,73868326745,739118701663,739261,73984,739978,7399886718197,74,74006391349095800,7402442,740434927305668,740559,74065,74071453367119,7408755842,740905846288,741,741,74126251907,741443,741483191,7419467065,742,742,742903459,74293068,74326440384086900,743495097286,74359689,74366,7437213621346,7437584685,74402310902,74424915126,7448394665477847,745245,745378,745545,745562366,745671311,7456745666926887,74578348844424880,746,7460,746171035309,74634434,74652991694,746761049,7467983691457746,74681438412,746997599973,747,7470526380,7472,747312071520323,7476892263,747956944706223,7480297219886980,748937,749080,7492063395206928,7492380145,74924147230214,7493073918434,749363121,7497069421361025,7498007829,749824740,75,750223015891914,75055141036,7506242,7512484801180,751307661532,751372098117590100,752,7523071817402,7525350447934458,7525426,75255,75273657110194,753056987357,7531805007030505,7532003,7542181523,75427180216,754328901272550800,754439512,754458031738779000,754554538427523800,755100002362704,7553679,755488792158991,756206141471,7562132,75656500,75674263425121,756959751,75731482875,75776,75788185265,75797930835,7584413,7584824,7585,75851683103621,758597184626,7586727,759216039062,759368990894534,75965750626849000,759931632792,759995944,76,76,7601452,760177097870289,760476,7605005470,760656326600070,761050338554,7611,761725937730864,76188980074,7624,76241174681,762456,762478919668130,76259329,76260,763,763117738,7634,76460235886483,76522685699,76546036195040220,76559842332610720,76590837,76594724874636,766,76666161,7668392,7672138781094437,767282646521,76740197,767411378045,76748885096,767617,76768817972468,767908221886172,7679610,768324269114957600,768649,768717301,7689,7690638200,76933328,7695326075,76966556263941010,769737091,77,77,770,77013203,7701399,77037291683470780,7704170358729,771194,771619853,772074559385,772149099284,77229566641887,773674194189693,77434,774586,77535338361491,7756167835,7757,7757958372308,7760173701,7763799889695,777095896406,77716895429,77729,777364,7776159712,778023172,778049,77806865250112980,778100557992,7782243374,77823705883131,7783643079965,7784078054747476,7784578566,77871025760223,779,77901590120445,77917971231777900,779539609827,779814767286,779918113312678,78,78,78,780,7800145,78010108,78071,78086900918952110,7808774752,78118382,7814696,7815686698655102,781800,78192057643158720,782,7826889,783,78308203788388290,783098,783480,7836,7841936604664,784227589,78444517033,784500016,78459171004427,78515334962377300,785174705507615,7851918,7854305952,78570019875177,785732,7860,7861135015347774,78614310,7862414886,786292037,786501,7866124588,7868900609,7869985448422,7871514703188314,7876,78760850,787683038156694,787761,7879797381642472,788134903727407900,7882,7882,789,78910125,789337821,79,79,790,79012573,791,79142,79167093,791687228722518,7918294,792350582681116700,7929,79296048461925570,793073127,793275310,7933919126180808,79345547090959400,793533488,793689401,794973568,795,7955,79587149071,796,79613209467,79619496826,79627387992179440,7966574004,7970171326500,7971964112642532,797393628643365,7974508110997279,79754148655883,797896184,79901258,7991413,79930983098833220,799367384,7996704954687149,7998293591,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,80,80,80,80002091248148,8000830,8002186733715585,80028,8008,801,801,801,801417,8016,8016472331,8023,802404,803,803,8031706,8034,8038721899533603,804,8040558231522,8042059856998550,8042699482,80470956274042,8052087,805231290177743,8054,806,8063220656,8074045088,80770012,8078781354135,8079797243146226,8080543947,80813003900,80849023774,80857029260238,80878184499968640,8088106,80977957716009780,81,81,8103521,81064,81066975,81079514591,811324375183003300,81142950829,81155297159,81168279992,8117,8118,81183205,8122218196441,8124,8124929,81249431591202,81255132729588430,8128245240,8128851092,813122759611,8133367103882017,81387991,8139852095,81507415088,815273,81527933,81539674104253,81545,81563007851,815792,8158652734536217,81592090520080,815952,816,81655,81694495558,817227663,81747796606847820,8179153478358,818062,81831107345541420,81871706132,8187555,8189,8190478154007786,81906526455374560,819269,819823072,82,82000153912643100,82008902612,8201761419,820329336504643,820464180,82101847225013280,8210532294,82109964,8212,82127141873,82171,8218366,82192162406220380,82234289010089,822347,8224030115,822723322941942500,823,82315,823354257380417,8238258020,824,82400302828,8241310467,82504110809426620,825236,82528895743035,82530105,825407207354910,8254278817,82575004589,8258246,8263,82634637277408080,826375,826378585295,8265,826515128,8266462057878,826774345175,8270600775345,827061336337,827780682,82801418,828295916351523,8287305440345,828840392407570,82899370901058,829134041,8294063043305745,8294448093703,829803,8298790291523782,83,83,8305,83060012649942,83075660,8308067590963248,8308290659,83089746728182,83099528487567,831,831,83137593949178500,83143535486642,83145377,83146614741448270,8317261549544494,832236892671792,83225474222005710,8322664298742829,8323285,8335043216381,8336927731,8339,833939565,8339960013282,834,8340936,83449508040387,834497842,8347882074697563,8350111151530814,8353689416007,83538214719466,83561562617145,8360039307046,8360980,8364981950375,8367245268490853,83702072683,83707,8379,83815942311723,8382409247761,838461452120699,8387575,8388264338290370,838856,83923859424,839536974,839556353645723,8396385610,8397758824802,839787433742,8399038863024681,84,84,84009093,84076043825786,84090466,8411152506207,84175104563082,841901997772956,842072356,84306309313,8438,843973549433012,844,8442299791544591,84433257636,8446544336346335,84472916,844871446799188600,8450267,84533582666260,8455786298651,8456191,845658877,84589821183853,84605,84608534335679440,84632144475478,8464475438,8465,8465613181638,84680134737089,846824694959418200,84692208196766770,847,847,847,84752267726885730,847988,848059259,84810746004697,8484,848466456197343,84850,848654926,8488867103601,8489,848983333595,8492785,84969,84975627,8499709286701,85,85003644519692,85012244,8502655200,85058708933160140,85073982,8508,85157036537,85204178065790260,85296670067,85297,8529742607276796,85302439604,853390845,85361573941389,853741,8537442600341163,8538448774357,853942586,8540699042,854152229,854230,8544143,85465212891572930,8546948,854937,855148593185578,855200415887,85523,8553329,8553868721171216,85574254920742,8558286334,8562090759,85704091093,85720263551,8577357885,858021889849,8582075563173730,85843737054,858502129872,85956335,8595849844,85984,86,86,86,86,860,860054013543665,8600570973251507,8603416705079723,8604,8605985682,86156768962,861602334983476,8617056565467863,8620605061495,86258558,862700,86278907,862910842,86299,863129547815,863594082406066,86365670661950320,86376949782,864404,8646254305190,86481644251,865,865047367,865098887831685,865243000116,865325682355,8653412153929457,8656192634,86580,865859520,86632406964537,8663348,8665,86651356808270,8665480036,86660948117,867009366,867723373530,86814,868944230289282,869,86929781873183780,869331,86949960155874940,86964990190,87,87,870276958,87036,87068936467,870931146,870962,871239,8712588164007,871544779256370,871756838766050,871870,87194734668,8721362520,87248231987024,87272686,872889590499304,873133559376589800,87330671,873753060293642,8738433303509336,874,8744228620,874542809793,87466,8748347354518,875,875029,8753062946908,8755989262710,87562043541555,875792003226,8758,876,87602090706,87635732373,87739,8775081709582,8775917,8776200587974071,87773004595817920,8778173,8778232,878,878,8785742116995289,878596,87874,879,88,8801763444043289,880286467,88088,88109512565090,881189739234664,88123,88174,8828,8835202507587,8836392133993684,88396749272090530,884047,884114000760,8844803413361925,885,88502,885287647691,88548,8858397586169148,8866889,8867590,8869480541592,887,8870311902458118,8871444,88720711323002,888,888309,888715355062,88873048860833000,88881,8888250071394266,88911981174,8892,89,89,890700307679231,89079071143,891004,89101707,89111067234786430,891332637409,8914249147,891696425054899,891915091336131,8924496927,8925,89262468024,89285793800,893,89317002,8937060360,89385645422727,893863184068654,894093,894193546563822,89449115,8945762,89463,8951140,8951427386399,895196774181079,89534,89570971884108,896,8961,8961529,89647163400,8966517,89696280662,89719134,8975391326477,89760186522633740,8979924985574,8986718051823711,89897368,8991870,8998,899816,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,90,90,90,90,90,900,90007925707911,9002955,90034338678,9010628241959,901393,90154369460,901999797,90204322323628900,902472389972358,90250,9029583889511,903188,90342404845159,90414437721477,904699167,90473,905148427,90563391127,905676282530174,905933431,906,906,90603,9067468,907,90720329176,907271970057,9072954761113054,90732340009,9076,9078789139427,9087193962164,9090,909179730145,90924387112242160,909405532,9096689640976,909728,909759,91,91,910,91010,91030,9105302657486,91066028,911,9111677767813,9114960355610874,91169818655103,9119745636058,912065206,91342,913503517,9136,9140438907968,9143,914302096729066,914337305320437,914630095928931,9155979789136546,915802264574216,916069682,91717302144632050,9174186922659908,9181127,91825589757083,9191256536792512,919175318,9195243,919585007403224,919623,9198,91986,91990245626191,92,92,9203950221527,92041,92046986,9205681943212,920742,9210026357891,9212245,921913,921954396135673,921964182,9229,9229406,923,9230077374,9232,9233255729417432,9234483337520462,92360823487780350,924,9241314450708972,9244630343510,92446668460271,924716495,92484366707,924923136152865,925136638056,92514,92529202364,9256173949210,92569315523419,9260,9261249156201966,92650763,9267926,927065862882829,9275,92770,9278076243387288,92830080366757,92868370932,928844132365739,929204756,92961693,9296810217260238,93,93,9303592626003742,93038355,930454292200551,9304837281989402,931616124322654,932,93205958750,9320790749,932137529569126,93285827502,9329053320,9329719340285,93305621904067000,93317208300795,93392749202,93402423404391180,934245194,9342759562,9345214,934604646,93551554689,93552195,93587412,935987554904669,936158793,9362034175898914,93704775,93707219231870,93726880101075,93733267439658610,93739928536502,9374664,9374738,9375130990681632,9376689114583,93777431,9378315153739,938284999884784,93828806,93830316524427,9383303621501008,9384,9389993843,939171,93954180,939779564431669,93979344,94,94,94,94,94,94,940116429158506,9408091,94097261787,941279611,9418,942,94217943256781,942207201645864,942325958982570,9424317563510346,9424772293025,942523,94271,943128,944331164281,945052888,94512888854941360,945520,945828393,946,946040,946075182426,94617,9462958793049336,9466305825870,94673647693,946756613432930,9469,946957766853,947180113383,9472724308338816,947685410,94770391239145220,947712487,9478171413,948047287,9480686,94830905342360,948436230900,9488053556,9489209,9494935040,94957903,9499847,95,95034454,9508871079568,9510979945332,951184880,95154251557321,952424808593,9525669,952746064183891,953,9531209311,953238356574,953279,9543491248,9545920431630,954749,95482107826653900,955,955453874,955503535,95603594,956310603338637,9574025,95742698882,957976553202,95816632094,9583841905355368,9586,959068420772746,95976351,959984,96,96,96,9603484,9604,960530,96077056,96144418615,961636136639075,9619546,962,96206,962803,963,96323291505239060,96389726,964033,96405382,96427582,9647792838859,96490,96537,965473707703328,9657457551,966952737103850,96708319216209710,9673314893,96807669616349,968430822273796,96844258,96890,969433076,969678737452,969858831,97,97,97,97,97,970,970,970113,97021594,9709790604,970980334527,97142,972368,9725,9726955460264,972720979930,972952004849,973,9731,9734,9734713611,973539133084818,97358293964090,9737922595,9739674966,974,9742101727287,9742840324158756,974329060146836,9744133,97491,975,97512276,9751767495,9755585,976,97613675198,977,97735,97742,9774888,9775735,97813059,97830728532,9789,97894476422,9789457,9794903980658878,9797288915,97995553520624,98,9802613238767,980419,9814566,9819726642,9822,98235103196,982504822,98258291,98258401323350020,98320229,983368119291,98357,983584879,984253405128,9842905491364,98432084665,9853,9853171517776,98543109383712,985512597,9856013,9856273902,985784954,9861,9862720593,9871225319304,98808037862980560,988457695151339,988682,9889023983623,98899580544,98956081411366,989727,9897883060987092,98993591783362,99,99,99,99007117824024370,99024555,99027184,990539906,9908554625802,990875959,991922,99249578589403570,992594346,992672,992908495815,993547,9935877,99383240566,9939758326862,994,9944,9944894,99476427733225,9948,995551,9957357293,9959885943,99636245713099730,99676805,997,997371,99745433173173,99777803,99783,998,9982547751751,99895033,999] diff --git a/src/data-structures/hash-maps/hashing-offset-test.js b/src/data-structures/hash-maps/hashing-offset-test.js new file mode 100644 index 00000000..e811b4a1 --- /dev/null +++ b/src/data-structures/hash-maps/hashing-offset-test.js @@ -0,0 +1,70 @@ +const assert = require('assert'); + +/** + * Calculates polynomial hash code that maps a key (value) to an integer (unbounded). + * It uses a 20 bit offset to avoid Unicode value overlaps + * @param {any} key + * @returns {BigInt} returns big integer (unbounded) that maps to the key + */ +function hashCode(key) { + const array = Array.from(`${key}${typeof key}`); + return array.reduce((hashCode, char, position) => { + return hashCode + BigInt(char.codePointAt(0)) * (2n ** (BigInt(position) * 20n)); + }, 0n); +} + +/** + * Compression function: maps an arbitrary integer to integer in the range of [0… BUCKET_SIZE -1]. + * @param {BigInt} hashCode + * @param {Number} size bucket size + * @returns {Number} array index + */ +function compressToIndex(hashCode, size = 10) { + return parseInt(hashCode % BigInt(size), 10); +} + +/** + * + * @param {*} key + */ +function hashFunction(key, size = 10) { + return compressToIndex(hashCode(key), size); +} + + +function printHash(el) { + const code = hashCode(el); + return { s: el, v: code.toLocaleString(), hex: code.toString(16), hashFn: compressToIndex(code) }; +} + +// similar ending +console.table(['00', '10', '20', '30', '40', '50', '60', '70', '80', '90'].map(printHash)); +// similar start +console.table(['10', '11', '12', '13', '14', '15', '16', '17', '18', '19'].map(printHash)); + +console.table(['@', '#', '#!', 'stop', 'pots', 'Ca', 'DB'].map(printHash)); + +// all different +// console.table(['cat', 'dog', 'rat', 'art', 10, '10', {a:1}, '😸', '🐢', '😸🐢', '🐢😸'].map(printHash)); +// console.log(hashCode(Array(1500).fill('😁').join(''))); +// console.log(hashFunction(Array(1500).fill('😁').join(''))); + + +// function test(){ +// return 1n + 2n; +// } + +// test(); + + +// hashCode(10); //=> 97 +// hashCode('10'); //=> 97 + +assert.notEqual(hashCode(10), hashCode('10'), 'Hash code should be different with different types'); +assert.notEqual(hashCode('10string'), hashCode('10'), 'Hash code should be different with different types'); + +hashCode(10) === hashCode('10'); //=> false +hashCode('10') === hashCode('10string'); //=> false +hashCode('art') === hashCode('rat'); //=> false +hashCode('πŸ˜„') === hashCode('πŸ˜„'); //=> true +hashCode('πŸ˜„') === hashCode('😸'); //=> false diff --git a/src/data-structures/hash-maps/hashing-prime-test.js b/src/data-structures/hash-maps/hashing-prime-test.js new file mode 100644 index 00000000..1434d65e --- /dev/null +++ b/src/data-structures/hash-maps/hashing-prime-test.js @@ -0,0 +1,67 @@ +const assert = require('assert'); + +/** + * + * @param {*} key + */ +function hashFunction(key, size = 10) { + const primeNumber = 1327144003n; // 2 ** 77232917 - 1 + + const hashCode = Array.from(key.toString()).reduce((hash, char) => { + return (hash * primeNumber + BigInt(char.codePointAt(0))) % BigInt(size); + }, 0n); + + return parseInt(hashCode, 10); +} + +// function hashCodeJava(key) { +// let h = 0; +// const value = key.toString(); +// const length = value.length >> 1; + +// for (let i = 0; i < length; i++) { +// h = 31 * h + value.codePointAt(i); +// } +// return h; +// } + +function printHash(key) { + return { s: key, hashFn: hashFunction(key) }; +} + +// similar ending +// console.table(['00', '10', '20', '30', '40', '50', '60', '70', '80', '90'].map(printHash)); +// similar start +// console.table(['10', '11', '12', '13', '14', '15', '16', '17', '18', '19'].map(printHash)); + +// console.table(['@', '#', '#!', 'stop', 'pots', 'Ca', 'DB', 'polygenelubricants', 'Pneumonoultramicroscopicsilicovolcanoconiosis'].map(printHash)); + +const size = 5100; +console.log(printHash(Array(size).fill('😁').join('')).hashFn); +console.log(printHash(Array(size).fill('1').join('')).hashFn); +console.log(printHash(Array(size).fill('A').join('')).hashFn); + + +// all different +// console.table(['cat', 'dog', 'rat', 'art', 10, '10', {a:1}, '😸', '🐢', '😸🐢', '🐢😸'].map(printHash)); +// console.log(hashFunction(Array(1500).fill('😁').join(''))); + + +// function test(){ +// return 1n + 2n; +// } + +// test(); + + +// hashCode(10); //=> 97 +// hashCode('10'); //=> 97 + +// assert.notEqual(hashCode(10), hashCode('10'), 'Hash code should be different with different types'); +// assert.notEqual(hashCode('10string'), hashCode('10'), 'Hash code should be different with different types'); + +// hashCode(10) === hashCode('10'); //=> false +// hashCode('10') === hashCode('10string'); //=> false +// hashCode('art') === hashCode('rat'); //=> false +// hashCode('πŸ˜„') === hashCode('πŸ˜„'); //=> true +// hashCode('πŸ˜„') === hashCode('😸'); //=> false diff --git a/src/data-structures/hash-maps/hashing.js b/src/data-structures/hash-maps/hashing.js new file mode 100644 index 00000000..7ef252a8 --- /dev/null +++ b/src/data-structures/hash-maps/hashing.js @@ -0,0 +1,82 @@ +const primes = [31n, 33n, 37n, 39n, 41n, 101n, 8191n, 131071n, 524287n, 6700417n, 1327144003n, 9007199254740881n]; + +function doubleToLongBits(number) { + const buffer = new ArrayBuffer(8); // 8 bytes for float64 + const dataView = new DataView(buffer); + dataView.setFloat64(0, number); // set as float64 + return dataView.getBigInt64(0); // read as long int (BigInt) +} + +function hashNumber(number) { + const bigInt = doubleToLongBits(number); + return bigInt > 0 ? bigInt : ((2n ** 63n) + (bigInt * -1n)); +} + +/** + * Polynomial hash codes + * @param {any} key + */ +function hashString(key) { + return Array.from(key.toString()).reduce((hash, char) => { + return (hash * 33n) + BigInt(char.codePointAt(0)); + }, 0n); +} + +function hashCode(key) { + if (typeof(key) === 'number') { + return hashNumber(key); + } + return 2n ** 64n + hashString(key); +} + +function hashIndex({key, size = 16} = {}) { + // return hashCode(key) % BigInt(size); // modulo size + + // Multiply-Add-Divide (MAD) compression + const p = 524287n; // prime number larger than size. + const a = 8191n; // random [1..p-1] + const b = 0n; // random [0..p-1] + return ( (a * hashCode(key) + b) % p ) % BigInt(size); +} + +module.exports = { + hashCode, + hashIndex +} + +/** + +function prepareToPrint(key){ + return { key: key.substring ? `${key.substring(0, 10)} (${key.length})` : key, hashCode: hashCode(key), hashIndex10: hashIndex({key, size: 10}) }; +} + +const res = [-2, -1, 0.5, 1, 2, 3, Math.PI, Number.MAX_VALUE, 2.7976931348623157e+308, 17.976931348623156e+400, + '😁', + 'hola', + '@', '#', '#!', 'stop', 'pots', 'Ca', 'DB', 'polygenelubricants', + 'Aa', + 'BB', + 'aoffckzdaoffckzdatafwjsh', + 'aoffckzdaoffckzdbhlijevx', + Array(50).fill('1').join(''), + // types + {a:1}, + 1n, + 1, + '1', + function a() {return;} + ] + .map(prepareToPrint); + +console.table(res); + +const res1 = [ + Array(1500).fill('1').join(''), + Array(1500).fill('😁').join(''), + // Array(1500).fill('z').join(''), + ] + .map(prepareToPrint); + + console.log(res1); + +// */ diff --git a/src/data-structures/hash-maps/hashmap.perf.js b/src/data-structures/hash-maps/hashmap.perf.js new file mode 100644 index 00000000..febfeb72 --- /dev/null +++ b/src/data-structures/hash-maps/hashmap.perf.js @@ -0,0 +1,59 @@ +const HashTable = require('./hash-map'); +// const asciichart = require ('asciichart'); +// const { Series } = require('pandas-js'); + +const dict = new HashTable(); + +const keys = []; +const values = []; +for (let i = 0; i < 1e1; i++) { + keys.push(makeid()); + values.push(parseInt(Math.random()*1e2)); +} + +console.time('SET'); +for (let i = 0; i < keys.length; i++) { + dict.set(keys[i], values[i]); +} +console.timeEnd('SET'); + +console.time('GET'); +for (let i = 0; i < keys.length; i++) { + const val = dict.get(keys[i]); +} +console.timeEnd('GET'); + +// distibution +const usage = dict.buckets.reduce((array, el, index) => { + array[index] = el.length; + return array; +}, Array(dict.buckets.length).fill(0)); + +console.log(usage, dict.buckets); + +const ds = new Series(usage); +console.log({ + length: usage.length, + max: Math.max.apply(null, usage), + min: Math.min.apply(null, usage), + count: ds.length, + mean: ds.mean(), + std: ds.std(), + variance: ds.variance(), +}); + +// console.log({elementsByBucket}); +// console.log (asciichart.plot(elementsByBucket)); + +// Helpers + +function makeid() { + const text = []; + const possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789Γ±Γ₯Γ©πŸ˜πŸ––1234567890!@#$%^&*()_+{}';<>?"; + + for (let i = 0; i < 5; i++) { + text.push(possible.charAt(Math.floor(Math.random() * possible.length))); + } + + return text.join(''); +} diff --git a/src/data-structures/hash-maps/stats.js b/src/data-structures/hash-maps/stats.js new file mode 100644 index 00000000..5275dcfb --- /dev/null +++ b/src/data-structures/hash-maps/stats.js @@ -0,0 +1,108 @@ +/** + * Related: + * https://github.com/numbers/numbers.js/blob/master/test/statistic.test.js + */ +class Stats { + constructor(serie = []) { + this.serie = serie; + } + + set serie(serie) { + this.originalArray = serie; + this.sortedArray = serie.sort((a, b) => b - a); + this.evenSet = serie % 2 === 0; + this.oddSet = !this.evenSet; + this.length = serie.length; + this.middleIndex = parseInt(serie.length / 2); + } + + get serie() { + return this.sortedArray; + } + + count() { + return this.serie.length; + } + + sum() { + return this.serie.reduce((sum, el) => sum + el); + } + + /** + * The mean is the average of the numbers: a calculated "central" value of a set of numbers. + * + * add up all the numbers, then divide by how many numbers there are. + */ + mean() { + return this.sum() / this.count(); + } + + /** + * "middle" value + */ + median(array = this.serie) { + const sortedArray = array.sort((a, b) => b - a); + const count = sortedArray.length; + const middle = parseInt(count/2); + if (count % 2 === 0) { + // even + return { + median: (sortedArray[middle] + sortedArray[middle - 1]) / 2, + medianIndex: null, + }; + } + // odd + return { + median: sortedArray[middle], + medianIndex: middle, + }; + } + + /** + * A quartile is a type of quantile. + * The first quartile (Q1) is defined as the middle number between the smallest number and the median of the data set. + * The second quartile (Q2) is the median of the data. + * The third quartile (Q3) is the middle value between the median and the highest value of the data set. + * + * Use the median to divide the ordered data set into two halves. + * If there are an odd number of data points in the original ordered data set, include the median (the central value in the ordered list) in both halves. + * If there are an even number of data points in the original ordered data set, split this data set exactly in half. + * The lower quartile value is the median of the lower half of the data. The upper quartile value is the median of the upper half of the data. + */ + quartile() { + const { medianIndex, median } = this.median(); + let q1; + let q3; + + if (this.evenSet) { + // even - split half + q1 = this.median(this.serie.slice(0, this.middleIndex)).median; + q3 = this.median(this.serie.slice(this.middleIndex)).median; + } else { + // odd - include the median + q1 = this.median(this.serie.slice(0, medianIndex + 1)).median; + q3 = this.median(this.serie.slice(medianIndex)).median; + } + + return { + '25%': q1, + '50%': median, + '75%': q3, + }; + } + + describe() { + return { + count: this.serie.length, + mean: 0, + std: 0, + min: 0, + '25%': 0, + '50%': 0, + '75%': 0, + max: 0, + }; + } +} + +module.exports = Stats; diff --git a/src/data-structures/hash-maps/stats.spec.js b/src/data-structures/hash-maps/stats.spec.js new file mode 100644 index 00000000..d1f66746 --- /dev/null +++ b/src/data-structures/hash-maps/stats.spec.js @@ -0,0 +1,41 @@ +const Serie = require('./stats'); + +describe('Stats', () => { + describe('#median', () => { + it('should work with odd array', () => { + const s = new Serie([1, 3, 3, 6, 7, 8, 9]); // 7 + expect(s.median()).toEqual({ + median: 6, + medianIndex: 3, + }); + }); + + it('should work with even array', () => { + const s = new Serie([1, 2, 3, 4, 5, 6, 8, 9]); // 8 + expect(s.median()).toEqual({ + median: 4.5, + medianIndex: null, + }); + }); + }); + + xdescribe('#quartile', () => { + it('should get quartile with odd dataset', () => { + const s = new Serie([7, 15, 36, 39, 40, 41]); + expect(s.quartile()).toEqual({ + '25%': 15, + '50%': 37.5, + '75%': 40, + }); + }); + + it('should get quartile with even data set', () => { + const s = new Serie([7, 15, 36, 39, 40, 41]); + expect(s.quartile()).toEqual({ + '25%': 25.5, + '50%': 50, + '75%': 42.5, + }); + }); + }); +});